GNOME Bugzilla – Bug 622697
glib's dtrace usage is not compatible with Mac OS X
Last modified: 2010-07-12 14:00:39 UTC
I cannot compile glib 2.25.8 or later (up to and including 2.25.10 so far) on Mac OS X 10.6; the message is: cd . && /bin/sh ./config.status glibconfig.h config.status: executing glibconfig.h commands config.status: glibconfig.h is unchanged echo timestamp > stamp-gc-h /usr/bin/make all-recursive Making all in . if test -f glibconfig.h; then :; \ else rm -f stamp-gc-h; /usr/bin/make stamp-gc-h; fi Making all in m4macros make[2]: Nothing to be done for `all'. Making all in glib dtrace -C -h -s glib_probes.d -o glib_probes.h.tmp sed -e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," < glib_probes.h.tmp > glib_probes.h && rm -f glib_probes.h.tmp dtrace -G -s glib_probes.d -o glib_probes.o Usage: dtrace [-aACeFHlqSvVwZ] [-arch i386|x86_64] [-b bufsz] [-c cmd] [-D name[=def]] [-I path] [-L path] [-o output] [-p pid] [-s script] [-U name] [-x opt[=val]] [-P provider [[ predicate ] action ]] [-m [ provider: ] module [[ predicate ] action ]] [-f [[ provider: ] module: ] func [[ predicate ] action ]] [-n [[[ provider: ] module: ] func: ] name [[ predicate ] action ]] [-i probe-id [[ predicate ] action ]] [ args ... ] predicate -> '/' D-expression '/' action -> '{' D-statements '}' -arch Generate programs and Mach-O files for the specified architecture -a claim anonymous tracing state -A generate plist(5) entries for anonymous tracing -b set trace buffer size -c run specified command and exit upon its completion -C run cpp(1) preprocessor on script files -D define symbol when invoking preprocessor -e exit after compiling request but prior to enabling probes -f enable or list probes matching the specified function name -F coalesce trace output by function -h generate a header file with definitions for static probes -H print included files when invoking preprocessor -i enable or list probes matching the specified probe id -I add include directory to preprocessor search path -l list probes matching specified criteria -L add library directory to library search path -m enable or list probes matching the specified module name -n enable or list probes matching the specified probe name -o set output file -p grab specified process-ID and cache its symbol tables -P enable or list probes matching the specified provider name -q set quiet mode (only output explicitly traced data) -s enable or list probes according to the specified D script -S print D compiler intermediate code -U undefine symbol when invoking preprocessor -v set verbose mode (report stability attributes, arguments) -V report DTrace API version -w permit destructive actions -x enable or modify compiler and tracing options -Z permit probe descriptions that match zero probes make[2]: *** [glib_probes.o] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Might try dropping the -G option, but needs more investigation.
#systemtap pointed me to http://bugs.python.org/file16383/python-3.1.1-systemtap.patch which contains an autoconf check for this.
Created attachment 164622 [details] [review] Don't attempt to build dtrace support on OS X Apparently the OS X "dtrace" command is different from the Sun one, which is what Linux supports. Since I don't have access to an OS X machine to test build patches on, simply disable dtrace on OS X for now.
Thanks, that patched allowed me to build glib 2.25.11 on Mac OS X 10.6.4.
Attachment 164622 [details] pushed as 29a6fb6 - Don't attempt to build dtrace support on OS X