|
Boost Users : |
From: Nik Yevik (yevik_at_[hidden])
Date: 2005-10-28 17:39:19
Hi,
I have built 64-bit Boost libraries on SUSE Linux ES 9
(SLES 9)for IBM POWER/PowerPC(PPC) using gcc 3.3.3 and
3.4.4. in both 32-bit and 64-bit.
Now, I also want to run Boost 1.33.0 regresion test
with gcc 3.4.4 in 64-bit to see if there are any
problems with 64-bit compilation.
Regression test helper programs and tests themselves
are being built in 64-bit OK. However, the run tests
give the error message:
*****************************************************
unknown location(0): fatal error in "some_test_name":
signal: memory access violation
*** errors detected in test suite "Some Test Suite
Name"; see standard output for details
EXIT STATUS: 200
*****************************************************
I enabled detailed output and here is an example of
what I see during the regression test (Just one
orbitrary chosen test - the rest show pretty much the
same picture).:
******************************************************
MkDir1
../bin/boost/libs/assign/test/multi_index_container.test
mkdir
"../bin/boost/libs/assign/test/multi_index_container.test"
MkDir1
../bin/boost/libs/assign/test/multi_index_container.test/gcc
mkdir
"../bin/boost/libs/assign/test/multi_index_container.test/gcc"
MkDir1
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug
mkdir
"../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug"
MkDir1
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64
mkdir
"../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64"
MkDir1
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power
mkdir
"../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power"
gcc-C++-action
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.o
set -e
"/home/nik/gcc-3.4.4-ppc-install/bin/g++" -m64
-c -Wall -ftemplate-depth-255 -g -O0 -fno-inline
-mcpu=powerpc64 -m64
-I"../bin/boost/libs/assign/test"
-I"/home/nik/boost_1_33_0" -I
"/home/nik/boost_1_33_0" -o
"../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.o"
"../libs/assign/test/multi_index_container.cpp"
"/usr/bin/objcopy" --set-section-flags
.debug_str=contents,debug
"../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.o"
gcc-Link-action
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container
set -e
LD_LIBRARY_PATH=/home/nik/gcc-3.4.4-ppc-install/lib64:/home/nik/gcc-3.4.4-ppc-install/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
"/home/nik/gcc-3.4.4-ppc-install/bin/g++" -m64 -g
-m64 -o
"../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container"
-L"/home/nik/gcc-3.4.4-ppc-install/lib64"
-L"../bin/boost/libs/test/build/libboost_unit_test_framework.a/gcc/debug/address-model-64/architecture-power"
-L"/home/nik/gcc-3.4.4-ppc-install/lib"
"../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.o"
"../bin/boost/libs/test/build/libboost_unit_test_framework.a/gcc/debug/address-model-64/architecture-power/libboost_unit_test_framework.a"
"../bin/boost/libs/test/build/libboost_unit_test_framework.a/gcc/debug/address-model-64/architecture-power/libboost_unit_test_framework.a"
-Wl,-rpath-link,.
Chmod1
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container
chmod 711
"../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container"
execute-test
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.run
LD_LIBRARY_PATH=/home/nik/gcc-3.4.4-ppc-install/lib64:/home/nik/gcc-3.4.4-ppc-install/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
PATH=/home/nik/gcc-3.4.4-ppc-install/lib64:$PATH
export PATH
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container
>
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output
2>&1
status=$?
echo >>
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output
echo EXIT STATUS: $status >>
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output
if test $status -eq 0 ; then
cp -f
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.run
fi
verbose=1
if test $status -ne 0 ; then
verbose=0
fi
if test $verbose -eq 0 ; then
echo ====== BEGIN OUTPUT ======
cat
../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output
echo ====== END OUTPUT ======
fi
exit $status
====== BEGIN OUTPUT ======
Running 1 test case...
unknown location(0): fatal error in
"test_multi_index_container": signal: memory access
violation
*** errors detected in test suite "List Test Suite";
see standard output for details
EXIT STATUS: 200
====== END OUTPUT ======
******************************************************
Indeed, trying to execute the 64-bit executable in gdb
gives something like:
Error accessing memory address 0x53e00001b5a6:
Input/output error.
(gdb) where
#0 0x000053e00000d932 in ?? ()
#1 0x0000000000000000 in ?? ()
Previous frame identical to this frame (corrupt
stack?)
I modified slightly the run-tests.sh script and
gcc-tools.jam to regression test in 64-bit.
RUN_TESTS.SH:
diff run_tests.sh.orig run_tests.sh
18c18
< boost_root="$HOME/CVSROOTs/Boost/boost_regression"
--- > boost_root="/home/nik/boost_1_33_0" 134a135 > export LD_LIBRARY_PATH="/home/nik/gcc-3.4.4-ppc-install/lib64" 136c137 < "$bjam" -sTOOLS=$toolset -sBUILD=release run --- > "$bjam" -a -d+2 -sTOOLS=$toolset -sBUILD=release run "-sBUILD=<architecture>power <address-model>64 <library-path>/home/nik/gcc-3.4.4-ppc-install/lib64" 152a154 > export LD_LIBRARY_PATH="/home/nik/gcc-3.4.4-ppc-install/lib64" 154c156 < "$bjam" -sTOOLS=$tool --dump-tests test 2>&1 | tee regress.log --- > "$bjam" -a -d+2 -sTOOLS=$tool "-sBUILD=<architecture>power <address-model>64 <library-path>/home/nik/gcc-3.4.4-ppc-install/lib64" --dump-tests test 2>&1 | tee regress.log GCC_TOOLS.JAM - added two lines: > flags gcc CFLAGS <architecture>power/<address-model>64 : -m64 ; > flags gcc LINKFLAGS <architecture>power/<address-model>64 : -m64 ; What am I missing here? What am I doing wrong? Any help would be greatly appreciated. __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net