Bug 283771

Summary: Linking against boost libraries fails
Product: [Fedora] Fedora Reporter: Deji Akingunola <dakingun>
Component: boostAssignee: Benjamin Kosnik <bkoz>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: medium    
Version: rawhideCC: adrian, mnewsome, pmachata
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-09-20 03:58:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Deji Akingunola 2007-09-09 00:58:39 UTC
Description of problem: I'm getting the following errors while trying to link
against boost_regex.so and boost_regex-mt.so (was rebuilding a fedora package
called referencer); i guess boost needs to be rebuilt against newer icu.
...
configure:3533: checking for main in -lboost_regex-mt
configure:3562: g++ -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  
conftest.cpp -lboost_regex-mt   >&5
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex-mt.so:
undefined reference to `u_isblank_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex-mt.so:
undefined reference to `u_digit_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex-mt.so:
undefined reference to `u_isspace_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex-mt.so:
undefined reference to `u_charType_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex-mt.so:
undefined reference to `u_charFromName_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex-mt.so:
undefined reference to `u_tolower_3_7'
collect2: ld returned 1 exit status
...
configure:3468: checking for main in -lboost_regex
configure:3497: g++ -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  
conftest.cpp -lboost_regex   >&5
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex.so:
undefined reference to `u_isblank_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex.so:
undefined reference to `u_digit_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex.so:
undefined reference to `u_isspace_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex.so:
undefined reference to `u_charType_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex.so:
undefined reference to `u_charFromName_3_7'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libboost_regex.so:
undefined reference to `u_tolower_3_7'



Version-Release number of selected component (if applicable):


How reproducible: always


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Deji Akingunola 2007-09-15 12:17:42 UTC
Ping !!
A bug fix for referencer is being held because of this. Thanks.

Comment 2 Adrian Reber 2007-09-17 09:51:17 UTC
I have the same error trying to update source-highlight.

Comment 3 José Matos 2007-09-17 10:36:40 UTC
I had the same problem when compiling the lyx source.

I found two interesting facts :-)

First a bug in boost where boost_regex uses ICU library without linking to it.
http://svn.boost.org/trac/boost/ticket/1083

From there I notice that u_digit_3_7 is strangely closed to the version of 
libicu that is installed:
libicu-3.8-0.2.d02.fc8

$ grep u_digit /usr/include/unicode/*
/usr/include/unicode/uchar.h: * This is equivalent to u_digit(c, 16)>=0.
/usr/include/unicode/uchar.h:u_digit(UChar32 ch, int8_t radix);
/usr/include/unicode/uchar.h: * @see     u_digit
/usr/include/unicode/urename.h:#define u_digit u_digit_3_8

So it seems that boost needs to be rebuilt with the latest libicu.


Comment 4 José Matos 2007-09-17 14:04:40 UTC
(In reply to comment #3)
> 
> First a bug in boost where boost_regex uses ICU library without linking to 
it.
> http://svn.boost.org/trac/boost/ticket/1083

In case it was not clear I am not implying that F-8 (to be) has this problem 
but only that this lead me to the find what was the problem.

Rebuilding the source rpm fixed the problem.



Comment 5 Benjamin Kosnik 2007-09-20 00:48:01 UTC
I'm rebuilding this now. Thanks for the heads up.

Comment 6 Deji Akingunola 2007-09-20 03:58:32 UTC
I was able to rebuild referencer successfully with the re-built boost. it'll be
great though if the root cause (as noted in comment #3) could be fixed.