cannot find -ldl

Dan Nelson dnelson at allantgroup.com
Thu Jan 26 13:15:01 PST 2006


In the last episode (Jan 26), Paul Schmehl said:
> --On Thursday, January 26, 2006 14:12:49 -0600 Dan Nelson 
> <dnelson at allantgroup.com> 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 configure.in, 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 configure.in, just before 
> AC_OUTPUT(Makefile).  There was no mention of ldl in Makefile.in.

src/sssh/Makefile.in, line 38:

  LIBS=@LIBS@ -ldl

Remove the -ldl and you should be set.


-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list