Re: Missing dependencies on shared libraries



On Sat, 15 Apr 2006, M. Warner Losh wrote:

In message: <Pine.GSO.4.64.0604151411140.9269@xxxxxxxxxxxxx>
Daniel Eischen <deischen@xxxxxxxxxxx> writes:
: On Sat, 15 Apr 2006, M. Warner Losh wrote:
:
: > In message: <Pine.GSO.4.64.0604151358210.9220@xxxxxxxxxxxxx>
: > Daniel Eischen <deischen@xxxxxxxxxxx> writes:
: > : On Sat, 15 Apr 2006, M. Warner Losh wrote:
: > :
: > : > In message: <Pine.GSO.4.64.0604141439280.3685@xxxxxxxxxxxxx>
: > : > Daniel Eischen <deischen@xxxxxxxxxxx> writes:
: > : > : On Fri, 14 Apr 2006, Victor Balada Diaz wrote:
: > : > :
: > : > : > Hi,
: > : > : > I found that ldd doesn't report libc as a dependency on most (all?)
: > : > : > libraries:
: > : > : >
: > : > : > pato> ldd /usr/lib/libfetch.so
: > : > : > /usr/lib/libfetch.so:
: > : > : > libssl.so.3 => /usr/lib/libssl.so.3 (0x4816a000)
: > : > : > libcrypto.so.3 => /lib/libcrypto.so.3 (0x48198000)
: > : > : >
: > : > : > does anyone know why?
: > : > :
: > : > : AFAIK, it's being worked on. It's not just libc either, -pthread
: > : > : also has to start linking to libpthread.
: > : >
: > : > We don't record libc dependencies into shared libraries right now. If
: > : > we did, that would create some problems and solve some problems. With
: > : > symbol versioning, it most likely will become moot, since we'll never
: > : > have to bump libc major version again...
: > :
: > : kan stated he was working on doing this, which is what I was
: > : referring to above.
: >
: > That makes sense. If you explicitly include libc on the command line
: > to build the library, it is included...
:
: Here's the link to his original reply to -current. Also, if you
: look at linux shared libraries, you'll note they have dependencies
: to libc.

I guess what I'm saying is that on FreeBSD, the system built shared
libraries don't have libc recorded in them because we don't add -lc on
the commnad line to build them. Other libraries do have it recorded
in them, for example I have libxvidcore.so from some port on my
system:

I guess the original poster confused me. He said in another reply to
this thread that adding -lc failed to record a dependency on libc. But
whatever, I think we're in agreement no matter how much we try to
imply we're not :-)

--
DE
_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: library organization question - how much to split up
    ... |> libraries, I want to consider two points in re-designing it. ... |> dependency on just one other library (other than libc). ... | Then when you create your shared libraries do so such that the ... I do generate the dependencies in the libraries. ...
    (comp.unix.programmer)
  • Re: Some ideas on ETH-oberon & Linux/C relationship
    ... does not support bidirectional buffering ... No provisions exist such that independent libraries can cooperate ... libc is history and should be taken as such. ... Oberon System which is also available for Linux. ...
    (comp.lang.oberon)
  • Re: Missing dependencies on shared libraries
    ... If you explicitly include libc on the command line ... libraries don't have libc recorded in them because we don't add -lc on ... Why isn't ldd showing the dependency? ... La prueba mas fehaciente de que existe vida inteligente en otros ...
    (freebsd-hackers)
  • Re: dynamic linking vs. static linking
    ... Then there are numerous examples of the interface ... between libc and libthread changing; ... an archive library libthread does not; ... which is why the older shared libraries are ...
    (comp.unix.solaris)
  • Re: MFC of bump in libcom_err.so another mistake?
    ... There is no bump of libc and I don't see any reason for the libcom_err.so revision bump in -STABLE. ... Libraries also have ABI dependencies on other library revisions -- i.e., if an API changes in libc, and libypclnt depends on the old version of the API, it needs to use the old libc. ...
    (freebsd-current)