Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 379439

Summary: dev-libs/boost-1.46.1 automagic dependency on dev-libs/icu : does not respect USE="-icu"
Product: Gentoo Linux Reporter: Fab <netbox253>
Component: [OLD] LibraryAssignee: Tiziano Müller (RETIRED) <dev-zero>
Status: RESOLVED FIXED    
Severity: normal CC: cpp+disabled, hwoarang, SebastianLuther
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 377805    
Attachments: patch to apply to boost-1.46.1.ebuild

Description Fab 2011-08-16 16:43:54 UTC
On my system dev-libs/boost-1.46.1 is built with USE="-icu" , but is linked anyway against dev-libs/icu.

Reproducible: Always

Steps to Reproduce:
1. emerge -1 dev-libs/icu
2. USE="-icu" emerge -1 dev-libs/boost
3. ldd /usr/lib/libboost_graph-1_46.so.1.46.1 | grep icu
	libicuuc.so.48 => /usr/lib/libicuuc.so.48 (0xb7524000)
	libicui18n.so.48 => /usr/lib/libicui18n.so.48 (0xb733c000)
	libicudata.so.48 => /usr/lib/libicudata.so.48 (0xb61e2000)




# emerge --info
Portage 2.1.10.3 (default/linux/x86/10.0/desktop, gcc-4.4.5, glibc-2.12.2-r0, 2.6.39-gentoo-r3 i686)
=================================================================
System uname: Linux-2.6.39-gentoo-r3-i686-Intel-R-_Core-TM-2_CPU_E7400_@_2.80GHz-with-gentoo-2.0.3
Timestamp of tree: Tue, 16 Aug 2011 09:15:01 +0000
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.1-r1, 3.1.3-r1
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.4
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.11.1
sys-devel/binutils:       2.20.1-r1
sys-devel/gcc:            4.4.5
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers)
sys-libs/glibc:           2.12.2
Repositories: gentoo xfce-dev perso tempo
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe -mmmx -msse -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe -mmmx -msse -ggdb"
DISTDIR="/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS=""
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ ftp://gentoo.imj.fr/pub/gentoo/ ftp://mirrors.linuxant.fr/distfiles.gentoo.org/ ftp://mirror.ovh.net/gentoo-distfiles/"
INSTALL_MASK="/usr/lib/debug"
LANG="fr_FR.UTF-8"
LDFLAGS="-Wl,-O1,--hash-style=gnu,--sort-common -Wl,--as-needed"
LINGUAS="fr"
MAKEOPTS="-j5"
PKGDIR="/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/portage/trees/gentoo"
PORTDIR_OVERLAY="/portage/trees/layman/xfce-dev /portage/trees/perso /portage/trees/tempo"
SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib cups cxx dbus dri dts dvd dvdr emboss encode exif fam ffmpeg firefox flac fortran gdbm gdu gif gnutls gstreamer gtk iconv id3tag java jpeg lcms libnotify mad mmx mng modules mp3 mp4 mpeg mudflap ncurses network-cron nls nptl nptlonly nsplugin ogg openal opengl openmp oss pam pango pcre pdf perl png policykit ppds pppd python qt3support qt4 readline sdl session spell sse ssl startup-notification svg sysfs tcpd tiff truetype udev unicode usb v4l2 vorbis x264 x86 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2 fuji" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Fab 2011-08-17 08:02:32 UTC
Forgot to say that obviously others boost libs are also affected :

$ for x in /usr/lib/boost-1_46/*.so; do output=$(ldd $x | grep icu); if [ -n "$output" ]; then echo -e "\n---"; echo $x; echo "---"; echo -e "$output"; fi; done

---
/usr/lib/boost-1_46/libboost_graph-mt.so
---
	libicuuc.so.48 => /usr/lib/libicuuc.so.48 (0xb7515000)
	libicui18n.so.48 => /usr/lib/libicui18n.so.48 (0xb732d000)
	libicudata.so.48 => /usr/lib/libicudata.so.48 (0xb61d3000)

---
/usr/lib/boost-1_46/libboost_graph.so
---
	libicuuc.so.48 => /usr/lib/libicuuc.so.48 (0xb7606000)
	libicui18n.so.48 => /usr/lib/libicui18n.so.48 (0xb741e000)
	libicudata.so.48 => /usr/lib/libicudata.so.48 (0xb62c4000)

---
/usr/lib/boost-1_46/libboost_regex-mt.so
---
	libicuuc.so.48 => /usr/lib/libicuuc.so.48 (0xb7581000)
	libicui18n.so.48 => /usr/lib/libicui18n.so.48 (0xb7399000)
	libicudata.so.48 => /usr/lib/libicudata.so.48 (0xb623f000)

---
/usr/lib/boost-1_46/libboost_regex.so
---
	libicuuc.so.48 => /usr/lib/libicuuc.so.48 (0xb7525000)
	libicui18n.so.48 => /usr/lib/libicui18n.so.48 (0xb733d000)
	libicudata.so.48 => /usr/lib/libicudata.so.48 (0xb61e3000)
Comment 2 Fab 2011-08-25 17:25:44 UTC
Created attachment 284651 [details, diff]
patch to apply to boost-1.46.1.ebuild

This patch seems to fixs the issue. See [1].

> Tip
> 
> If you don't want the regex library to use ICU then build with the
> "--disable-icu" command line option. 

[1] http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/install.html#boost_regex.install.building_with_unicode_and_icu_support
Comment 3 Markos Chandras (RETIRED) gentoo-dev 2011-08-27 22:45:47 UTC
This is now fixed. Thank you