trouble getting older version of boost to build
Hi. I am trying to build boost 1.41 (I need some of the libraries from it to compile some 3rd party software) and I am having issues. On CentOS 6.5 with the "Software Developer Workstation" installation (which comes with gcc 4.4.7 and g++ 4.4.7), I can build boost simply by running bootstrap.sh followed by running bjam. That creates all the libraries and then I can compile the other software that requires those libraries. Unfortunately, I can't use CentOS on the systems I am using. I reverted to trying it on CentOS just to see if I could get it to work on one version of Linux, thinking that it would be easy to then get it to work on another version. On Ubuntu, Fedora, and Debian (these are the versions of Linux I can use on the systems), I am unable to build the full set of libraries. After running bootstrap.sh and bjam, I am missing these files that were created on CentOS: libboost_thread.a libboost_thread.so libboost_thread.so.1.41.0 Without those files, the 3rd party software won't compile. Ubuntu, Fedora, and Debian come with more updated compilers and I read some place online that gcc 4.8 and g++ 4.8 have some issues with the old versions of boost, so I tried installing gcc 4.4.7 and g++ 4.4.7 and changing the symbolic links for gcc and g++ in /usr/bin/ to point to gcc 4.4.7 and g++ 4.4.7. Unfortunately, I am still unable to get the thread library to get created. I know boost 1.41 is old and I *might* be able to get away with using a version as recent as 1.49, but I have the same problems building that (and every version in between 1.41 and 1.49). Any help would be greatly appreciated. Thanks in advance. Dave
On Sun, 01 Jun 2014 17:40:41 +0200, David Toth (dtoth)
On Ubuntu, Fedora, and Debian (these are the versions of Linux I can use on the systems), I am unable to build the full set of libraries. After running bootstrap.sh and bjam, I am missing these files that were created on CentOS: libboost_thread.a libboost_thread.so libboost_thread.so.1.41.0
Hi David, Look at the console output of build process, there is normally an error diagnostic in plain text, which should give you a clue how to proceed further. // Unless you need the whole set of boost libraries, you may list the libraries you need using --with-libraries option of bjam, see http://www.boost.org/doc/libs/1_55_0/more/getting_started/unix-variants.html... for reference. Regards, Slava
H Slava. Thanks for the suggestion. I had the bjam program just build the threading library and have put the output of running the command bjam inline below. To be honest, I don't even know where to begin to debug this. I did surf the web looking for ideas, but didn't find any. Again, any thoughts would be greatly appreciated. Thanks!
Dave
-----Original Message-----
From: Boost-users [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Slava
Sent: Monday, June 02, 2014 4:29 AM
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] trouble getting older version of boost to build
On Sun, 01 Jun 2014 17:40:41 +0200, David Toth (dtoth)
On Ubuntu, Fedora, and Debian (these are the versions of Linux I can use on the systems), I am unable to build the full set of libraries. After running bootstrap.sh and bjam, I am missing these files that were created on CentOS: libboost_thread.a libboost_thread.so libboost_thread.so.1.41.0
Hi David,
Look at the console output of build process, there is normally an error diagnostic in plain text, which should give you a clue how to proceed further.
---- beginning of bjam output ----
Building the Boost C++ Libraries.
After the build, the headers will be located at
/home/dtoth/Desktop/vina/boost_1_41_0
The libraries will be located at
/home/dtoth/Desktop/vina/boost_1_41_0/stage/lib
Use 'bjam install --prefix=<path>' if you wish to install headers and
libraries to a different location and remove the source tree.
...patience...
...found 518 targets...
...updating 8 targets...
gcc.compile.c++ bin.v2/libs/thread/build/gcc-4.4.7/release/threading-multi/pthread/thread.o
In file included from libs/thread/src/pthread/thread.cpp:25:
libs/thread/src/pthread/timeconv.inl: In function ‘void<unnamed>::to_time(int, boost::xtime&)’:
libs/thread/src/pthread/timeconv.inl:20: error: expected unqualified-id before numeric constant
libs/thread/src/pthread/timeconv.inl: In function ‘void<unnamed>::to_timespec_duration(const boost::xtime&, timespec&)’:
libs/thread/src/pthread/timeconv.inl:57: error: expected unqualified-id before numeric constant
libs/thread/src/pthread/timeconv.inl: In function ‘void<unnamed>::to_duration(boost::xtime, int&)’:
libs/thread/src/pthread/timeconv.inl:88: error: expected unqualified-id before numeric constant
libs/thread/src/pthread/timeconv.inl: In function ‘void<unnamed>::to_microduration(boost::xtime, int&)’:
libs/thread/src/pthread/timeconv.inl:110: error: expected unqualified-id before numeric constant
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_POSIX -DNDEBUG -I"." -c -o "bin.v2/libs/thread/build/gcc-4.4.7/release/threading-multi/pthread/thread.o" "libs/thread/src/pthread/thread.cpp"
...failed gcc.compile.c++ bin.v2/libs/thread/build/gcc-4.4.7/release/threading-multi/pthread/thread.o...
...skipped
Hi David, Am Montag, 2. Juni 2014, 08:56:02 schrieb David Toth:
H Slava. Thanks for the suggestion. I had the bjam program just build the threading library and have put the output of running the command bjam inline below.
Well, that is the information needed.
To be honest, I don't even know where to begin to debug this. I did surf the web looking for ideas, but didn't find any. Again, any thoughts would be greatly appreciated. Thanks!
Please take a look at https://svn.boost.org/trac/boost/ticket/6940
---- beginning of bjam output ----
libs/thread/src/pthread/timeconv.inl:20: error: expected unqualified-id before numeric constant libs/thread/src/pthread/timeconv.inl: In function ‘void<unnamed>::to_timespec_duration(const boost::xtime&, timespec&)’:
There should be boost::TIME_UTC at that line in your Boost.Version. Renaming TIME_UTC to TIME_UTC_ globally should do the trick. Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! * voice: ++49 4257 300 ! Fährstraße 1 * fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen * jhunold@gmx.eu ! Germany
Thanks! I had read that I needed to change UTC to UTC_ but I didn't realize it was in more than one file. There were 2 occurrences in (boost_directory)/boost/thread/xtime.hpp which I knew about and 8 occurrences in (boost_directory)/libs/thread/src/pthread/timeconv.inl that I had no idea were there. It works now. Thanks again! Dave ________________________________________ From: Boost-users [boost-users-bounces@lists.boost.org] On Behalf Of Jürgen Hunold [jhunold@gmx.eu] Sent: Monday, June 02, 2014 10:00 AM To: boost-users@lists.boost.org Subject: Re: [Boost-users] trouble getting older version of boost to build Hi David, Am Montag, 2. Juni 2014, 08:56:02 schrieb David Toth:
H Slava. Thanks for the suggestion. I had the bjam program just build the threading library and have put the output of running the command bjam inline below.
Well, that is the information needed.
To be honest, I don't even know where to begin to debug this. I did surf the web looking for ideas, but didn't find any. Again, any thoughts would be greatly appreciated. Thanks!
Please take a look at https://svn.boost.org/trac/boost/ticket/6940
---- beginning of bjam output ----
libs/thread/src/pthread/timeconv.inl:20: error: expected unqualified-id before numeric constant libs/thread/src/pthread/timeconv.inl: In function ‘void<unnamed>::to_timespec_duration(const boost::xtime&, timespec&)’:
There should be boost::TIME_UTC at that line in your Boost.Version. Renaming TIME_UTC to TIME_UTC_ globally should do the trick. Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! * voice: ++49 4257 300 ! Fährstraße 1 * fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen * jhunold@gmx.eu ! Germany _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (3)
-
David Toth (dtoth)
-
Jürgen Hunold
-
Slava