Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 192804 - Building "examples" for media-libs/openexr-1.6.0 fails when upgrading from 1.4.0
Summary: Building "examples" for media-libs/openexr-1.6.0 fails when upgrading from 1.4.0
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-17 11:55 UTC by Tais P. Hansen
Modified: 2007-09-19 08:07 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tais P. Hansen 2007-09-17 11:55:00 UTC
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
Comment 1 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-09-17 12:44:55 UTC
(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?
Comment 2 Tais P. Hansen 2007-09-17 13:36:56 UTC
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.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2007-09-17 14:47:11 UTC
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}
Comment 4 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-09-17 16:44:17 UTC
(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.
Comment 5 Alexis Ballier gentoo-dev 2007-09-17 19:39:09 UTC
(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 ?
Comment 6 Tais P. Hansen 2007-09-17 19:44:16 UTC
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.
Comment 7 Alexis Ballier gentoo-dev 2007-09-17 19:59:23 UTC
(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 :/
Comment 8 Tais P. Hansen 2007-09-17 20:53:05 UTC
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
Comment 9 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-09-17 21:16:58 UTC
(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)
Comment 10 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-09-17 21:17:53 UTC
(In reply to comment #8)
> That seems like a flaw in paludis.

Which version of Paludis are you using?
Comment 11 Tais P. Hansen 2007-09-18 05:25:12 UTC
paludis 0.24.6
Comment 12 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-09-18 10:54:56 UTC
(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.
Comment 13 Alexis Ballier gentoo-dev 2007-09-18 18:37:39 UTC
(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 :/
Comment 14 Tais P. Hansen 2007-09-19 08:07:13 UTC
Paludis bug:
http://paludis.pioto.org/trac/ticket/371