This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libgomp and python: dlopen fails


The library I'm importing is called _gain.so.

file _gain.so gives:

_gain.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped



file libgomp.so.1 gives:

libgomp.so.1: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped



ldd _gain.so gives:

libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002b51fe5e6000)
libm.so.6 => /lib64/tls/libm.so.6 (0x00002b51fe7d6000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b51fe95c000)
libc.so.6 => /lib64/tls/libc.so.6 (0x00002b51fea68000)
libDF-ISE++.so => ...
libDF-ISE.so => ...
libils.so => ...
libmetis.so => ...
libarpack.so => ...
libz.so.1 => /usr/lib64/libz.so.1 (0x00002b51ff3dd000)
libacml.so => /home/steiger/src/release/amd64/lib/libacml.so (0x00002b51ff4f0000)
libacml_mv.so => /home/steiger/src/release/amd64/lib/libacml_mv.so (0x00002b5200751000)
libpgftnrtl.so => ...
libpgc.so => ...
libpgmp.so => ...
libpthread.so.0 => ...
librt.so.1 => /lib64/tls/librt.so.1 (0x00002b5200d38000)
libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x00002b5200e52000)
libpgbind.so => ...
libgomp.so.1 => /home/steiger/src/release/amd64/lib/libgomp.so.1 (0x00002b5201059000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)



I took away some of the path information. I was able to import the library before adding OpenMP. There is no missing library, and all the other libraries can be imported.



I also set LD_DEBUG=file as you suggested. When trying to import the library in python, the following shows up:


