Build succeeds when disabling "examples" use-flag. Error output: Making all in IlmImfExamples make[1]: Entering directory `/var/tmp/paludis/media-libs/openexr-1.6.0/work/openexr-1.6.0/IlmImfExamples' [...] i686-pc-linux-gnu-g++ -pipe -O2 -mtune=i686 -pipe -o imfexamples main.o drawImage.o rgbaInterfaceExamples.o rgbaInterfaceTiledExamples.o generalInterfaceExamples.o lowLevelIoExamples.o previewImageExamples.o generalInterfaceTiledExamples.o -pthread /usr/lib/libImath.so -L/var/tmp/paludis/media-libs/openexr-1.6.0/work/openexr-1.6.0/IlmImf /usr/lib/libIlmImf.so /usr/lib/libHalf.so /usr/lib/libIlmThread.so /usr/lib/libIex.so -lpthread -lz /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: warning: libHalf.so.4, needed by /usr/lib/libIlmImf.so, may conflict with libHalf.so.6 /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: warning: libIex.so.4, needed by /usr/lib/libIlmImf.so, may conflict with libIex.so.6 /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: warning: libIlmThread.so.4, needed by /usr/lib/libIlmImf.so, may conflict with libIlmThread.so.6 generalInterfaceExamples.o: In function `writeGZ1(char const*, half const*, float const*, int, int)': generalInterfaceExamples.cpp:(.text+0x678): undefined reference to `Imf::Channel::Channel(Imf::PixelType, int, int, bool)' generalInterfaceExamples.cpp:(.text+0x6c4): undefined reference to `Imf::Channel::Channel(Imf::PixelType, int, int, bool)' generalInterfaceExamples.o: In function `writeGZ2(char const*, half const*, float const*, int, int, Imath::Box<Imath::Vec2<int> > const&)': generalInterfaceExamples.cpp:(.text+0x929): undefined reference to `Imf::Channel::Channel(Imf::PixelType, int, int, bool)' generalInterfaceExamples.cpp:(.text+0x972): undefined reference to `Imf::Channel::Channel(Imf::PixelType, int, int, bool)' generalInterfaceTiledExamples.o: In function `writeTiled1(char const*, Imf::Array2D<GZ>&, int, int, int, int)': generalInterfaceTiledExamples.cpp:(.text+0x348): undefined reference to `Imf::Channel::Channel(Imf::PixelType, int, int, bool)' generalInterfaceTiledExamples.o:generalInterfaceTiledExamples.cpp:(.text+0x394): more undefined references to `Imf::Channel::Channel(Imf::PixelType, int, int, bool)' follow collect2: ld returned 1 exit status make[1]: *** [imfexamples] Error 1 make[1]: Leaving directory `/var/tmp/paludis/media-libs/openexr-1.6.0/work/openexr-1.6.0/IlmImfExamples' make: *** [all-recursive] Error 1
(In reply to comment #0) > /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: > warning: libHalf.so.4, needed by /usr/lib/libIlmImf.so, may conflict with > libHalf.so.6 > /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: > warning: libIex.so.4, needed by /usr/lib/libIlmImf.so, may conflict with > libIex.so.6 > /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: > warning: libIlmThread.so.4, needed by /usr/lib/libIlmImf.so, may conflict with > libIlmThread.so.6 You shouldn't have any OpenEXR-related *.so.4 libraries. Have you unmerged previous version properly?
I was upgrading openexr, so no - previous version was not yet unmerged. I rebuilt 1.6.0 with the "examples"-flag enabled and it worked. I guess the build process is erroneously using the system libraries instead of those just built.
One should block the other, I think: Index: openexr-1.6.0.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/media-libs/openexr/openexr-1.6.0.ebuild,v retrieving revision 1.3 diff -u -B -r1.3 openexr-1.6.0.ebuild --- openexr-1.6.0.ebuild 14 Sep 2007 04:51:57 -0000 1.3 +++ openexr-1.6.0.ebuild 17 Sep 2007 14:46:46 -0000 @@ -13,7 +13,8 @@ RDEPEND="media-libs/ilmbase" DEPEND="${RDEPEND} - dev-util/pkgconfig" + dev-util/pkgconfig + !<${CATEGORY}/${P}" src_unpack() { unpack ${A}
(In reply to comment #3) > One should block the other OpenEXR was divided into IlmBase, OpenEXR and OpenEXR_Viewers. OpenEXR depends on IlmBase. IlmBase and OpenEXR_Viewers block OpenEXR <1.5. WORKSFORME.
(In reply to comment #4) > (In reply to comment #3) > > One should block the other > > OpenEXR was divided into IlmBase, OpenEXR and OpenEXR_Viewers. > OpenEXR depends on IlmBase. > IlmBase and OpenEXR_Viewers block OpenEXR <1.5. Yep, could you please explain me how you did manage to upgrade to 1.6.0 without unmerging 1.4 ?
What do you mean? Normal procedure is to unmerge the package after the new one is merged during upgrades. That's how emerge and paludis works anyway afaik.
(In reply to comment #6) > What do you mean? Normal procedure is to unmerge the package after the new one > is merged during upgrades. That's how emerge and paludis works anyway afaik. > yes but ilmbase is needed by openexr 1.6 and ilmbase will collide with openexr 1.4, so ilmbase and openexr < 1.5 block themselves this is not the best way to do this, but as upstream has split openexr in several packages, this requires us to do like that. As a consequence you should be required to unmerge openexr 1.4 *before* merging 1.6. And you appear not having been required to do so :/
Ah, now I'm beginning to understand what the merge problem is. I still believe it's wrong to build examples using system installed libs and not the ones about to be merged. Anyway, I've tested emerge and paludis side-by-side and emerge catches the block but paludis somehow does not (unless the ilmbase package is specified on the commandline along with openexr). That seems like a flaw in paludis. Emerge: http://rafb.net/p/hJfbnj13.html Paludis: http://rafb.net/p/RB6wbc53.html
(In reply to comment #8) > Emerge: > > These are the packages that would be merged, in order: > > Calculating dependencies ..... ..... ..... ... ... done! > [ebuild U ] dev-util/pkgconfig-0.22 [0.21-r1] USE="(-hardened)" 983 kB > [ebuild U ] media-libs/openexr-1.6.0 [1.4.0a] USE="doc -examples > (-opengl%*)" VIDEO_CARDS="(-nvidia%*)" 13,310 kB > [ebuild N ] media-libs/ilmbase-1.0.0 460 kB > [blocks B ] <media-libs/openexr-1.5.0 (is blocking > media-libs/ilmbase-1.0.0) > > Total: 3 packages (2 upgrades, 1 new, 1 block), Size of downloads: 14,752 kB > > Paludis: > > Building target list... > Building dependency list... > > These packages will be installed: > > * media-libs/ilmbase-1.0.0 {:0} [N] <media-libs/openexr-1.6.0::gentoo> > * dev-util/pkgconfig-0.22 {:0} [U 0.21-r1] (-hardened) > <media-libs/openexr-1.6.0::gentoo> > * media-libs/openexr-1.6.0 {:0} [U 1.4.0a] doc -examples > > Total: 3 packages (1 new, 2 upgrades)
(In reply to comment #8) > That seems like a flaw in paludis. Which version of Paludis are you using?
paludis 0.24.6
(In reply to comment #11) > paludis 0.24.6 Thanks for information. Please report a bug at http://paludis.pioto.org/trac/. This bug can be marked as e. g. WORKSFORME.
(In reply to comment #12) > (In reply to comment #11) > > paludis 0.24.6 > > Thanks for information. Please report a bug at http://paludis.pioto.org/trac/. > > This bug can be marked as e. g. WORKSFORME. > +1 @spb: as paludis maintainer, perhaps you could have a look at it just in case the deps are simply bad and paludis isn't to blame, but it doesn't look like so for me :/
Paludis bug: http://paludis.pioto.org/trac/ticket/371