My FreeBSD 11 guest gets nightly port updates and the new gnutls update pulled in today appears seriously broken, in that libgnutls.so gained an ELF linker dependency on libdl.so but the later does not exist.
IIUC there is no libdl.so needed for FreeBSD hosts, so the dep looks bogus
Note ld reports "not found" against libdl
$ ldd /usr/local/lib/libgnutls.so
libz.so.6 => /lib/libz.so.6 (0x801375000)
libp11-kit.so.0 => /usr/local/lib/libp11-kit.so.0 (0x80158e000)
libunistring.so.2 => /usr/local/lib/libunistring.so.2 (0x8018af000)
libdl.so.1 => not found (0)
libtasn1.so.6 => /usr/local/lib/libtasn1.so.6 (0x801c60000)
libnettle.so.6 => /usr/local/lib/libnettle.so.6 (0x801e74000)
libhogweed.so.4 => /usr/local/lib/libhogweed.so.4 (0x8020ac000)
libgmp.so.10 => /usr/local/lib/libgmp.so.10 (0x8022e1000)
libintl.so.8 => /usr/local/lib/libintl.so.8 (0x802561000)
libidn2.so.0 => /usr/local/lib/libidn2.so.0 (0x80276c000)
libc.so.7 => /lib/libc.so.7 (0x800824000)
libffi.so.6 => /usr/local/lib/libffi.so.6 (0x80298a000)
libthr.so.3 => /lib/libthr.so.3 (0x802b91000)
This breaks ability to build against gnutls
$ cat demo.c
int main(int argc, char **argv)
$ clang -I /usr/local/include -o demo -L/usr/local/lib -lgnutls demo.c
/usr/bin/ld: warning: libdl.so.1, needed by /usr/local/lib/libgnutls.so, not found (try using -rpath or -rpath-link)
The breaks apps using gnutls
Shared object "libdl.so.1" not found, required by "vim"
Shared object "libdl.so.1" not found, required by "certtool"
Here is the installed port info:
$ pkg info gnutls
Name : gnutls
Version : 3.5.19
Installed on : Fri Oct 5 00:04:41 2018 UTC
Origin : security/gnutls
Architecture : FreeBSD:11:amd64
Prefix : /usr/local
Categories : security net
Licenses : GPLv3, LGPL21
Maintainer : tijl@FreeBSD.org
WWW : http://www.gnutls.org/
Comment : GNU Transport Layer Security library
DANE : off
DOCS : on
EXAMPLES : on
IDN : on
NLS : on
P11KIT : on
TPM : on
ZLIB : on
Shared Libs required:
Shared Libs provided:
cpe : cpe:2.3:a:gnu:gnutls:3.5.19:::::freebsd11:x64
repo_type : binary
repository : FreeBSD
Flat size : 6.94MiB
As a note, the FreeBSD 10 build of gnutls 3.5.19 is working normally and doesn't have this libdl.so dependancy. Only the FreeBSD 11 build appears affected.
What version of FreeBSD do you have? Packages are built for FreeBSD 11.2 now because 11.1 is no longer supported. FreeBSD 11.2 does have libdl.
Yeah, my VM is on FreeBSD 11.1 still
I am running 11.2-RELEASE-p4, which I got to via freebsd-update, and I do not have libdl.so.1
(In reply to Sean Eric Fagan from comment #3)
Did you follow all the steps documented here:
Closing this since I've confirmed that after updating to 11.2 things work as expected
if exists any conflict in config or another file, then need manual correct it, but any editer use libdl.so.1 which in 11.2.
And how can I upgrade to 11.2 without this lib?
Guys, help me please to fix this problem.
As far as I can tell, at one point I upgraded via buildworld, and because of that, freebsd-update did not work properly afterwards.
So now I must always update via source.
I updating always through the freebsd-update.
Maybe I just download this file from freebsd.org? Give me pls link if it exist.
by the way, I executed 'pkg upgrade -f gnutls', but that not help to me.
n I executed 'ln -s /usr/lib/libdl.so.2 /usr/lib/libdl.so.1' n still have problem.
(In reply to cybermerlin from comment #10)
Try "ln -sf /lib/libc.so.7 /usr/lib/libdl.so.1"
(In reply to Tijl Coosemans from comment #11)
I just downloaded base.tgz, unpacked, copied "url/lib/libdl.so" to '/usr/lib/libdl.so.1' and done.
BTW, guys, I mean developers|maintainers, this is very bad style, always have same troubles.