19547:
19547: file=libpython2.3.so.1.0 [0]; needed by python [0]
19547: file=libpython2.3.so.1.0 [0]; generating link map
19547: dynamic: 0x000000396dde6200 base: 0x0000000000000000 size: 0x0000000000218110
19547: entry: 0x000000396dc2d620 phdr: 0x000000396dc00040 phnum: 5
19547:
19547: file=libpthread.so.0 [0]; needed by python [0]
19547: file=libpthread.so.0 [0]; generating link map
19547: dynamic: 0x0000003bd510fda0 base: 0x0000000000000000 size: 0x0000000000114378
19547: entry: 0x0000003bd5005620 phdr: 0x0000003bd5000040 phnum: 9
19547:
19547: file=libdl.so.2 [0]; needed by python [0]
19547: file=libdl.so.2 [0]; generating link map
19547: dynamic: 0x0000003bd4b01dd8 base: 0x0000000000000000 size: 0x00000000001020c8
19547: entry: 0x0000003bd4a00f80 phdr: 0x0000003bd4a00040 phnum: 9
19547:
19547: file=libutil.so.1 [0]; needed by python [0]
19547: file=libutil.so.1 [0]; generating link map
19547: dynamic: 0x0000003bd8501e20 base: 0x0000000000000000 size: 0x0000000000102118
19547: entry: 0x0000003bd8401180 phdr: 0x0000003bd8400040 phnum: 9
19547:
19547: file=libm.so.6 [0]; needed by python [0]
19547: file=libm.so.6 [0]; generating link map
19547: dynamic: 0x0000003bd4984df0 base: 0x0000000000000000 size: 0x00000000001851c8
19547: entry: 0x0000003bd4803df0 phdr: 0x0000003bd4800040 phnum: 9
19547:
19547: file=libc.so.6 [0]; needed by python [0]
19547: file=libc.so.6 [0]; generating link map
19547: dynamic: 0x0000003bd472daa0 base: 0x0000000000000000 size: 0x0000000000233fc8
19547: entry: 0x0000003bd451c4a0 phdr: 0x0000003bd4500040 phnum: 10
19547:
19547: calling init: /lib64/tls/libpthread.so.0
19547: calling init: /lib64/tls/libc.so.6
19547: calling init: /lib64/tls/libm.so.6
19547: calling init: /lib64/libutil.so.1
19547: calling init: /lib64/libdl.so.2
19547: calling init: /usr/lib64/libpython2.3.so.1.0
19547:
19547: initialize program: python
19547:
19547: transferring control: python
19547:
19547: file=./_gain.so [0]; needed by /usr/lib64/libpython2.3.so.1.0 [0]
19547: file=./_gain.so [0]; generating link map
19547: dynamic: 0x00002b8a488fa6f8 base: 0x00002b8a484e9000 size: 0x0000000000428358
19547: entry: 0x00002b8a485c7210 phdr: 0x00002b8a484e9040 phnum: 5
19547:
19547: file=libstdc++.so.6 [0]; needed by ./_gain.so [0]
19547: file=libstdc++.so.6 [0]; generating link map
19547: dynamic: 0x0000003feced5f00 base: 0x0000000000000000 size: 0x00000000001efc70
19547: entry: 0x0000003fecd4d000 phdr: 0x0000003fecd00040 phnum: 6
19547:
19547: file=libgcc_s.so.1 [0]; needed by ./_gain.so [0]
19547: file=libgcc_s.so.1 [0]; generating link map
19547: dynamic: 0x0000003bd6d0a598 base: 0x0000000000000000 size: 0x000000000010a940
19547: entry: 0x0000003bd6c01d40 phdr: 0x0000003bd6c00040 phnum: 5
19547:
19547: file=libDF-ISE++.so [0]; needed by ./_gain.so [0]
19547: file=libDF-ISE++.so [0]; generating link map
19547: dynamic: 0x00002b8a48a4c030 base: 0x00002b8a48937000 size: 0x00000000001159c0
19547: entry: 0x00002b8a4893e5a0 phdr: 0x00002b8a48937040 phnum: 5
19547:
19547: file=libDF-ISE.so [0]; needed by ./_gain.so [0]
19547: file=libDF-ISE.so [0]; generating link map
19547: dynamic: 0x00002b8a48b99030 base: 0x00002b8a48a4d000 size: 0x000000000014d350
19547: entry: 0x00002b8a48a53a00 phdr: 0x00002b8a48a4d040 phnum: 5
19547:
19547: file=libils.so [0]; needed by ./_gain.so [0]
19547: file=libils.so [0]; generating link map
19547: dynamic: 0x00002b8a48d3e428 base: 0x00002b8a48b9b000 size: 0x00000000001cc4e8
19547: entry: 0x00002b8a48bb2ff0 phdr: 0x00002b8a48b9b040 phnum: 4
19547:
19547: file=libmetis.so [0]; needed by ./_gain.so [0]
19547: file=libmetis.so [0]; generating link map
19547: dynamic: 0x00002b8a48ebd030 base: 0x00002b8a48d68000 size: 0x0000000000155cb8
19547: entry: 0x00002b8a48d71840 phdr: 0x00002b8a48d68040 phnum: 5
19547:
19547: file=libarpack.so [0]; needed by ./_gain.so [0]
19547: file=libarpack.so [0]; generating link map
19547: dynamic: 0x00002b8a4905c1e0 base: 0x00002b8a48ebe000 size: 0x00000000001b7b60
19547: entry: 0x00002b8a48ec4610 phdr: 0x00002b8a48ebe040 phnum: 4
19547:
19547: file=libz.so.1 [0]; needed by ./_gain.so [0]
19547: file=libz.so.1 [0]; generating link map
19547: dynamic: 0x0000003feb6121b0 base: 0x0000000000000000 size: 0x00000000001125a8
19547: entry: 0x0000003feb501f20 phdr: 0x0000003feb500040 phnum: 5
19547:
19547: file=libacml.so [0]; needed by ./_gain.so [0]
19547: file=libacml.so [0]; generating link map
19547: dynamic: 0x00002b8a4a2a7028 base: 0x00002b8a49076000 size: 0x0000000001260a40
19547: entry: 0x00002b8a490c93b0 phdr: 0x00002b8a49076040 phnum: 4
19547:
19547: file=libacml_mv.so [0]; needed by ./_gain.so [0]
19547: file=libacml_mv.so [0]; generating link map
19547: dynamic: 0x00002b8a4a401028 base: 0x00002b8a4a2d7000 size: 0x0000000000145ee8
19547: entry: 0x00002b8a4a2da950 phdr: 0x00002b8a4a2d7040 phnum: 4
19547:
19547: file=libpgftnrtl.so [0]; needed by ./_gain.so [0]
19547: file=libpgftnrtl.so [0]; generating link map
19547: dynamic: 0x00002b8a4a54a3e8 base: 0x00002b8a4a41d000 size: 0x000000000012fd30
19547: entry: 0x00002b8a4a427ae0 phdr: 0x00002b8a4a41d040 phnum: 4
19547:
19547: file=libpgc.so [0]; needed by ./_gain.so [0]
19547: file=libpgc.so [0]; generating link map
19547: dynamic: 0x00002b8a4a6823c8 base: 0x00002b8a4a54d000 size: 0x0000000000137fa0
19547: entry: 0x00002b8a4a5560b0 phdr: 0x00002b8a4a54d040 phnum: 4
19547:
19547: file=libpgmp.so [0]; needed by ./_gain.so [0]
19547: file=libpgmp.so [0]; generating link map
19547: dynamic: 0x00002b8a4a79fd30 base: 0x00002b8a4a685000 size: 0x0000000000121828
19547: entry: 0x00002b8a4a689c10 phdr: 0x00002b8a4a685040 phnum: 4
19547:
19547: file=librt.so.1 [0]; needed by ./_gain.so [0]
19547: file=librt.so.1 [0]; generating link map
19547: dynamic: 0x0000003bd7d08d70 base: 0x0000000000000000 size: 0x00000000001190f0
19547: entry: 0x0000003bd7c02c90 phdr: 0x0000003bd7c00040 phnum: 9
19547:
19547: file=libnuma.so.1 [0]; needed by ./_gain.so [0]
19547: file=libnuma.so.1 [0]; generating link map
19547: dynamic: 0x0000003feaa04030 base: 0x0000000000000000 size: 0x00000000001047a0
19547: entry: 0x0000003fea9019e0 phdr: 0x0000003fea900040 phnum: 6
19547:
19547: file=libpgbind.so [0]; needed by ./_gain.so [0]
19547: file=libpgbind.so [0]; generating link map
19547: dynamic: 0x00002b8a4a8a7a08 base: 0x00002b8a4a7a7000 size: 0x0000000000100c20
19547: entry: 0x00002b8a4a7a7840 phdr: 0x00002b8a4a7a7040 phnum: 4
19547:
19547: file=libgomp.so.1 [0]; needed by ./_gain.so [0]
19547: file=libgomp.so.1 [0]; generating link map
Traceback (most recent call last):
File "structures/brugger/forward-gummel.py", line 17, in ?
from gain import *
File "./gain.py", line 7, in ?
import _gain
ImportError: libgomp.so.1: shared object cannot be dlopen()ed
19547:
19547: calling fini: /usr/lib64/libpython2.3.so.1.0 [0]
19547: calling fini: /lib64/tls/libpthread.so.0 [0]
19547: calling fini: /lib64/libdl.so.2 [0]
19547: calling fini: /lib64/libutil.so.1 [0]
19547: calling fini: /lib64/tls/libm.so.6 [0]
19547: calling fini: /lib64/tls/libc.so.6 [0]
19547:



Does this help you?



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]