Project

General

Profile

Bug #9437

Updated by nobu (Nobuyoshi Nakada) over 4 years ago

miniruby will not load and gets an error of:

```
linking miniruby
Could not load program ./miniruby:
Dependent module libgmp.a(libgmp.so.10) could not be loaded.
Could not load module libgmp.a(libgmp.so.10).
System error: No such file or directory
make: *** [.rbconfig.time] Error 255
```


The dump -H of miniruby shows:

```
dump -H miniruby

miniruby:

***Loader Section***
Loader Header Information
VERSION# #SYMtableENT #RELOCent LENidSTR
0x00000001 0x00000811 0x000031ec 0x000000b9

#IMPfilID OFFidSTR LENstrTBL OFFstrTBL
0x00000007 0x000318c8 0x0000942e 0x00031981

***Import File Strings***
INDEX PATH BASE MEMBER
0 /gsa/ausgsa/projects/r/ruby/prvm/ruby-2.1.0/lib:/usr/lib:/lib
1 libpthread.a shr_comm.o
2 libpthread.a shr_xpg5.o
3 libgmp.a libgmp.so.10
4 libcrypt.a shr.o
5 libc.a shr.o
6 librtl.a shr.o
```



Note the dependency of libgmp. libgmp is not in /usr/lib or /lib but is in another directory that the compiler knows about via the prefix path but Ruby does not. So the link succeeds because ld knows how to find libgmp but the execution does not because of the embedded LIBPATH (element 0 above). This has come up before. I can work around the issue by various ways but I thought I should open an issue.

I'm happy to help out with debug or more data.

Back