Boost logo

Boost-Build :

From: Andre Hentz (ahentz_at_[hidden])
Date: 2004-10-19 02:31:34


Vladimir Prus wrote:
> Hi Andre,
>
>
>>I believe the following is necessary for the gcc link flags to be
>>properly inherited. Two test still fail after this change (see below.
>>I'll look into them if I can find some time).
>
>
>>--- darwin.jam Mon Oct 18 17:48:09 2004
>>+++ darwin.oring.jam Mon Oct 18 17:48:00 2004
>>@@ -15,7 +15,12 @@
>> toolset.register darwin ;
>> import gcc ;
>> toolset.inherit-generators darwin : gcc ;
>>+# we can't pass -s to ld unless we also pass -static
>>+# so we removed -s completly from OPTIONS and add it
>>+# to ST_OPTIONS
>>+toolset.inherit-flags darwin : gcc : <debug-symbols>off ;
>> toolset.inherit-rules darwin : gcc ;
>>+flags darwin.link ST_OPTIONS <debug-symbols>off : -s ;
>
>
> Can we call 'gcc.init-link-flags' before 'inherit-rules' here, as opposed to
> moving this block of code to 'init'?
>
Sure. Like this?

--- darwin.oring.jam Mon Oct 18 17:48:00 2004
+++ darwin.jam Tue Oct 19 00:22:43 2004
@@ -18,6 +18,7 @@
# we can't pass -s to ld unless we also pass -static
# so we removed -s completly from OPTIONS and add it
# to ST_OPTIONS
+gcc.init-link-flags gnu ;
toolset.inherit-flags darwin : gcc : <debug-symbols>off ;
toolset.inherit-rules darwin : gcc ;
flags darwin.link ST_OPTIONS <debug-symbols>off : -s ;

>
>>====================== Test Results =================
>>
>>searched_lib FAILS:
>>library_order FAILS:
>
>
> I think we can still release M10 with those failures. But maybe, you can run
> the tests with
>
> searched_lib.py darwin --verbose
> library_order.py darwin --verbose
>
> and sent me the output. I might got some suggestions.
>

Thanks. See attached.

Best,

Andre Hentz
 --------------050703030200070602010105 Content-Type: text/plain;
name="darwin.tests"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="darwin.tests"

/non-private/automount/home/ahentz/cvs_repositories/boost-build/test/../jam_src/bin.macosxppc/bjam -sBOOST_BUILD_PATH=/non-private/automount/home/ahentz/cvs_repositories/boost-build/test -d+2 darwin
/usr/bin/libtool: internal link edit command failed
/usr/bin/libtool: internal link edit command failed
FAILED test of /non-private/automount/home/ahentz/cvs_repositories/boost-build/test/../jam_src/bin.macosxppc/bjam -sBOOST_BUILD_PATH=/non-private/automount/home/ahentz/cvs_repositories/boost-build/test -d+2
at line 356 of /non-private/automount/home/ahentz/cvs_repositories/boost-build/test/BoostBuild.py (fail_test)
from line 289 of /non-private/automount/home/ahentz/cvs_repositories/boost-build/test/BoostBuild.py (run_build_system)
from line 75 of library_order.py

in directory: /private/tmp/tmp12H57fMkDir1 bin

mkdir "bin"

MkDir1 bin/darwin

mkdir "bin/darwin"

MkDir1 bin/darwin/debug

mkdir "bin/darwin/debug"

darwin.compile.c++ bin/darwin/debug/main.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/main.o" "main.cpp"

darwin.compile.c++ bin/darwin/debug/a.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -fPIC -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/a.o" "a.cpp"

darwin.link.dll bin/darwin/debug/liba.dylib

g++ -dynamiclib -o "bin/darwin/debug/liba.dylib" "bin/darwin/debug/a.o" -g

ld: Undefined symbols:
b()
darwin.compile.c++ bin/darwin/debug/b.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -fPIC -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/b.o" "b.cpp"

darwin.link.dll bin/darwin/debug/libb.dylib

g++ -dynamiclib -o "bin/darwin/debug/libb.dylib" "bin/darwin/debug/b.o" -g

ld: Undefined symbols:
c()
MkDir1 bin/darwin/debug/link-static

mkdir "bin/darwin/debug/link-static"

darwin.compile.c++ bin/darwin/debug/link-static/c.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/link-static/c.o" "c.cpp"

darwin.archive bin/darwin/debug/link-static/libc.a

ar -c -r -s "bin/darwin/debug/link-static/libc.a" "bin/darwin/debug/link-static/c.o"

darwin.compile.c++ bin/darwin/debug/d.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -fPIC -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/d.o" "d.cpp"

darwin.link.dll bin/darwin/debug/libd.dylib

g++ -dynamiclib -o "bin/darwin/debug/libd.dylib" "bin/darwin/debug/d.o" -g

...skipped <pbin/darwin/debug>main for lack of <pbin/darwin/debug>liba.dylib...
...failed updating 2 targets...
"['/non-private/automount/home/ahentz/cvs_repositories/boost-build/test/../jam_src/bin.macosxppc/bjam', '-sBOOST_BUILD_PATH=/non-private/automount/home/ahentz/cvs_repositories/boost-build/test', '-d+2', 'darwin']" returned 1
STDOUT ============
MkDir1 bin

mkdir "bin"

MkDir1 bin/darwin

mkdir "bin/darwin"

MkDir1 bin/darwin/debug

mkdir "bin/darwin/debug"

darwin.compile.c++ bin/darwin/debug/main.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/main.o" "main.cpp"

darwin.compile.c++ bin/darwin/debug/a.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -fPIC -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/a.o" "a.cpp"

darwin.link.dll bin/darwin/debug/liba.dylib

g++ -dynamiclib -o "bin/darwin/debug/liba.dylib" "bin/darwin/debug/a.o" -g

ld: Undefined symbols:
b()
darwin.compile.c++ bin/darwin/debug/b.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -fPIC -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/b.o" "b.cpp"

darwin.link.dll bin/darwin/debug/libb.dylib

g++ -dynamiclib -o "bin/darwin/debug/libb.dylib" "bin/darwin/debug/b.o" -g

ld: Undefined symbols:
c()
MkDir1 bin/darwin/debug/link-static

mkdir "bin/darwin/debug/link-static"

darwin.compile.c++ bin/darwin/debug/link-static/c.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/link-static/c.o" "c.cpp"

darwin.archive bin/darwin/debug/link-static/libc.a

ar -c -r -s "bin/darwin/debug/link-static/libc.a" "bin/darwin/debug/link-static/c.o"

darwin.compile.c++ bin/darwin/debug/d.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -fPIC -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/d.o" "d.cpp"

darwin.link.dll bin/darwin/debug/libd.dylib

g++ -dynamiclib -o "bin/darwin/debug/libd.dylib" "bin/darwin/debug/d.o" -g

...skipped <pbin/darwin/debug>main for lack of <pbin/darwin/debug>liba.dylib...
...failed updating 2 targets...

STDERR ============
/usr/bin/libtool: internal link edit command failed
/usr/bin/libtool: internal link edit command failed

END ===============
chdir(/private/tmp/tmpraNJIY/lib)
/non-private/automount/home/ahentz/cvs_repositories/boost-build/test/../jam_src/bin.macosxppc/bjam -sBOOST_BUILD_PATH=/non-private/automount/home/ahentz/cvs_repositories/boost-build/test -d+2 darwin
/non-private/automount/home/ahentz/cvs_repositories/boost-build/test/../jam_src/bin.macosxppc/bjam -sBOOST_BUILD_PATH=/non-private/automount/home/ahentz/cvs_repositories/boost-build/test -d+2 darwin
FAILED test of /non-private/automount/home/ahentz/cvs_repositories/boost-build/test/../jam_src/bin.macosxppc/bjam -sBOOST_BUILD_PATH=/non-private/automount/home/ahentz/cvs_repositories/boost-build/test -d+2
at line 356 of /non-private/automount/home/ahentz/cvs_repositories/boost-build/test/BoostBuild.py (fail_test)
from line 289 of /non-private/automount/home/ahentz/cvs_repositories/boost-build/test/BoostBuild.py (run_build_system)
from line 60 of searched_lib.py

in directory: /private/tmp/tmpraNJIYMkDir1 bin

mkdir "bin"

MkDir1 bin/darwin

mkdir "bin/darwin"

MkDir1 bin/darwin/debug

mkdir "bin/darwin/debug"

darwin.compile.c++ bin/darwin/debug/test_lib.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -fPIC -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/test_lib.o" "test_lib.cpp"

darwin.link.dll bin/darwin/debug/libtest_lib.dylib

g++ -dynamiclib -o "bin/darwin/debug/libtest_lib.dylib" "bin/darwin/debug/test_lib.o" -g

MkDir1 bin

mkdir "bin"

MkDir1 bin/darwin

mkdir "bin/darwin"

MkDir1 bin/darwin/debug

mkdir "bin/darwin/debug"

darwin.compile.c++ bin/darwin/debug/main.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/main.o" "main.cpp"

darwin.compile.c++ bin/darwin/debug/helper.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -fPIC -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/helper.o" "helper.cpp"

darwin.link.dll bin/darwin/debug/helper.dylib

g++ -dynamiclib -L"lib" -o "bin/darwin/debug/helper.dylib" "bin/darwin/debug/helper.o" -ltest_lib -g

darwin.link bin/darwin/debug/main

g++ -o "bin/darwin/debug/main" "bin/darwin/debug/main.o" "bin/darwin/debug/helper.dylib" -g

ld: warning can't open dynamic library: bin/darwin/debug/libtest_lib.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
ld: Undefined symbols:
foo() referenced from helper expected to be defined in bin/darwin/debug/libtest_lib.dylib
...failed updating 1 target...
"['/non-private/automount/home/ahentz/cvs_repositories/boost-build/test/../jam_src/bin.macosxppc/bjam', '-sBOOST_BUILD_PATH=/non-private/automount/home/ahentz/cvs_repositories/boost-build/test', '-d+2', 'darwin']" returned 1
-------- all changes caused by last build command ----------
Added files : ['lib/bin/darwin/debug/libtest_lib.dylib', 'lib/bin/darwin/debug/test_lib.o']
Removed files : []
Modified files: []
Touched files : []
STDOUT ============
MkDir1 bin

mkdir "bin"

MkDir1 bin/darwin

mkdir "bin/darwin"

MkDir1 bin/darwin/debug

mkdir "bin/darwin/debug"

darwin.compile.c++ bin/darwin/debug/main.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/main.o" "main.cpp"

darwin.compile.c++ bin/darwin/debug/helper.o

"g++" -Wall -ftemplate-depth-100 -fcoalesce-templates -O0 -fno-inline -g -fPIC -dynamic -Wno-long-double -no-cpp-precomp -c -o "bin/darwin/debug/helper.o" "helper.cpp"

darwin.link.dll bin/darwin/debug/helper.dylib

g++ -dynamiclib -L"lib" -o "bin/darwin/debug/helper.dylib" "bin/darwin/debug/helper.o" -ltest_lib -g

darwin.link bin/darwin/debug/main

g++ -o "bin/darwin/debug/main" "bin/darwin/debug/main.o" "bin/darwin/debug/helper.dylib" -g

ld: warning can't open dynamic library: bin/darwin/debug/libtest_lib.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
ld: Undefined symbols:
foo() referenced from helper expected to be defined in bin/darwin/debug/libtest_lib.dylib
...failed updating 1 target...

STDERR ============

END ===============
 --------------050703030200070602010105--


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk