1 |
Hello list, |
2 |
|
3 |
I've installed newest boost into /usr/local - it's a custom installation and not via emerge/portage. |
4 |
|
5 |
Today, after upgrading system, I've found that I need to use |
6 |
|
7 |
emerge --update --newuse --deep --with-bdeps=y @world |
8 |
|
9 |
to rebuild some dependencies. |
10 |
|
11 |
In the process of recompiling I first noticed this strange thing: |
12 |
checking for Boost headers version >= 1.36.0... yes |
13 |
checking for Boost's header version... 1_55 |
14 |
|
15 |
Portage installed boost is 1.52, my custom installed one is 1.55. |
16 |
|
17 |
Then after a few seconds I saw this: |
18 |
x86_64-pc-linux-gnu-g++ -DPACKAGE_NAME=\"libixion\" -DPACKAGE_TARNAME=\"libixion\" - |
19 |
DPACKAGE_VERSION=\"0.5.0\" -DPACKAGE_STRING=\"libixion\ 0.5.0\" -DPACKAGE_BUGREPORT=\"\" |
20 |
-DPACKAGE_URL=\"\" -DPACKAGE=\"libixion\" -DVERSION=\"0.5.0\" -DSTDC_HEADERS=1 - |
21 |
DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 - |
22 |
DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 - |
23 |
DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_STDLIB_H=1 - |
24 |
DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1 - |
25 |
DHAVE_GETTIMEOFDAY=1 -DHAVE_BOOST=1 -DHAVE_BOOST_UNORDERED_MAP_HPP=1 - |
26 |
DHAVE_MDDS_RECTANGLE_SET_HPP=1 -DHAVE_MDDS_MIXED_TYPE_MATRIX_HPP=1 - |
27 |
DHAVE_MDDS_MULTI_TYPE_VECTOR_TRAIT_HPP=1 -DHAVE_BOOST_SYSTEM_ERROR_CODE_HPP=1 - |
28 |
DHAVE_BOOST_THREAD_HPP=1 -DHAVE_BOOST_PROGRAM_OPTIONS_HPP=1 -I. -I../include - |
29 |
I../lib/libixion/libixion.la -D_REENTRANT -DMDDS_HASH_CONTAINER_BOOST - |
30 |
D__IXION_BUILDING_DLL -g -Os -fvisibility=hidden -O2 -pipe -march=native -c -o ixion_sorter- |
31 |
sort_input_parser.o `test -f 'sort_input_parser.cpp' || echo './'`sort_input_parser.cpp |
32 |
/bin/sh ../libtool --tag=CXX --mode=link x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -Wl,- |
33 |
O1 -Wl,--as-needed -o ixion-parser ixion_parser-ixion_parser.o ixion_parser-model_parser.o |
34 |
libixion/libixion-0.6.la -lboost_thread-mt -lboost_system-mt -pthread -lboost_program_options-mt |
35 |
libtool: link: x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -Wl,-O1 -Wl,--as-needed -o |
36 |
.libs/ixion-parser ixion_parser-ixion_parser.o ixion_parser-model_parser.o -pthread |
37 |
libixion/.libs/libixion-0.6.so -lboost_thread-mt -lboost_system-mt -lboost_program_options-mt - |
38 |
pthread |
39 |
libixion/.libs/libixion-0.6.so: undefined reference to `boost::thread::start_thread_noexcept()' |
40 |
libixion/.libs/libixion-0.6.so: undefined reference to `boost::thread::join_noexcept()' |
41 |
collect2: error: ld returned 1 exit status |
42 |
make[2]: *** [ixion-parser] Error 1 |
43 |
make[2]: *** Waiting for unfinished jobs.... |
44 |
make[2]: Leaving directory `/var/tmp/portage/dev-libs/libixion-0.5.0/work/libixion-0.5.0/src' |
45 |
make[1]: *** [all-recursive] Error 1 |
46 |
make[1]: Leaving directory `/var/tmp/portage/dev-libs/libixion-0.5.0/work/libixion-0.5.0/src' |
47 |
make: *** [all-recursive] Error 1 |
48 |
* ERROR: dev-libs/libixion-0.5.0::gentoo failed (compile phase): |
49 |
|
50 |
|
51 |
...so it failed because it tried to use my custom boost... I think. |
52 |
|
53 |
To be sure that this is because of this I moved /usr/local/lib and /usr/local/include to /root and |
54 |
another compilation of this library went fine. |
55 |
After doing so I runned revdep-rebuild and it had to recompile libkolabxml because it was linked to |
56 |
boost in /usr/local/lib. |
57 |
|
58 |
So here is my question: |
59 |
If libreoffice does need boost to compile, and I compiled libreoffice after I installed boost to |
60 |
/usr/local, then why it was able to use correct version of boost (from /usr not /usr/local)? |
61 |
|
62 |
Libreoffice is just an example - there are many other programs that depend on boost, and the |
63 |
boost.thread library is very popular one. |
64 |
|
65 |
libkolabxml at version 1.0.1 |
66 |
libixion at version 0.5.0 |
67 |
|
68 |
Should I create a bug for these two libraries or this is expected behaviour? |
69 |
|
70 |
-- |
71 |
Kacper Kopczyński |