All Forums |
Register |
Login |
Search |
Subscriptions |
My Profile |
Inbox |
Tool Warehouse |
FAQs |
Resources |
Help |
Member List |
Address Book |
Logout |
|
|
ld: cannot open -ldl: No such file or directory
|
Logged in as: Guest |
Users viewing this topic: none |
|
Login  |
|
|
ld: cannot open -ldl: No such file or directory - Nov. 28, '02, 10:44:17 PM
|
|
|
okei
Posts: 2
Joined: Nov. 28, '02,
Status: offline
|
Hello, folks.
I' m trying to port ruby-1.6.7 (an OO scripting language
similar to Python, used widely in Japan) to Interix 3.0.
(now using Japanese pre-Release version of SFU3,
not beta nor original US version)
It uses dlopen(3) for runtime loading of extention modules.
It' s autoconfized package, so I replaced config.guess and
config.sub with newest versions, and modified configure
script minimally and tried
CFLAGS=-D_ALL_SOURCE ./configure --enable-shared
# don' t care --enable-shared for now. it' s directive
# to build the language core as .so and link the
# command stub. --enable-shared avoids failure in
# following build of extention modules, which
# require the symbols of the language core.
It almost works: build completes, the binary works -
until it tries to load extention modules. runtime
loading feature is disabled for lack of dlopen(3).
the configure script could not find dlopen(3), saying
ld: cannot open -ldl: No such file or directory
I tried to replace ' -ldl' with ' /usr/lib/libdl.so' , but
configure said
/lib/crt0.o(.interp+0x0):
G:\SFU30M\interix\src\libc\csu\crt0.c:
multiple definition of `_LOADER_NAME'
/lib/libc.a(loaderstub.o)(.data+0x0):
G:\SFU30M\interix\src\libc\csu\loaderstub.c:
first defined here
and still failed to find dlopen(3).
Have any hints or clues?
< Message edited by okei -- Nov 28, '02, 10:52:16 PM >
|
|
|
RE: ld: cannot open -ldl: No such file or directory - Nov. 29, '02, 1:18:08 PM
|
|
|
Rodney
Posts: 3728
Joined: Jul. 9, '02,
From: /Tools lab
Status: offline
|
The first thing is have you upgraded to ' gcc' 3.3 from the tools warehouse yet? gcc 3.3 is working better than 3.2 and way better than 2.7.2. Part of installing gcc 3.3 is updated set of libraries.
Once that is done make sure that you' ve added " /opt/gcc.3.3/bin" to your path and have added " /opt/gcc.3.3/lib" and " /usr/local/lib" to your LD_LIBRARY_PATH environment variable (both of these at the beginning of the env. var.).
So for ksh:
export LD_LIBRARY_PATH=" /opt/gcc.3.3/lib:/usr/local/lib:$LD_LIBRARY_PATH"
See if that helps.
Let us know how it goes.
- Rodney
|
|
|
New Messages |
No New Messages |
Hot Topic w/ New Messages |
Hot Topic w/o New Messages |
|
Locked w/ New Messages |
Locked w/o New Messages |
|
Post New Thread
Reply to Message
Post New Poll
Submit Vote
Delete My Own Post
Delete My Own Thread
Rate Posts |
|
|
|