Re: [darwinbuild-dev] DARWIN_BUILDROOT not used by darwinbuild
This snipper in darwinbuild
export SRCROOT="${REAL_SRCROOT/$prefix/}" export OBJROOT="${REAL_OBJROOT/$prefix/}" export SYMROOT="${REAL_SYMROOT/$prefix/}" export DSTROOT="${REAL_DSTROOT/$prefix/}"
Seems wrong to me. When I add to darwinbuild:
echo "**** DEBUG BuildRoot = ${BuildRoot}" echo "**** DEBUG REAL_SRCROOT = ${REAL_SRCROOT}" echo "**** DEBUG SRCROOT = ${SRCROOT}" echo "**** DEBUG REAL_DSTROOT = ${REAL_DSTROOT}"
echo "**** DEBUG DSTROOT = ${DSTROOT}"
I get: hermione-a:darwin root# darwinbuild ChatServer *** Fetching Sources ... Found ChatServer-263.1.tar.gz in /usr/local/src/darwin/Sources **** DEBUG DARWIN_BUILDROOT = /usr/local/src/darwin **** DEBUG BuildRoot = /usr/local/src/darwin/BuildRoot **** DEBUG REAL_SRCROOT = /usr/local/src/darwin/BuildRoot/SourceCache/ ChatServer/ChatServer-263.1 **** DEBUG SRCROOT = /SourceCache/ChatServer/ChatServer-263.1 **** DEBUG REAL_DSTROOT = /usr/local/src/darwin/BuildRoot/private/var/ tmp/ChatServer/ChatServer-263.1.root **** DEBUG DSTROOT = /private/var/tmp/ChatServer/ChatServer-263.1.root The SRCROOT and DSTROOT variables seem incorrect to me. An in fact "darwinbuild ChatServer" seems to fail because of it because though my Darwin root is on a case sensitive file system, this is mounted as / usr/local and it is not used by xcode (which tries to look in / where it finds a case-preserving file system instead). Or am I missing something? G
On Jan 10, 2009, at 6:01 AM, Gerben Wierda wrote:
This snipper in darwinbuild
export SRCROOT="${REAL_SRCROOT/$prefix/}" export OBJROOT="${REAL_OBJROOT/$prefix/}" export SYMROOT="${REAL_SYMROOT/$prefix/}" export DSTROOT="${REAL_DSTROOT/$prefix/}"
Seems wrong to me. When I add to darwinbuild:
echo "**** DEBUG BuildRoot = ${BuildRoot}" echo "**** DEBUG REAL_SRCROOT = ${REAL_SRCROOT}" echo "**** DEBUG SRCROOT = ${SRCROOT}" echo "**** DEBUG REAL_DSTROOT = ${REAL_DSTROOT}"
echo "**** DEBUG DSTROOT = ${DSTROOT}"
I get:
hermione-a:darwin root# darwinbuild ChatServer *** Fetching Sources ... Found ChatServer-263.1.tar.gz in /usr/local/src/darwin/Sources **** DEBUG DARWIN_BUILDROOT = /usr/local/src/darwin **** DEBUG BuildRoot = /usr/local/src/darwin/BuildRoot **** DEBUG REAL_SRCROOT = /usr/local/src/darwin/BuildRoot/ SourceCache/ChatServer/ChatServer-263.1 **** DEBUG SRCROOT = /SourceCache/ChatServer/ChatServer-263.1 **** DEBUG REAL_DSTROOT = /usr/local/src/darwin/BuildRoot/private/ var/tmp/ChatServer/ChatServer-263.1.root **** DEBUG DSTROOT = /private/var/tmp/ChatServer/ChatServer-263.1.root
The SRCROOT and DSTROOT variables seem incorrect to me. An in fact "darwinbuild ChatServer" seems to fail because of it because though my Darwin root is on a case sensitive file system, this is mounted as /usr/local and it is not used by xcode (which tries to look in / where it finds a case-preserving file system instead). Or am I missing something?
Darwinbuild uses a chroot in BuildRoot, which is why /usr/local/ is not in some paths. The "platform is missing" error is because Xcode does not work inside of chroots on most filesystems. Your only option right now is to make a UFS disk image and build on that. Projects which use make are not affected. Thanks -Bill
On 10 Jan 2009, at 21:50, William Siegrist wrote:
On Jan 10, 2009, at 6:01 AM, Gerben Wierda wrote:
This snipper in darwinbuild
export SRCROOT="${REAL_SRCROOT/$prefix/}" export OBJROOT="${REAL_OBJROOT/$prefix/}" export SYMROOT="${REAL_SYMROOT/$prefix/}" export DSTROOT="${REAL_DSTROOT/$prefix/}"
Seems wrong to me. When I add to darwinbuild:
echo "**** DEBUG BuildRoot = ${BuildRoot}" echo "**** DEBUG REAL_SRCROOT = ${REAL_SRCROOT}" echo "**** DEBUG SRCROOT = ${SRCROOT}" echo "**** DEBUG REAL_DSTROOT = ${REAL_DSTROOT}"
echo "**** DEBUG DSTROOT = ${DSTROOT}"
I get:
hermione-a:darwin root# darwinbuild ChatServer *** Fetching Sources ... Found ChatServer-263.1.tar.gz in /usr/local/src/darwin/Sources **** DEBUG DARWIN_BUILDROOT = /usr/local/src/darwin **** DEBUG BuildRoot = /usr/local/src/darwin/BuildRoot **** DEBUG REAL_SRCROOT = /usr/local/src/darwin/BuildRoot/ SourceCache/ChatServer/ChatServer-263.1 **** DEBUG SRCROOT = /SourceCache/ChatServer/ChatServer-263.1 **** DEBUG REAL_DSTROOT = /usr/local/src/darwin/BuildRoot/private/ var/tmp/ChatServer/ChatServer-263.1.root **** DEBUG DSTROOT = /private/var/tmp/ChatServer/ ChatServer-263.1.root
The SRCROOT and DSTROOT variables seem incorrect to me. An in fact "darwinbuild ChatServer" seems to fail because of it because though my Darwin root is on a case sensitive file system, this is mounted as /usr/local and it is not used by xcode (which tries to look in / where it finds a case-preserving file system instead). Or am I missing something?
Darwinbuild uses a chroot in BuildRoot, which is why /usr/local/ is not in some paths. The "platform is missing" error is because Xcode does not work inside of chroots on most filesystems. Your only option right now is to make a UFS disk image and build on that. Projects which use make are not affected.
Thanks, So the README from DarwinBuild stating you need *either* UFS or Case Sensitive HFS+ is wrong? G
participants (3)
-
Gerben Wierda
-
Gerben Wierda
-
William Siegrist