[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: link error with libgcrypt
From: |
Bruno Haible |
Subject: |
Re: link error with libgcrypt |
Date: |
Sun, 29 Oct 2017 16:00:52 +0100 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-97-generic; KDE/5.18.0; x86_64; ; ) |
Hi Jia,
> I will still have a link failure with crypto/gc-sm3 and even
> crypto/gc.
>
> In order to reproduce this link failure, I need to have a latest
> libgcrypt installed, and then configure gnulib in this way:
>
> $ ./gnulib-tool --create-testdir --dir=testdir --single-configure
> crypto/gc-sm3 // or crypto/gc
> $ cd testdir
> $ ./configure CPPFLAGS=-Wall --with-libgcrypt
> --with-libgcrypt-prefix=<path_to_libgcrypt> // with gc-libgcrypt
> $ make
>
> ... the gc-libgcrypt case will require
> libgcrypt, and we will see a link failure.
>
> To fix this issue, I must specify *--libtool* with gnulib-tool.
In normal situations, you need libtool only for _creating_ shared
libraries, not for merely linking with shared libraries. And a
gnulib testdir does not create shared libraries.
What exactly was the link error about? Did it not find libgcrypt,
or did it not find a dependency of it (libgpg-error)?
Did you install the "latest libgcrypt" in system directories?
If yes, try running ldconfig.
If no, the AC_LIB_HAVE_LINKFLAGS macro may not work right for you.
- As a workaround, try using
CPPFLAGS="-I<path_to_libgcrypt>/include" LDFLAGS="-L<path_to_libgcrypt>/lib
-Wl,-rpath,<path_to_libgcrypt>/lib"
- or maybe you are on a bi-arch system, and there is a mismatch
between 'lib' and lib64'. You can resolve this by placing a symlink
lib64 -> lib or lib -> lib64.
Bruno