First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 223817
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: media-gfx herd <graphics@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: John SJ Anderson <genehack@genehack.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
bug223817a.patch openmp USE flag for imagemagick patch Martin von Gagern 2008-06-17 18:29 0000 833 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 223817 depends on: Show dependency tree
Bug 223817 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2008-05-27 11:01 0000
Trying to use PerlMagick modules gives me:

Can't load
'/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux/auto/Image/Magick/Magick.so' for
module Image::Magick: libgomp.so.1: shared object cannot be dlopen()ed at
/usr/lib64/perl5/5.8.8/x86_64-linux/DynaLoader.pm line 230.


This appears to be the same bug as 193737, which was closed several months ago.

I'm not positive, but I think the upgrade to GCC 4.2.4 was the instigating
factor.

Reproducible: Always

Steps to Reproduce:
1. Use PerlMagick library.
2. Boom. 


Actual Results:  
Error message as above.

Expected Results:  
PerlMagick should link. 

Portage 2.1.5.2 (default-linux/amd64/2007.0, gcc-4.2.4, glibc-2.7-r2,
2.6.25-gentoo-r4 x86_64)
=================================================================
System uname: 2.6.25-gentoo-r4 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor
4400+
Timestamp of tree: Tue, 27 May 2008 05:45:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r4
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.4-r1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.62
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.25-r3
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf
/etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo
/etc/udev/rules.d"
CXXFLAGS="-march=athlon64 -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks parallel-fetch sandbox sfperms strict
unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://gentoo.chem.wisc.edu/gentoo/
http://gentoo.mirrors.pair.com/ "
LC_ALL="POSIX"
LDFLAGS=""
LINGUAS="en en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --stats --timeout=180 --exclude=/distfiles
--exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="amd64 berkdb cli cracklib crypt cups dri fortran gdbm gpm iconv isdnlog
kdeenablefinal kdehiddenvisibility midi mmx mudflap ncurses nptl nptlonly
openmp pam pcre perl pppd python readline reflection session spl sse sse2 ssl
tcpd unicode xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x
ca0106 cmipci emu10k1x   ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0
intel8x0m maestro3       trident usb-audio via82xx via82xx-modem ymfpci"
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" APACHE2_MODULES="actions alias auth_basic authn_alias
authn_anon authn_dbm authn_default authn_file authz_dbm authz_default
authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs
dav_lock deflate dir disk_cache env expires ext_filter file_cache filter
headers include info log_config logio mem_cache mime mime_magic negotiation
rewrite setenvif speling status unique_id userdir usertrack vhost_alias"
CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses
text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="nv nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG,
PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #1 From Jeroen Roovers 2008-05-27 15:25:35 0000 -------
Which version of media-gfx/imagemagick do you use?

------- Comment #2 From Paul Philippov 2008-05-27 16:32:53 0000 -------
I experience the same error with imagemagick wrapper for ruby (Rmagick) on two
computers - i686 and x86_64.

libgomp.so.1: shared object cannot be dlopen()ed -
/usr/lib64/ruby/site_ruby/1.8/x86_64-linux/RMagick2.so

I belivele it caused by libgomp.so from news GCC (updated just yesterday).

Found a thread that seems relevant to the problem:
http://www.archivum.info/gnu.gcc.help/2006-07/msg00076.html

