Boost logo

Boost Interest :

Subject: Re: [Boost-cmake] 1.40.0.cmake5 (?) builds cleanly
From: Denis Arnaud (denis.arnaud_boost_at_[hidden])
Date: 2009-11-04 15:36:43


2009/11/3 troy d. straszheim <troy_at_[hidden]>

> Since I see that you have a repo up on gitorious, I suspect you have a
> local clone of that. To pull from the main repo you first add a remote
>
> git remote add cmake git://gitorious.org/boost/cmake.git
>
> then fetch all changes from that repository
>
> git pull cmake 1.40.0

Thanks! It eventually works :)

There is still a small issue, though, with a mpi.so library it generates,
strangely at the time of the building of
boost_program_options-mt-shared-debug, as shown by the following debugging
output:
----------------------------------------------------------
[ 77%] /usr/bin/cmake -E cmake_progress_report
/home/build/dev/packages/BUILD/boost-1.40.0.cmake5/build/CMakeFiles
Building CXX object libs/program_options/src/CMakeFiles/*
boost_program_options-mt-shared-debug.dir/cmdline.cpp.o*
/usr/lib64/ccache/c++ -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -Wl,-z,noexecstack -Wl,-rpath
-Wl,/usr/lib64/mpich2 -shared *-Wl,-soname,mpi.so -o
../../../lib/mpi.so* CMakeFiles/mpi-mt-shared.dir/python/collectives.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/py_communicator.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/datatypes.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/documentation.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/py_environment.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/py_nonblocking.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/py_exception.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/module.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/py_request.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/skeleton_and_content.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/status.cpp.o
CMakeFiles/mpi-mt-shared.dir/python/py_timer.cpp.o
/usr/lib64/python2.6/config/libpython2.6.so -lpthread -lrt -lpthread -lrt
../../../lib/libboost_python-mt.so.1.40.0 /usr/lib64/python2.6/config/
libpython2.6.so -lpthread -lrt -lpthread -lrt -ldl -lutil
----------------------------------------------------------

Note that the Boost.MPI library is itself built a little bit before, with
the right soname:
----------------------------------------------------------
[ 73%] Linking CXX shared library ../../../lib/*libboost_mpi-mt-d.so*
cd /home/build/dev/packages/BUILD/boost-1.40.0.cmake5/build/libs/mpi/src &&
/usr/bin/cmake -E cmake_link_script
CMakeFiles/boost_mpi-mt-shared-debug.dir/link.txt --verbose=1
Building CXX object
libs/iostreams/src/CMakeFiles/boost_iostreams-mt-shared.dir/file_descriptor.cpp.o
cd
/home/build/dev/packages/BUILD/boost-1.40.0.cmake5/build/libs/iostreams/src
&& /usr/lib64/ccache/c++ -Dboost_iostreams_mt_shared_EXPORTS
-DBOOST_ALL_NO_LIB=1 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC
-I/home/build/dev/packages/BUILD/boost-1.40.0.cmake5 -O3 -DNDEBUG
-DBOOST_IOSTREAMS_DYN_LINK=1 -pthread -D_REENTRANT -o
CMakeFiles/boost_iostreams-mt-shared.dir/file_descriptor.cpp.o -c
/home/build/dev/packages/BUILD/boost-1.40.0.cmake5/libs/iostreams/src/file_descriptor.cpp
/usr/lib64/ccache/c++ -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -Wl,-z,noexecstack -Wl,-rpath -Wl,/usr/lib64/mpich2
-shared *-Wl,-soname,libboost_mpi-mt-d.so.1.40.0* -o
../../../lib/libboost_mpi-mt-d.so.1.40.0
CMakeFiles/boost_mpi-mt-shared-debug.dir/broadcast.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/communicator.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/computation_tree.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/content_oarchive.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/environment.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/exception.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/graph_communicator.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/group.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/intercommunicator.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/mpi_datatype_cache.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/mpi_datatype_oarchive.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/packed_iarchive.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/packed_oarchive.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/packed_skeleton_iarchive.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/packed_skeleton_oarchive.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/point_to_point.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/request.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/text_skeleton_oarchive.cpp.o
CMakeFiles/boost_mpi-mt-shared-debug.dir/timer.cpp.o
/usr/lib64/mpich2/libmpichcxx.so /usr/lib64/mpich2/libmpich.so
/usr/lib64/mpich2/libopa.a -lpthread -lrt -lpthread -lrt
../../../lib/libboost_serialization-mt-d.so.1.40.0 -lpthread -lrt
/usr/bin/cmake -E cmake_progress_report
/home/build/dev/packages/BUILD/boost-1.40.0.cmake5/build/CMakeFiles
(and the same for the release variant)
----------------------------------------------------------

So, for now, I simply remove that mpi.so library. There are two options:
1. It is useful (and it should therefore not be removed). The name and
soname should then be set appropriately (not to mpi.so).
2. It is useless. The corresponding CMake option should then be turned off.

>From what I can see by looking at the mpi.so binary (with the 'nm -a -C'
command), all the symbols invoked within mpi.so are defined within the
libboost_mpi-mt.so library. So, I'd say that that newly appeard mpi.so is
useless. Did I miss anything?

Denis



Boost-cmake 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