cannot find -ldl

Paul Schmehl pauls at
Thu Jan 26 12:22:32 PST 2006

--On Thursday, January 26, 2006 14:12:49 -0600 Dan Nelson 
<dnelson at> wrote:
>> >
>> > It's not needed on FreeBSD.  The dlopen family of functions is in
>> > libc. The configure script should probably have something like this
>> > in it so it only uses libdl if it can't find dlopen with its current
>> > set of libs::
>> >
>> > AC_SEARCH_LIBS(dlopen, dl)
>> Dan, you're referring to, right?  There's no AC_SEARCH
>> in that at all.  Do I just need to add a line?  If so, does it matter
>> where I add it?
> Ya, configure.{in,ac}.  It doesn't matter much where it goes; at the
> bottom is probably safest.  You will also need to remove any hardcoded
> "-ldl" strings from Makefile.{in,am}.  Configure will add "-ldl" to
> $LIBS if it turns out to be required.
I followed your instructions, but make still fails:

gcc -o ssh ssh.o readconf.o clientloop.o sshtty.o  sshconnect.o 
sshconnect1.o sshconnect2.o readpass.o -L. -Lopenbsd-compat/ -L/usr/ssl 
-lssh -lopenbsd-compat -lcrypto -lutil -lz  -lcrypt -ldl
/usr/bin/ld: cannot find -ldl
*** Error code 1

Stop in /usr/home/pauls/Downloads/sara-6.0.7d/src/sssh.
*** Error code 1

I put AC_SEARCH_LIBS(dlopen,dl) at the end of, just before 
AC_OUTPUT(Makefile).  There was no mention of ldl in

Any suggestions?

Paul Schmehl (pauls at
Adjunct Information Security Officer
University of Texas at Dallas
AVIEN Founding Member

More information about the freebsd-questions mailing list