<solved> freebsd equiv of libdl.a (load shared libs)

mdh mdh_lists at yahoo.com
Wed Mar 26 15:31:16 PDT 2008

--- Steve Franks <stevefranks at ieee.org> wrote:

> On Wed, Mar 26, 2008 at 2:39 PM, Steve Franks
> <stevefranks at ieee.org> wrote:
> > I am porting a linux app which is looking for
> libdl.a (which I
> >  understand from googling is related to loading of
> shared libs).  The
> >  app makes a libusb-based shared lib.  FreeBSD
> uses shared libs, so I
> >  assume there is equivalent functionality
> somewhere.  I also see
> >  libdl.a in /compat/linux/lib, but I assume if I
> link a native FreeBSD
> >  app against this, fireworks will be the only
> result.  I further assume
> >  since I got no error from gcc, that some freebsd
> header actally points
> >  to the exact functions expected in libdl.a, so
> they are in there
> >  somewhere....
> >
> >  Steve
> >
> >  --
> >  Steve Franks, KE7BTE
> >  Staff Engineer
> >  La Palma Devices, LLC
> >  http://www.lapalmadevices.com
> >  (520) 312-0089
> >
> Looks like changing -ldl to -lc (libc.a) to the link
> step in my
> makefile did it.  No idea why they weren't picking
> that up...
> Steve

You don't need -lc.  C compilers link in libc
regardless.  You may also want to consider letting it
load dynamically at runtime rather than linking the
static .a file at compile-time.  

Chances are what it was looking for was dlopen() and
friends, which are in libc on FreeBSD.  They are a
part of libc on my Linux systems as well though, so
not sure why it'd be trying to link against another
library, though admittedly I know a lot more about
development for FreeBSD than for Linux.  
- mdh

Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

More information about the freebsd-questions mailing list