[MacPorts] #44705: fswatch @1.3.9 submission

MacPorts noreply at macports.org
Tue Aug 19 13:46:22 PDT 2014


#44705: fswatch @1.3.9 submission
------------------------------------+--------------------------------
  Reporter:  enrico.m.crisostomo@…  |      Owner:  macports-tickets@…
      Type:  submission             |     Status:  closed
  Priority:  Normal                 |  Milestone:
 Component:  ports                  |    Version:  2.3.1
Resolution:  fixed                  |   Keywords:
      Port:  fswatch                |
------------------------------------+--------------------------------

Comment (by cal@…):

 Oh well, it doesn't seem like fswatch works at all on 10.6; it seems to
 require APIs that were not present until 10.7:

 {{{
 /opt/local/bin/clang++-mp-3.4 -DHAVE_CONFIG_H -I.   -I/opt/local/include
 -pipe -Os -arch x86_64 -stdlib=libstdc++ -std=c++11 -Wall -MT
 poll_monitor.o -MD -MP -MF .deps/poll_monitor.Tpo -c -o poll_monitor.o
 poll_monitor.cpp
 mv -f .deps/event.Tpo .deps/event.Po
 /opt/local/bin/clang++-mp-3.4 -DHAVE_CONFIG_H -I.   -I/opt/local/include
 -pipe -Os -arch x86_64 -stdlib=libstdc++ -std=c++11 -Wall -MT
 inotify_monitor.o -MD -MP -MF .deps/inotify_monitor.Tpo -c -o
 inotify_monitor.o inotify_monitor.cpp
 mv -f .deps/inotify_monitor.Tpo .deps/inotify_monitor.Po
 mv -f .deps/monitor.Tpo .deps/monitor.Po
 mv -f .deps/fswatch_log.Tpo .deps/fswatch_log.Po
 mv -f .deps/path_utils.Tpo .deps/path_utils.Po
 fsevent_monitor.cpp:49:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemCreated'; did you mean
 'kFSEventStreamEventFlagUserDropped'?
   flags.push_back({ kFSEventStreamEventFlagItemCreated,
 event_flag::Created});
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     kFSEventStreamEventFlagUserDropped
 /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3:
 note: 'kFSEventStreamEventFlagUserDropped' declared here
   kFSEventStreamEventFlagUserDropped = 0x00000002,
   ^
 fsevent_monitor.cpp:50:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemRemoved'; did you mean
 'kFSEventStreamEventFlagUserDropped'?
   flags.push_back({ kFSEventStreamEventFlagItemRemoved,
 event_flag::Removed});
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     kFSEventStreamEventFlagUserDropped
 /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3:
 note: 'kFSEventStreamEventFlagUserDropped' declared here
   kFSEventStreamEventFlagUserDropped = 0x00000002,
   ^
 fsevent_monitor.cpp:51:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemInodeMetaMod'; did you mean
 'kFSEventStreamEventFlagUserDropped'?
   flags.push_back({ kFSEventStreamEventFlagItemInodeMetaMod,
 event_flag::PlatformSpecific});
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     kFSEventStreamEventFlagUserDropped
 /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3:
 note: 'kFSEventStreamEventFlagUserDropped' declared here
   kFSEventStreamEventFlagUserDropped = 0x00000002,
   ^
 fsevent_monitor.cpp:52:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemRenamed'; did you mean
 'kFSEventStreamEventFlagUserDropped'?
   flags.push_back({ kFSEventStreamEventFlagItemRenamed,
 event_flag::Renamed});
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     kFSEventStreamEventFlagUserDropped
 /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3:
 note: 'kFSEventStreamEventFlagUserDropped' declared here
   kFSEventStreamEventFlagUserDropped = 0x00000002,
   ^
 fsevent_monitor.cpp:53:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemModified'; did you mean
 'kFSEventStreamEventFlagUserDropped'?
   flags.push_back({ kFSEventStreamEventFlagItemModified,
 event_flag::Updated});
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     kFSEventStreamEventFlagUserDropped
 /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3:
 note: 'kFSEventStreamEventFlagUserDropped' declared here
   kFSEventStreamEventFlagUserDropped = 0x00000002,
   ^
 fsevent_monitor.cpp:54:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemFinderInfoMod'; did you mean
 'kFSEventStreamEventFlagKernelDropped'?
   flags.push_back({ kFSEventStreamEventFlagItemFinderInfoMod,
 event_flag::PlatformSpecific});
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     kFSEventStreamEventFlagKernelDropped
 /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:310:3:
 note: 'kFSEventStreamEventFlagKernelDropped' declared here
   kFSEventStreamEventFlagKernelDropped = 0x00000004,
   ^
 fsevent_monitor.cpp:55:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemChangeOwner'; did you mean
 'kFSEventStreamEventFlagRootChanged'?
   flags.push_back({ kFSEventStreamEventFlagItemChangeOwner,
 event_flag::OwnerModified});
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     kFSEventStreamEventFlagRootChanged
 /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:344:3:
 note: 'kFSEventStreamEventFlagRootChanged' declared here
   kFSEventStreamEventFlagRootChanged = 0x00000020,
   ^
 fsevent_monitor.cpp:56:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemXattrMod'
   flags.push_back({ kFSEventStreamEventFlagItemXattrMod,
 event_flag::AttributeModified});
                     ^
 fsevent_monitor.cpp:57:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemIsFile'
   flags.push_back({ kFSEventStreamEventFlagItemIsFile,
 event_flag::IsFile});
                     ^
 fsevent_monitor.cpp:58:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemIsDir'; did you mean
 'kFSEventStreamEventFlagUnmount'?
   flags.push_back({ kFSEventStreamEventFlagItemIsDir, event_flag::IsDir});
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     kFSEventStreamEventFlagUnmount
 /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:372:3:
 note: 'kFSEventStreamEventFlagUnmount' declared here
   kFSEventStreamEventFlagUnmount = 0x00000080
   ^
 fsevent_monitor.cpp:59:21: error: use of undeclared identifier
 'kFSEventStreamEventFlagItemIsSymlink'
   flags.push_back({ kFSEventStreamEventFlagItemIsSymlink,
 event_flag::IsSymLink});
                     ^
 fsevent_monitor.cpp:128:32: error: use of undeclared identifier
 'kFSEventStreamCreateFlagFileEvents'; did you mean
 'kFSEventStreamCreateFlagNoDefer'?
                                kFSEventStreamCreateFlagFileEvents);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                kFSEventStreamCreateFlagNoDefer
 /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:237:3:
 note: 'kFSEventStreamCreateFlagNoDefer' declared here
   kFSEventStreamCreateFlagNoDefer = 0x00000002,
   ^
 12 errors generated.
 make[1]: *** [fsevent_monitor.o] Error 1
 make[1]: *** Waiting for unfinished jobs....
 }}}

 The compiler change was correct and worked, but there are other problems.
 I'd just disable building `fswatch` on all platforms earlier than 10.7:

 {{{#!diff
 Index: Portfile
 ===================================================================
 --- Portfile    (revision 124133)
 +++ Portfile    (working copy)
 @@ -25,3 +22,13 @@
  checksums           rmd160 929cf38c072ed3c5843bc08fd125d0697fecf6f9 \
                      sha256
 f3e37317155dac122ebc4efef9236f273d03e85051bb2e63198ab5453b0a8c34
  use_zip             yes
 +
 +platform darwin {
 +    # Doesn't build on SL due to missing APIs, see #44705
 +    if {${os.major} <= 10} {
 +        pre-fetch {
 +            ui_error "$name is not supported on Snow Leopard and
 earlier."
 +            error "unsupported platform"
 +        }
 +    }
 +}
 }}}

 That makes the compiler blacklist basically useless, but it doesn't hurt
 to leave it in just in case.
 OK to commit?

-- 
Ticket URL: <https://trac.macports.org/ticket/44705#comment:9>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list