Just doing an "emerge world" and I'm stuck on the last two packages, one of which is ImageMagick. It appears to use its own library during compile, but it can't find it. $ emerge -av imagemagick These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] media-gfx/imagemagick-6.4.2.0 [6.3.5.10] USE="X bzip2 jpeg jpeg2k perl png svg%* tiff truetype wmf* xml zlib -djvu% -doc -fontconfig% -fpx -graphviz -gs -hdri -jbig -lcms -nocxx -openexr -q32 -q8 (-mpeg%)" 0 kB Total: 1 package (1 upgrade), Size of downloads: 0 kB ... x86_64-pc-linux-gnu-gcc -L../magick/.libs -lMagickCore -L../wand/.libs -lMagickWand -shared -L/usr/local/lib64 -lfreetype -lz Magick.o -o blib/arch/auto/Image/Magick/Magick.so \ -L/usr/lib64 -L/var/tmp/portage/media-gfx/imagemagick-6.4.2.0/work/ImageMagick-6.4.2/PerlMagick/../magick/.libs -lMagickCore -L/var/tmp/portage/media-gfx/imagemagick-6.4.2.0/work/ImageMagick-6.4.2/PerlMagick/../wand/.libs \ /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lMagickWand collect2: ld returned 1 exit status make[2]: *** [blib/arch/auto/Image/Magick/Magick.so] Error 1 make[2]: Leaving directory `/var/tmp/portage/media-gfx/imagemagick-6.4.2.0/work/ImageMagick-6.4.2/PerlMagick' make[1]: *** [all-perl] Error 2 make[1]: *** Waiting for unfinished jobs.... mv -f wand/.deps/wand_libMagickWand_la-convert.Tpo wand/.deps/wand_libMagickWand_la-convert.Plo mv -f wand/.deps/wand_libMagickWand_la-mogrify.Tpo wand/.deps/wand_libMagickWand_la-mogrify.Plo make[1]: Leaving directory `/var/tmp/portage/media-gfx/imagemagick-6.4.2.0/work/ImageMagick-6.4.2' make: *** [all] Error 2 * * ERROR: media-gfx/imagemagick-6.4.2.0 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2432: Called die * The specific snippet of code: * emake || die "compile problem" * The die message: * compile problem * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/media-gfx/imagemagick-6.4.2.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/media-gfx/imagemagick-6.4.2.0/temp/environment'.
I just discovered a workaround for this problem - if you upgrade to an intermediate version of ImageMagick instead then it fixes the problem: $ emerge -av \<=imagemagick-6.4.1.9 && emerge -av imagemagick
In my case i had to use MAKEOPTS="-j1", since i had it set to -j33 What MAKEOPTS are you using?
Ah, I'm using -j12, maybe that was the problem? I didn't think to test this, I assumed Portage would restrict parallel builds for those packages that don't support it.
Well, thing is that portage will restrict the parallel builds if its known to fail :) It doesn't do magic to know if it fails or not.
That was 6.4.0.9 or whatever is stable, 6.4.2.0 compiles only with -j3
restricted -j1 in media-gfx/imagemagick-6.4.2.0. could you please try with media-gfx/imagemagick-6.4.2.9? thanks
(In reply to comment #6) > restricted -j1 in media-gfx/imagemagick-6.4.2.0. > could you please try with media-gfx/imagemagick-6.4.2.9? thanks I just built 6.4.2.9 with MAKEOPTS=-j2 and it worked fine. Not sure about larger values. PS: Markus could you please also take another look at my comment http://bugs.gentoo.org/show_bug.cgi?id=223825#c9 and maybe reopen? I cannot reopen and don't want to clone unless necessary.
(In reply to comment #7) > (In reply to comment #6) > > restricted -j1 in media-gfx/imagemagick-6.4.2.0. > > could you please try with media-gfx/imagemagick-6.4.2.9? thanks > > I just built 6.4.2.9 with MAKEOPTS=-j2 and it worked fine. Not sure about > larger values. this ebuild was restricted to -j1, but I unrestricted it. there were real problems with values >5 (or so), as it always worked fine with -j2...5. > > PS: Markus could you please also take another look at my comment > http://bugs.gentoo.org/show_bug.cgi?id=223825#c9 and maybe reopen? I cannot > reopen and don't want to clone unless necessary. fixed.
j3 is the maximum 6.4.2.* can do. Obviously it works fine now, since its restricted to -j1.
So there's obviously a race condition in there somewhere, which doesn't always trigger until -j > 5. Is it worth reporting this upstream? At any rate yes, 6.4.2.9 works fine without tweaking any of my settings.
reported upstream here: http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=11908 answer: > We added a dependency to $(MAGICKWAND_LIBS) to the PerlMagick Makefile which should resolve the parallel build problem. The fix is in the Subversion trunk and will be in the next point release. I'll bump imagemagick in a few days, then this issue should really be fixed.
this should be fixed in media-gfx/imagemagick-6.4.3.5. if not, please reopen this bug.
Excellent, many thanks for fixing this!