------- Comment #3 From John SJ Anderson 2008-05-27 16:58:15 0000 -------
(In reply to comment #1)
> Which version of media-gfx/imagemagick do you use?
> 

<~> $ convert --version
Version: ImageMagick 6.4.1 05/27/08 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC

------- Comment #4 From John SJ Anderson 2008-05-27 17:02:47 0000 -------
(In reply to comment #3)
> (In reply to comment #1)
> > Which version of media-gfx/imagemagick do you use?
> > 
> 
> <~> $ convert --version
> Version: ImageMagick 6.4.1 05/27/08 Q16 OpenMP http://www.imagemagick.org
> Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC
> 

and more specifically, emerged as the following:

[ebuild   R   ] media-gfx/imagemagick-6.4.1.3  USE="X bzip2 graphviz jpeg lcms
perl png svg tiff truetype xml zlib -djvu -doc -fontconfig -fpx -gs -hdri -jbig
-jpeg2k -nocxx -openexr -q32 -q8 -wmf" 0 kB

------- Comment #5 From John SJ Anderson 2008-05-28 15:17:50 0000 -------
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #1)
> > > Which version of media-gfx/imagemagick do you use?
> > > 
> > 
> > <~> $ convert --version
> > Version: ImageMagick 6.4.1 05/27/08 Q16 OpenMP http://www.imagemagick.org
> > Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC
> > 
> 
> and more specifically, emerged as the following:
> 
> [ebuild   R   ] media-gfx/imagemagick-6.4.1.3  USE="X bzip2 graphviz jpeg lcms
> perl png svg tiff truetype xml zlib -djvu -doc -fontconfig -fpx -gs -hdri -jbig
> -jpeg2k -nocxx -openexr -q32 -q8 -wmf" 0 kB
> 

Falling back to this version:

[ebuild   R   ] media-gfx/imagemagick-6.4.0.6  USE="X bzip2 graphviz jpeg lcms
perl png svg tiff truetype xml zlib -djvu -doc -fontconfig -fpx -gs -hdri -jbig
-jpeg2k -nocxx -openexr -q32 -q8 -wmf" 0 kB

Fixes the problem for me.

------- Comment #6 From PaX Team 2008-06-01 14:37:19 0000 -------
from what i see the problem is that libgomp.so in gcc 4.2.4 (didn't check
earlier versions) is marked NOOPEN so it can't be dlopen'd, directly or
indirectly. perl/ruby/apache+php/etc all dlopen their modules and since
imagemagick libs link against libgomp, such attempts fail. so there're two
questions to answer:

- is imagemagick supposed to link against libgomp? if yes, then there's trouble
because it means that imagemagick cannot be used as a dlopen'd module any
longer. if no then something in the imagemagick build system (or maybe default
gcc specs?) pulls it in for no reason.

- is libgomp marked NOOPEN for any particular reason? was it like that before?
in any case, if the answer is yes (and i guess it is), then it means that
nothing linking against it can be dlopen'd in the future, so more packages
besides imagemagick will break.

------- Comment #7 From Martin von Gagern 2008-06-17 18:19:33 0000 -------
(In reply to comment #6)
> so there're two questions to answer:

Thanks for figuring out NOOPEN as the culprit! I guess the answer to both
questions is "No, but there is a performance penalty if you don't".

For imagemagick, the solution would be to --disable-openmp. I guess introducing
the openmp USE flag and $(enable_with openmp) would be more appropriate. Maybe
using perl or python should override the openmp setting, though. As php is
probably affected as well, and is in a separate package, the current IUSE flags
are not enough to decide whether imagemagick has to be dynamically linkable.

For the NOOPEN flag in libgomp I found a most interesting bug report here:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28482
There is a fix included in gcc-4.3*, but 4.2.4 doesn't include that fix. Maybe
4.2.5 will. So here a workaround for Gentoo users would be to emerge and switch
to the latest gcc, with all the system rebuild that entails.

------- Comment #8 From Martin von Gagern 2008-06-17 18:29:37 0000 -------
Created an attachment (id=157333) [edit]
openmp USE flag for imagemagick

This patch allows users to add "media-gfx/imagemagick -openmp" to their
/etc/portage/package.use in order to avoid linking against libgomp.
A matching entry in profiles/use.local.desc would probably be required as well,
e.g. copy&paste from gcc. profiles/default/linux/make.default currently
defaults openmp, so the patch wouldn't affect the default behaviour.

------- Comment #9 From Markus Meier 2008-06-25 22:04:11 0000 -------
USE-flag added in media-gfx/imagemagick-6.4.2.0. Thanks for the patch.

------- Comment #10 From Erik 2009-01-29 16:33:17 0000 -------
I upgraded to GCC 4.3.3 and then emerge imagemagick failed:
/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/libgomp.la: line 41:
libdir/usr/lib/gcc/i686-pc-linux-gnu/4.3.3: No such file or directory
/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/libgomp.la: line 41:
libdir/usr/lib/gcc/i686-pc-linux-gnu/4.3.3: No such file or directory
libtool: link: warning: library
`/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/libgomp.la' was moved.
/usr/bin/nm: '/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/.libs/libgomp.a': No such
file
i686-pc-linux-gnu-gcc: /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/.libs/libgomp.a: No
such file or directory


Note that there is actually a file "called
/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/libgomp.la". Note that there is no ".libs"
directory in that path.

------- Comment #11 From Martin von Gagern 2009-01-29 16:52:04 0000 -------
(In reply to comment #10)
> libdir/usr/lib/gcc/i686-pc-linux-gnu/4.3.3: No such file or directory

Sounds like bug 256636, caused by bug 125728 comment 162, and fixed here:
http://sources.gentoo.org/eclass/toolchain.eclass?r1=1.385&r2=1.386
Try to sync, remerge gcc, emerge imagemagick, and see if that works.

------- Comment #12 From Eric "me262" Mason 2009-02-28 19:26:45 0000 -------
Bug also exists in GCC 4.3.2-r3

[ebuild  N    ] media-gfx/imagemagick-6.4.8.3  USE="X bzip2 corefonts jpeg
openmp perl png svg tiff truetype xml zlib -djvu -doc -fontconfig -fpx
-graphviz -gs -hdri -jbig -jpeg2k -lcms -nocxx -openexr -q32 -q8 -raw -wmf" 0
kB

libtool: link: warning: library
`/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/libgomp.la' was moved.
/usr/bin/nm: '/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/.libs/libgomp.a': No such
file
x86_64-pc-linux-gnu-gcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/.libs/libgomp.a: No such file or
directory
distcc[24798] ERROR: compile (null) on localhost failed
make[1]: *** [magick/libMagickCore.la] Error 1

ultramagnus me262 # emerge --info
Portage 2.1.6.7 (default/linux/amd64/2008.0/desktop, gcc-4.3.2,
glibc-2.8_p20080602-r1, 2.6.27-gentoo-r8 x86_64)
=================================================================
System uname:
Linux-2.6.27-gentoo-r8-x86_64-AMD_Athlon-tm-_64_Processor_3400+-with-glibc2.2.5
Timestamp of tree: Sat, 28 Feb 2009 08:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.5.2-r7
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.4.8
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/
/etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo
/etc/udev/rules.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distcc distlocks fixpackages metadata-transfer parallel-fetch
protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo
http://gentoo.mirrors.pair.com"
LANG="en_US"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_US"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --stats --timeout=180 --exclude=/distfiles
--exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/Spring /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X aac acl acpi alsa amd64 arts avahi bluetooth branding bzip2 cairo
cdr cli cracklib crypt cups dbus dri dv dvd dvdr dvdread eds emboss encode evo
fam ffmpeg firefox flac fortran gdbm geoip gif gpm gstreamer gtk hal iconv ipv6
isdnlog java jpeg jpg kde lame ldap libnotify mad midi mikmod mmx mp3 mpeg
mudflap multilib ncurses nls nptl nptlonly nsplugin ogg openal opengl openmp
pam pcre pdf perl png portaudio ppds pppd python qt qt3 qt3support qt4
quicktime readline reflection samba sdl session spell spl sqlite3 sse sse2 ssl
startup-notification svg sysfs tcpd theora tiff truetype unicode upnp usb
vorbis x264 xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp
atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801
hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem
ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug
file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null
plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic
authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm
authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache
dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache
filter headers include info log_config logio mem_cache mime mime_magic
negotiation rewrite setenvif speling status unique_id userdir usertrack
vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick"
KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001
mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="fbdev glint
i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga
via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL,
PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #13 From Eric "me262" Mason 2009-02-28 21:40:37 0000 -------
As per bug 256636, I recompiled GCC 4.3.2-r3 because toolchain.eclass had
changed.
This fixes the problem.

First Last Prev Next    No search results available      Search page      Enter new bug