Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 296305 - dev-libs/boost-1.41 zlib support
Summary: dev-libs/boost-1.41 zlib support
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-09 12:45 UTC by Janez Zemva
Modified: 2009-12-13 07:56 UTC (History)
1 user (show)

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


Attachments
untar into an empty dir and run bjam (blah.tar.bz2,617.88 KB, application/octet-stream)
2009-12-09 21:41 UTC, Janez Zemva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Janez Zemva 2009-12-09 12:45:07 UTC
Even though zlib support is supposedly enabled on unix-like systems when boost is built it is apparently not so on my system.

Reproducible: Always

Steps to Reproduce:
1. emerge dev-libs/boost
2. #include "boost/boost-iostreams.hpp" and use the zlib decompressor
3. link your program and you will get a link error

Actual Results:  
    "g++" -L"/usr/local/lib" -L"/usr/pkg/lib" -Wl,-R -Wl,"/usr/local/lib" -Wl,-R -Wl,"/usr/pkg/lib" -Wl,-rpath-link -Wl,"/usr/local/lib" -Wl,-rpath-link -Wl,"/usr/pkg/lib" -o ".build/gcc-4.3.4/debug/threading-multi/gldemo2" -Wl,--start-group ".build/gcc-4.3.4/debug/threading-multi/gldemo2.o" "rendering1/.build/utility/gcc-4.3.4/debug/link-static/threading-multi/libgl_utility.a" ".build/glee/gcc-4.3.4/debug/link-static/threading-multi/libglee.a"  -Wl,-Bstatic  -Wl,-Bdynamic -lglut -lboost_iostreams-mt -lrt -Wl,--end-group -g -pthread


rendering1/.build/utility/gcc-4.3.4/debug/link-static/threading-multi/libgl_utility.a(gl_shader.o): In function `boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >::filter(char const*&, char const*, char*&, char*, bool)':
/usr/include/boost/iostreams/filter/zlib.hpp:377: undefined reference to `boost::iostreams::detail::zlib_base::inflate(int)'
collect2: ld returned 1 exit status

Expected Results:  
a successful link

bzip2 support is ok and working, I can link if I toss all references to the zlib decompressor

I have a box, where zlib decompressor suppport used to not work and then started to work suddenly. zlib decompressor support worked normally on both machines with boost-1.40. I have zlib installed on both systems.

Portage 2.1.6.13 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.31-gentoo-r6 x86_64)                                                                                 
=================================================================                                                                                                                       
System uname: Linux-2.6.31-gentoo-r6-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E4500_@_2.20GHz-with-gentoo-1.12.13
Timestamp of tree: Tue, 08 Dec 2009 16:30:01 +0000
app-shells/bash:     4.0_p28
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.4
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer -maccumulate-outgoing-args -march=nocona"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -maccumulate-outgoing-args -march=nocona"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://mirror.jamit.de/gentoo/"
LDFLAGS="-Wl,-O1"
LINGUAS="sl en"
MAKEOPTS="-j5"
PKGDIR="/usr/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="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 async audiofile bash-completion bzip2 cairo caps cdio cli cracklib crypt cscope css cups curl cxx dbus dhcp djvu dri dvd dvdr dvdread encode expat fbcon fftw fortran gd gdbm gif ginac glibc-omitfp glitz gmp gpm graphviz gs gtk gtk2 hal iconv icu imagemagick ipv6 ithreads jpeg kde kpathsea lame latex lcms mad mmap mmx mmxext mng modules mp3 mpeg mplayer mudflap multilib mysql ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png ppds pppd python q32 qhull qt3 qt3support rdesktop readline reflection rtc samba sdl sdl-sound session smp sndfile soundtouch sparse spl sql sqlite sse sse2 ssl ssse3 static-qt subversion svg sysfs taglib tcl tcpd theora threads tiff tk truetype unicode v4l v4l2 vim-syntax vorbis webkit wifi xinerama xinetd xml xorg xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 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" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="sl en" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Sebastian Luther (few) 2009-12-09 13:05:58 UTC
Could you please come up with a minimal example? (short .cpp file + compile command) Please post the output of "eselect boost list".
Comment 2 Sebastian Luther (few) 2009-12-09 13:49:31 UTC
I tried the example found at [1] and it works (tested with 1.41, 1.40, 1.35).

[1] http://www.boost.org/doc/libs/1_41_0/libs/iostreams/doc/index.html
(note that there is an "using namespace boost::iostreams" missing)
(compiled with "g++ -lboost_iostreams-mt test.cpp" using gcc-4.3.4 and 4.4.2)
Comment 3 Janez Zemva 2009-12-09 21:41:26 UTC
Created attachment 212575 [details]
untar into an empty dir and run bjam
Comment 4 Janez Zemva 2009-12-09 21:45:21 UTC
Oh my, after deleting all the build directories and recompiling (i.e. bjam clean apparently did not clean everything), the demos compiled ok...

Check if my code compiles ok on your machine and if does please invalidate/resolve my bug.

sorry for your trouble.
Comment 5 Sebastian Luther (few) 2009-12-09 21:53:28 UTC
(In reply to comment #3)
> Created an attachment (id=212575) [details]
> untar into an empty dir and run bjam
> 

rendering1/utility/../config.hpp:4:26: error: tvmet/Matrix.h: No such file or directory
rendering1/utility/../config.hpp:5:26: error: tvmet/Vector.h: No such file or directory

(In reply to comment #4)
> Oh my, after deleting all the build directories and recompiling (i.e. bjam
> clean apparently did not clean everything), the demos compiled ok...
> 

Yeah that sounds like a good reason. You get those types of failures if you try to link against another boost version than the version of the headers.

Comment 6 Janez Zemva 2009-12-10 16:54:34 UTC
> rendering1/utility/../config.hpp:4:26: error: tvmet/Matrix.h: No such file or
> directory
> rendering1/utility/../config.hpp:5:26: error: tvmet/Vector.h: No such file or
> directory

if you want to compile 'emerge tvmet' and try. Again sorry for your trouble.
Comment 7 Sebastian Luther (few) 2009-12-13 07:56:09 UTC
(In reply to comment #6)
> if you want to compile 'emerge tvmet' and try. Again sorry for your trouble.
> 

Works now as expected.