[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