This shouldn't refer to the full path "/usr/lib64/libunistring.so" - it should be just "-lunistring". So if you're lucky enough to have a static version of all these libraries, static linking (gcc -static) will actually work.
Edited
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
I can verify that this happens in fedora. I see that the detection of libunistring is done by AC_LIB_HAVE_LINKFLAGS. It may be something in fedora that makes it decide to link directly with the .so.
if test "$ac_cv_libunistring" = "yes";then AC_SEARCH_LIBS(u8_normalize, unistring, [], [ac_cv_libunistring=no])fiAM_CONDITIONAL(HAVE_LIBUNISTRING, test "$ac_cv_libunistring" = "yes")
Just tested on our fedora29 docker image (fresh local build) and I can't reproduce:
# cat lib/gnutls.pc# Process this file with autoconf to produce a pkg-config metadata file.# Copyright (C) 2004-2012 Free Software Foundation, Inc.# Copying and distribution of this file, with or without modification,# are permitted in any medium without royalty provided the copyright# notice and this notice are preserved. This file is offered as-is,# without any warranty.# Author: Simon Josefssonprefix=/usr/localexec_prefix=${prefix}libdir=${exec_prefix}/libincludedir=${prefix}/includeName: GnuTLSDescription: Transport Security Layer implementation for the GNU systemURL: http://www.gnutls.org/Version: 3.6.5Libs: -L${libdir} -lgnutlsLibs.private: -ltspi -lgmp -lunistring -lidn2Requires.private: nettle, hogweed, libtasn1, p11-kit-1Cflags: -I${includedir}
OK, then it's a packaging issue at Fedora and it must be fixed there.
What I did is building the latest GnuTLS from git (on Fedora28 / Fedora29) to see if there is a fundamental issue with either GnuTLS's build system or with the development packages provided by Fedora. It isn't.
@nmav Did you open an issue at Fedora ? We could then close this one here.
Isn't that what Debian package building basically does (make install + then collect the data) ?
Yes. The significant difference to your build is that Debian is using multiarch, i.e. we set --libdir. e.g. on amd64 the following command sequence will reproduce the issue:
mkdir b4deb ; cd b4deb ; ../configure --without-tpm --disable-guile --disable-rpath --enable-libdane --prefix=/usr --libdir=\${prefix}/lib/x86_64-linux-gnu && make -j5