Date: Wed, 12 Nov 2008 13:09:22 -0500 From: Mikhail Teterin <mi+mill@aldan.algebra.com> To: stable@FreeBSD.org Subject: dlopen-ing a library with OpenMP by a non-OpenMP process Message-ID: <491B1BD2.4050903@aldan.algebra.com>
index | next in thread | raw e-mail
Hello!
Currently, when a program built without OpenMP (-fopenmp) is trying to
dlopen a library, built with the feature, the result is a crash from
"bad system call":
#0 0x00000008009a223c in ksem_init () from /lib/libc.so.7
#1 0x0000000800998a8f in sem_init () from /lib/libc.so.7
#2 0x00000008011a6537 in omp_get_nested () from /usr/lib/libgomp.so.1
#3 0x00000008011a3466 in ?? () from /usr/lib/libgomp.so.1
#4 0x0000000000000002 in ?? ()
#5 0x00000008005072b2 in dlsym () from /libexec/ld-elf.so.1
#6 0x0000000800507cd2 in dlopen () from /libexec/ld-elf.so.1
...
Can anything be done about this -- disable the OpenMP functionality, but
keep the library usable (single-threaded)? The problem arises, in
particular, when one is trying to use libraries built by either
GraphicsMagick or ImageMagick ports. Both have an OpenMP option, which
speeds up some internal algorithms. The option is off by default, but
enabling it makes sense on an SMP system... Yet, this makes the library
unsuitable for other purposes... Thanks! Yours,
-mi
P.S. I'm seeing the crash on a recent FreeBSD-7.1/amd64, but it, likely,
can be seen elsewhere.
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?491B1BD2.4050903>
