#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