Gentoo Archives: gentoo-user

From: "Kacper Kopczyński" <capsel@××××××××.org>
To: Gentoo User Mailing List <gentoo-user@l.g.o>
Subject: [gentoo-user] custom boost in /usr/local = problem with libkolabxml, libixion
Date: Sat, 01 Mar 2014 11:24:36
Message-Id: 2840995.macasjMGeL@ai
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

Replies