[darwinbuild-dev] Missing Availability.h with 9G55
William Siegrist
wsiegrist at apple.com
Tue Apr 28 23:34:55 PDT 2009
On Apr 28, 2009, at 7:14 PM, Craig Setera wrote:
> First, let me thank you for helping out so much as I try to make
> this work. The fact that I'm trying to do this "for fun" probably
> tells you a bit about how geeky I really am. It appears that I'm
> down to a single remaining error:
>
> Mig /SourceCache/ppp/ppp-314.0.1/Controller/pppcontroller.defs
> mkdir "/private/var/tmp/ppp/ppp-314.0.1.obj/ppp.build/pppd
> (Tool).build/DerivedSources"
> cd /SourceCache/ppp/ppp-314.0.1
> /XCD/loper/usr/bin/mig -header "/private/var/tmp/ppp/
> ppp-314.0.1.obj/ppp.build/pppd (Tool).build/DerivedSources/
> pppcontroller.h" -user "/private/var/tmp/ppp/ppp-314.0.1.obj/
> ppp.build/pppd (Tool).build/DerivedSources/pppcontrollerUser.c" -
> sheader /dev/null -server /dev/null -I/private/var/tmp/ppp/
> ppp-314.0.1.sym/BuiltProducts/include -I../../Family -I/private/var/
> tmp/ppp/ppp-314.0.1.root/usr/include /SourceCache/ppp/ppp-314.0.1/
> Controller/pppcontroller.defs
> dyld: Library not loaded: /System/Library/Frameworks/
> CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/
> Versions/A/CFNetwork
> Referenced from: /System/Library/Frameworks/Foundation.framework/
> Versions/C/Foundation
> Reason: image not found
> cc: Invalid arch name : -D__MACH30__
> mig: fatal: "<no name yet>", line -1: no SubSystem declaration
> rmdir: /tmp/mig.C5pcvL: No such file or directory
>
> Is this related to the architecture comment at the bottom of this
> email chain? If so, can you give me some insight into how to go
> about altering things appropriately?
>
If you look at the following file, you'll see it links to Foundation
(the first item in the list):
# otool -L BuildRoot/usr/bin/arch
BuildRoot/usr/bin/arch:
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
(compatibility version 300.0.0, current version 677.19.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 111.1.1)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current
version 227.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/
CoreFoundation (compatibility version 150.0.0, current version 476.13.0)
So move arch out of the way:
# mv BuildRoot/usr/bin/arch BuildRoot/usr/bin/arch.bak
And replace it with a shell script like the following:
#!/bin/sh
/usr/bin/uname -m
... and make it executable:
# chmod a+x BuildRoot/usr/bin/arch
(Note that when the build is in progress, it is chrooted, so "/usr/
bin" in the shell script is really "BuildRoot/usr/bin")
> One of the interesting things is that this is definitely not part of
> an XCode target that I actually care to build. It appears that the
> reason that "darwinbuild -target=pppd ppp" won't work is because the
> target is actually called "pppd (Tool)". I've tried a number of
> combinations of quoting to try to pass that value through to
> xcodebuilder, but I keep getting things like:
>
> private/var/tmp/ppp/build-ppp-314.0.1~20.sh: line 157: syntax error
> near unexpected token `('
>
Darwinbuild does not wrap the target in quotes, so the following
forces a set of quotes to make it into the xcodebuild command:
darwinbuild -target="\"pppd (Tool)\"" ppp
-Bill
More information about the darwinbuild-dev
mailing list