Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 200039 - media-libs/capseo-0.3.0_pre200706031 unnecessarily requires 32-bit libtheora.so on amd64
Summary: media-libs/capseo-0.3.0_pre200706031 unnecessarily requires 32-bit libtheora....
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: High normal
Assignee: Christian Parpart (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-22 23:31 UTC by David Leverton
Modified: 2008-05-05 09:40 UTC (History)
0 users

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


Attachments
ebuild patch (capseo.patch,508 bytes, patch)
2007-11-22 23:32 UTC, David Leverton
Details | Diff
better patch (capseo.patch,533 bytes, patch)
2007-11-24 12:01 UTC, David Leverton
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Leverton 2007-11-22 23:31:47 UTC
When built on amd64 with the theora USE-flag, capseo needs a 32-bit copy of libtheora.so:

/bin/sh ../libtool --mode=link g++ -ansi -pedantic -Wall -Wno-long-long -Wno-unknown-pragmas  -DVERSION="\"0.2.0-dev\"" -DTHEORA=1 -march=athlon64 -msse3 -pipe -fomit-frame-pointer -O2 -DNDEBUG=1   -o cpsplay ../src/libcapseo.la  -lGL cpsplay.o
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../libtheora.so when searching for -ltheora
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../libtheora.a when searching for -ltheora
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libtheora.so when searching for -ltheora
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libtheora.a when searching for -ltheora
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -ltheora
collect2: ld returned 1 exit status
make[2]: *** [cpsrecode] Error 1

However, the library is not needed at runtime: libtheora is only used by the cpsrecode tool, which is built for both 32-bit and 64-bit, but only the 64-bit version is installed.  The best solution would be to prevent the tools from being built for 32-bit in the first place, but that would require messing with autotools, so it suffices not to build the 32-bit version with theora support.
Comment 1 David Leverton 2007-11-22 23:32:22 UTC
Created attachment 136724 [details, diff]
ebuild patch
Comment 2 David Leverton 2007-11-24 12:01:57 UTC
Created attachment 136878 [details, diff]
better patch

Better patch - use multilib.eclass functionality, and disable theora explicitly instead of relying on that being the default.
Comment 3 Christian Parpart (RETIRED) gentoo-dev 2008-05-05 09:40:12 UTC
thank you very much.

i've added your advice to capseo-0.3.0_pre200712251-r2 :)

Regards,
Christian Parpart.