I was just re-emerging transcode when it failed to detect libsdl. This is due to a linking error in libcaca: configure:37162: checking for SDL_Init in -lSDL configure:37197: x86_64-pc-linux-gnu-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -pipe -march=k8 -DDCT_YUV_PRECISION=1 -Wl,-O1 conftest.c -lSDL -lpthread -lm -lz -ldl >&5 /usr/lib/libcaca.so.0: undefined reference to `gluOrtho2D' collect2: ld returned 1 exit status configure:37204: $? = 1 --- $ ldd /usr/lib/libcaca.so linux-vdso.so.1 => (0x00007fffbc9fe000) libncursesw.so.5 => /lib/libncursesw.so.5 (0x00007fc5b4323000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fc5b3fe9000) libGL.so.1 => //usr/lib64/opengl/nvidia/lib/libGL.so.1 (0x00007fc5b3e11000) libglut.so.3 => /usr/lib/libglut.so.3 (0x00007fc5b3bc9000) libz.so.1 => /lib/libz.so.1 (0x00007fc5b3ab4000) libc.so.6 => /lib/libc.so.6 (0x00007fc5b3741000) libdl.so.2 => /lib/libdl.so.2 (0x00007fc5b353d000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fc5b331e000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fc5b311a000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fc5b3015000) libGLcore.so.1 => //usr/lib64/opengl/nvidia/lib/libGLcore.so.1 (0x00007fc5b1cee000) libnvidia-tls.so.1 => //usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.1 (0x00007fc5b1bec000) libm.so.6 => /lib/libm.so.6 (0x00007fc5b1967000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fc5b1754000) libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007fc5b154e000) libXi.so.6 => /usr/lib/libXi.so.6 (0x00007fc5b1343000) /lib64/ld-linux-x86-64.so.2 (0x00007fc5b486d000) --- Portage 2.2_rc42 (default/linux/amd64/10.0, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.28-hardened-r9 x86_64) ================================================================= System uname: Linux-2.6.28-hardened-r9-x86_64-AMD_Athlon-tm-_64_Processor_2800+-with-gentoo-2.0.1 Timestamp of tree: Fri, 02 Oct 2009 06:45:01 +0000 app-shells/bash: 4.0_p28 dev-java/java-config: 2.1.8-r1 dev-lang/python: 2.6.2-r1 dev-util/cmake: 2.6.4 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.5, 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 -march=k8" 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/gentoo-release /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 -march=k8" DISTDIR="/var/tmp/gentoo/distfiles" FEATURES="assume-digests bindeps candy collision-protect distlocks fixpackages metadata-transfer parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv userpriv_fakeroot usersandbox verify-rdepend" GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://gentoo.mirrors.pair.com/" LDFLAGS="-Wl,-O1" LINGUAS="en en_US" MAKEOPTS="-j2" PKGDIR="/var/tmp/gentoo/packages-amd64" 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" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync15.us.gentoo.org/gentoo-portage" USE="3dnow 3dnowext 3ds S3TC X X509 Xaw3d a52 aac aalib acl acpi activefilter adplug aim alsa amd amd64 amr ao apache2 artworkextra atlas audiofile avahi avantgo bash-completion bcmath berkdb bidi browserplugin bzip2 bzlib c++ cairo calendar caps cdda cddb cdio cdparanoia cdr cgi chroot clamav clamd clamdtop clanJavaScript clanVoice clearpasswd cli client clisp consolekit coverage cracklib crypt cscope css cups curl curlwrappers cvs cvsgraph dbase dbcp dbm dbus dbx dedicated dga dio divx4linux dlloader dmx dnd dri dts dv dvd dvdr dvdread edl eds emacs emacs-w3 enca encode enscript erandom esd ethereal evms2 evo exif exiv2 expat ext-png ext-zlib extensions f77 faac faad fam fame fat fax fbcon fbdev ffmpeg fftw filter firefox flac flash flatfile fltk fluidsynth font-server foomaticdb fortran fpx freetts freetype fs gb gcj gcl gd gd-external gdbm gif gimp gimpprint glade glep glib glibc-omitfp glitz glut gmp gmtfull gmthigh gmtsuppl gmttria gnome gnomedb gnuplot gnutls gocr gpm gps graphviz gs gstreamer gtk gtkhtml hal hash hbci hdri highlight howl howl-compat hyperestraier iconv icq idea idl idn ieee1394 image imagemagick imap imlib imlib2 inifile innodb ipalias iproute2 ipsec ipv6 isdnlog ithreads jabber jack java javacomm javamail javascript jbig jikes joystick jpeg jpeg2k junit justify kde ladcca latex lcms ldap libcaca libclamav libdsk libedit libg++ libgda libsamplerate libwww lids live lm_sensors lmtp log4j logitech-mouse ltsp lua lucid lzo mad maildir makecheck matroska mbrola mcal md5sum mdnsresponder-compat mhash mikmod mime ming mixer mjpeg mmx mmxext mng mod_python modules mozcalendar mozctl mozdevelop mozilla mozp3p mozsvg mozxmlterm mp2 mp3 mpeg mpeg4 mplayer mpm-prefork msession msn mtp mudflap mule multilib multislot musepack music mysql mysqli mythtv nas native ncurses neXt network nis nls nptl nptlonly nsplugin nviz oav objc objc++ objc-gc ocaml ocrad odbc offensive ofx ogg oggvorbis oldworld openal opendoc openexr opengl openmp openssl opensslcrypt opera oscar oss pam pango parse-clocks pcap pch pcntl pcre pda pdf perl php physfs pic pie plotutils png pnm pnp policykit portaudio povray ppds pppd prelude procmail pulseaudio python q32 qhull qt qt3 qt3support qt4 quicktime rar readline recode reflection regexp rplay rtc samba sasl savedconfig sdk sdl sdl-image server session sharedmem sid silc slp sms sndfile soap socks5 soup sox speex spell spl sql sqlite sqlite3 src srt sse sse2 ssl startup-notification subversion suexec svg sysfs sysvipc t1lib tcltk tcpd tesseract tetex tex tga theora tidy tiff timidity transcode transparent-proxy truetype trusted tta type1 ucs2 unicode urandom usb user-homedirs userlocales v4l v4l2 vcd vda vhosts videos vim-with-x virus-scan visualization vlm vnc vorbis wav wavpack wddx webkit wma wmf wsconvert wxwin wxwindows x264 xanim xchattext xcomposite xemacs xface xforms xfs xine xinerama xml xml2 xmlreader xmlrpc xmlwriter xorg xosd xpm xsl xulrunner xv xvid xvmc yahoo zeo zeroconf zip zlib" ALSA_CARDS="via82xx" 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="wacom joystick keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="nvidia nv" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I think that it used to pick up libGLU.so indirectly from libglut.so, but I changed to freeglut a while back which doesn't use libGLU any more.
Arfrever fixed this problem in August, but neglected to bump the revision of the package as necessary.
(In reply to comment #2) I only fixed a build failure of media-libs/libcaca-0.99_beta16. Fixes for build failures don't need revision bumps.
Wel, you *thought* you fixed a buildfailure, but you ended up fixing a runtime issue as well. In my case: 1) I built against glut, so libcaca built and linked against GL and glut. 2) I updated to freeglut. 3) libcaca.so was now only linked against GL and glut and couldn't resolve gluBlech symbols Your change was more than just a build fix. Yes, it corrected building for users who were failing to build, but other users (like me) had built a broken libcaca and needed the revbump to pull in the fix.
06 Aug 2008; Alexis Ballier <aballier@gentoo.org> libcaca-0.99_beta14.ebuild: We really need freeglut, not virtual/glut here, thanks to Chad A. Simmons <chad.simmons@member.fsf.org> for reporting in bug #234087 there has been a revbump since then...
No, the change in question is: 24 Aug 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> libcaca-0.99_beta16.ebuild, +files/libcaca-0.99_beta16-freeglut-2.6.patch: Fix building with media-libs/freeglut-2.6* (bug #282573). THIS change requires a revbump because it alters how libcaca is linked. THIS change links against libGLU. Without this change, libcaca is not linked against libGLU.
(In reply to comment #6) > No, the change in question is: > > 24 Aug 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> > libcaca-0.99_beta16.ebuild, +files/libcaca-0.99_beta16-freeglut-2.6.patch: > Fix building with media-libs/freeglut-2.6* (bug #282573). > > THIS change requires a revbump because it alters how libcaca is linked. THIS > change links against libGLU. Without this change, libcaca is not linked > against libGLU. So what is the problem? If that's switching from glut to freeglut that silently broke the abi, then fine, but it has absolutely nothing to do with libcaca. My point is simply that libcaca can *not* be built against glut.
The last commit REQUIRES a revbump by policy because the installed files changed. Yes, if fixed compilation for some users... but for users with the files already installed, it didn't fix it for them. The changed file was the .so ... after the last commit, it now has an explicit link against libGLU which it did not have prior to that commit. Reproduction case: Install <freeglut-2.6 Install libcaca without the change from #282573 Install freeglut-2.6 Try building transcode which fails because it can't resolve GLU symbols In summary: a) This issue isn't about glut -> freeglut b) This issue is about older freeglut (pre 2.6) to freeglut 2.6. c) The original beta16 ebuild did not explicitly link against libGLU. This was inherited indirectly from libglut (provided by freeglut older than 2.6). d) When updating to the newer freeglut, this caused libcaca to not be able to resolve the GLU symbols (and why you fixed the compilation in bug #282573 ... but that didn't fix systems with the library already installed)
(In reply to comment #8) > a) This issue isn't about glut -> freeglut comment #4 is about this... > b) This issue is about older freeglut (pre 2.6) to freeglut 2.6. > c) The original beta16 ebuild did not explicitly link against libGLU. This was > inherited indirectly from libglut (provided by freeglut older than 2.6). > d) When updating to the newer freeglut, this caused libcaca to not be able to > resolve the GLU symbols (and why you fixed the compilation in bug #282573 ... > but that didn't fix systems with the library already installed) but indeed you're right. Fixed.