|
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