Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 78373 - dev-libs/boost-1.32.0 (~x86) possible lib naming problems
Summary: dev-libs/boost-1.32.0 (~x86) possible lib naming problems
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Disenchanted (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-17 08:28 UTC by Gustavo Ribeiro Alves
Modified: 2005-03-04 21:34 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gustavo Ribeiro Alves 2005-01-17 08:28:28 UTC
boost-1.32.0 does not create the libboost_<library>-gcc.so files (for example libboost_filesystem-gcc.so). I don't know if this is a new boost naming convention or a redhat one, but some autotooled programs (gigi.sourceforge.net) refuses to build without it.

This could be solved by creating the symlinks :

ln -sf /usr/lib/libboost_date_time.so /usr/lib/libboost_date_time-gcc.so

ln -sf /usr/lib/libboost_filesystem.so /usr/lib/libboost_filesystem-gcc.so

ln -sf /usr/lib/libboost_prg_exec_monitor.so \    
       /usr/lib/libboost_prg_exec_monitor-gcc.so

ln -sf /usr/lib/libboost_program_options.so \    
       /usr/lib/libboost_program_options-gcc.so

ln -sf /usr/lib/libboost_python.so \    
       /usr/lib/libboost_python-gcc.so

ln -sf /usr/lib/libboost_regex.so \    
       /usr/lib/libboost_regex-gcc.so

ln -sf /usr/lib/libboost_signals.so \    
       /usr/lib/libboost_signals-gcc.so

ln -sf /usr/lib/libboost_test_exec_monitor.so \    
       /usr/lib/libboost_test_exec_monitor-gcc.so

ln -sf /usr/lib/libboost_unit_test_framework.so \    
       /usr/lib/libboost__unit_test_framework-gcc.so






Reproducible: Always
Steps to Reproduce:
Comment 1 Disenchanted (RETIRED) gentoo-dev 2005-01-19 20:05:23 UTC
this one is tricky

i might need to solve this with a local use flag
the majority of users i have been in contact with preferd the names w/o the tool ie -gcc- or -icc-

this is how i see the problem looking at your links, you talk about library name, so i guess i make sure i understand you first before i act on it

sorry it took so long to respond, clear up if you meant the ommission of -gcc- or not and ill make sure you can choose whichever way you want it selected w/ or w/o the toolname
Comment 2 Gustavo Ribeiro Alves 2005-01-20 00:37:17 UTC
Just to make it clear, yes, the problem is the omission of the -gcc. But since this is a library that will be used to build other stuff (particularly with portage) I don't think it is a good idea to set an use flag for its name.

Some libraries I use, like the naming with -gcc. I did some research and found out that not only redhat use this naming scheme as it is recommended by boost at (http://www.boost.org/more/getting_started.html#Build_Install) . Since boost does not provide custom autoconf macros nor pkg-config files it can be tricky to make autoconf discover the name of the libraries.

I contacted the author of the gigi library and told him about the problem, he said that this is the new naming scheme for boost libraries since 1.32.0 and since the library does not compile with earlier versions he thinks he does not needs to check for the older library names.

The problem with setting the naming with -gcc is that packages that expect the old naming scheme would not link with the new one.

What I suggest, then, is to let boost install whatever name it wants and then make a symlink to the old naming scheme in order to mantain backward compatibility.

Comment 3 Disenchanted (RETIRED) gentoo-dev 2005-01-20 20:49:19 UTC
i will have to consider the links vs the old lib naming altogether
ill try to get some feedback and get back to this soon
Comment 4 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-02-18 09:57:19 UTC
I have discovered a related problem with kde-base/kdeedu-3.3.2-r1, it fails compilation as it cannot find the boost library. Here are the important lines where it fails,

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lboost_python
collect2: ld returned 1 exit status

I have no symlink for this library,

$ locate boost_python
/usr/lib/libboost_python-gcc-mt-1_32.so.1.32.0
/usr/lib/libboost_python-gcc-1_32.a
/usr/lib/libboost_python-gcc-mt-d-1_32.a
/usr/lib/libboost_python-gcc-1_32.so.1.32.0
/usr/lib/libboost_python-gcc-d-1_32.a
/usr/lib/libboost_python-gcc-d-1_32.so.1.32.0
/usr/lib/libboost_python-gcc-mt-d-1_32.so.1.32.0
/usr/lib/libboost_python-gcc-mt-1_32.a
Comment 5 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-03-02 06:41:26 UTC
This is still an issue with KDE 3.* kdeedu packages and USE=python. With boost-1.31 they compile successfully, but 1.32 produces compilation failure due to the lack of symlinks.
Comment 6 Heinrich Wendel (RETIRED) gentoo-dev 2005-03-02 11:56:26 UTC
kdeedu-3.4_rc1 compiles fine with boost-1.32.0, it even needs this version on amd64
Comment 7 Disenchanted (RETIRED) gentoo-dev 2005-03-04 16:48:49 UTC
boost 1.32.0 will have the old --layout=system for the short libnames and will create symlinks for the -gcc- versions for all aps that need those

ill keep you posted on when 1.32.0-r1 is available, i will revbump it to force an upgrade so everyone has a working version for all situations

thanks for your feedback

Comment 8 Disenchanted (RETIRED) gentoo-dev 2005-03-04 20:16:31 UTC
minidelight ~ # g++ -o demo demo.cpp -lboost_serialization-gcc
minidelight ~ # g++ -o demo demo.cpp -lboost_serialization
minidelight ~ #


ok comitting this ebuid now, it will receive further cleanups, but it is time to have one that works for everyone
Comment 9 Disenchanted (RETIRED) gentoo-dev 2005-03-04 21:34:20 UTC
ok, give it 35 minutes, sync, merge -r1 all should be fine