I am attempting to compile Scheme48, and get undefined references to dlopen and friends.

System: Xubuntu 12.10, 32bit

build-essentials and libc6-dev are installed.

in /lib/i386-linux-gnu/ the file libdl.2.15.so exists. libdl.so.2 is a symlink to it. /usr/lib/i386-linux-gnu/libdl.so is a symlink to /lib/i386-linux-gnu/libdl.so.2

The Makefile has -ldl on the gcc command to link up the executable.

I'm clearly missing some magic sauce here as all Google digs up complains about 64bit failing while 32bit works. But 32bit does not build.

What gives?


Found the problem. The -ldl parameter was specified too early on the command line. Modifying the Makefile.in to put the libraries after all .o files fixed the problem.

The 1.9 release of Scheme48 fixes this as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.