media-libs/xine-lib-1.1.8 compiles with an incorrect default codec path The path used is /usr//win32 which should be /usr/lib/win32 I guess, the function get_libdir (used in the ebuild) returns an empty string... Reproducible: Always Steps to Reproduce: 1.emerge xine-lib 2.while emerging xine-lib do: ps -efww |grep codec 3.rm -rf ~/.xine 4.xine 5.in xine setup, tab gui, select advanced and apply 6.in xine setup, tab decoder I see /usr//win32 7.quit xine 8.view ~/.xine/config Actual Results: while emerging xine-lib: ps -efww |grep codec root 17296 17091 6 21:12 pts/0 00:00:00 /bin/sh /compile/portage/media-libs/xine-lib-1.1.8/work/xine-lib-1.1.8/configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-gnomevfs --enable-nls --enable-ipv6 --enable-samba --disable-altivec --enable-v4l --enable-mng --without-imagemagick --enable-gdkpixbuf --enable-faad --without-libflac --with-vorbis --without-speex --without-theora --without-wavpack --disable-modplug --enable-a52dec --with-external-a52dec --enable-mad --with-external-libmad --disable-dts --with-external-libdts --disable-musepack --with-external-libmpcdec --with-x --enable-xinerama --disable-vidix --disable-dxr3 --disable-directfb --disable-fb --enable-opengl --disable-aalib --without-caca --with-sdl --disable-xvmc --without-xcb --disable-oss --with-alsa --without-arts --with-esound --without-pulseaudio --without-jack --enable-vcd --without-internal-vcdlibs --enable-w32dll --disable-real-codecs --disable-mmap --with-freetype --with-fontconfig --disable-debug --enable-asf --with-external-ffmpeg --disable-optimizations --disable-syncfb --with-xv-path=/usr/lib --with-w32-path=/usr//win32 --with-real-codecs-path=/usr/lib/codecs --enable-fast-install --disable-dependency-tracking --build=i686-pc-linux-gnu note here: --with-w32-path=/usr//win32 in xine setup, tab decoder I see /usr//win32 in ~/.xine/config, I see: # path to Win32 codecs # string, default: /usr//win32 #decoder.external.win32_codecs_path:/usr//win32 Expected Results: while emerging xine-lib, ps -efww |grep codec should show -with-w32-path=/usr/lib/win32 in xine setup, tab decoder I expect to see /usr/lib/win32 in ~/.xine/config, I expect to see: # path to Win32 codecs # string, default: /usr/lib/win32 #decoder.external.win32_codecs_path:/usr/lib/win32 # emerge --info Portage 2.1.3.9 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22.9 i686) ================================================================= System uname: 2.6.22.9 i686 AMD Athlon(tm) XP 2600+ Timestamp of tree: Fri, 26 Oct 2007 16:00:05 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] app-shells/bash: 3.2_p17 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r5 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.9-r2 sys-apps/sandbox: 1.2.18.1-r1 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22-r2 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -mtune=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/bind" CONFIG_PROTECT_MASK="/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/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -mtune=i686 -pipe" DISTDIR="/data/linux/gentoo/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="C" LINGUAS="en en_US en_GB nl de" MAKEOPTS="-j2" PKGDIR="/data/linux/gentoo/packages/amd_athlon-xp" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/compile" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl alsa apache2 apm berkdb bitmap-fonts cli cracklib crypt cups dri dvd dvdr dvdread encode esd fortran gdbm gif gnome gpm gstreamer gtk iconv imlib ipv6 isdnlog java jpeg ldap mad midi mikmod mmx mng mozilla mp3 mpeg mplayer mudflap ncurses nls nptl nptlonly nsplugin ogg opengl openmp oss pam pcre pdf perl png pppd python qt qt4 quicktime readline reflection samba sdl session spell spl sse ssl svg tcpd tiff truetype truetype-fonts type1-fonts unicode v4l v4l2 vcd vorbis wmf x86 xinerama xml xorg xv zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US en_GB nl de" USERLAND="GNU" VIDEO_CARDS="vesa fbdev nv nvidia v4l" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
*** Bug 203580 has been marked as a duplicate of this bug. ***
(In reply to comment #0) > The path used is /usr//win32 which should be /usr/lib/win32 > I guess, the function get_libdir (used in the ebuild) returns an empty > string... Indeed. $(ABI=x86 get_libdir) returns an empty string on x86 (while on amd64 its fine). CC'ing multilib.eclass maintainers, as I'm not sure if its an error in the ebuild or in the eclass.
The broken Xine (Gentoos xine-lib-1.1.x) can be fixed by making this symlink: ln -s /usr/lib/win32/ /usr/lib/codecs/ Please make the ebuild figure the libdir some other way or hardcode it or make the symlink or in some other way Make It Work and do not let waiting for the multilib.eclass gang figure out why it is broken for yet another year before this bug is fixed. Software should work as expected without having to go to bugs.gentoo just to find and use a posted-years-ago solution who are not included due to waiting-for-someone-else or something like that, or worse, developer who refuses to accept a five line long patch which would fix the bug because he plans to rewrite the whole thing from scratch 10 years from now (like the broken genkernel sys-power/suspend case)
well... reading the win32codecs ebuild, it seems multilib.eclass does what it's asked to do.. so I've added some code to fix that in the 1.1.15 ebuild