26-Oct-2009 novatest01 log¶
I added some symbolic links for variations of the thread library without the variant in the name.
I'm guessing that the Boost build procedure doesn't create them by default since a threading library is, obviously, multi-threaded. We noticed that libboost_thread.a and libboost_thread.so were not part of the Boost UPS product while trying to compile the message facility code and the wrong libboost_thread was being used. This would probably be a problem for any package that simply specifies libboost-thread, though. (Recall that our SRT environment uses -lboost_thread-mt-d.)The steps used to do this were the following:
- ksu to the products account on novatest01
- 'cd /fnal/ups/prd/boost/v1_40_0/Linux64bit+2.6-2.5/lib'
- 'ln -s libboost_thread-mt.a libboost_thread.a'
- 'ln -s libboost_thread-mt.so.1.40.0 libboost_thread.so'
Here are the steps that I used to build and package boost 1.40.0 for UPS/UPD on novatest01:
Note the addition of the "layout" option to the bjam program - this was used to generate libraries without the gcc version in their names.
- started out working in my personal account...
- downloaded boost_1_40_0.tar.gz from http://www.boost.org/users/download.
- 'cd <workDir>'
- 'tar --gunzip -xvf <downloadDir>/boost_1_40_0.tar.gz'
- 'cd boost_1_40_0'
- 'mkdir build'
- './bootstrap.sh --libdir=<workDir>/boost_1_40_0/build/lib --includedir=<workDir>/boost_1_40_0/build/include'
- './bjam --build-type=complete --layout=tagged install'
- switched to the products account...
- 'mkdir /fnal/ups/prd/boost' # if needed
- 'mkdir /fnal/ups/prd/boost/v1_40_0' # if needed
- 'mkdir /fnal/ups/prd/boost/v1_40_0/Linux64bit+2.6-2.5'
- 'cd /fnal/ups/prd/boost/v1_40_0/Linux64bit+2.6-2.5'
- 'mkdir ups'
- created boost.table file in ups subdirectory. (Could steal this from an earlier release, if available.)
- 'cp -pRv <workDir>/boost_1_40_0/build/* .'
- 'ups declare -c -f Linux64bit+2.6-2.5 -r /fnal/ups/prd/boost/v1_40_0/Linux64bit+2.6-2.5 -m boost.table boost v1_40_0'