/usr/bin/ld: cannot find -lgcrypt

Code:
> gcc -o conftest -I/usr/local/include conftest.c -lgcrypt
/usr/bin/ld: cannot find -lgcrypt
> ldconfig -r | grep gcrypt
	308:-lgcrypt.17 => /usr/local/lib/libgcrypt.so.17
	890:-lgcrypt.16 => /usr/local/lib/compat/pkg/libgcrypt.so.16
> ldd /usr/local/lib/libgcrypt.so.17
/usr/local/lib/libgcrypt.so.17:
	libgpg-error.so.0 => /usr/local/lib/libgpg-error.so.0 (0x800c00000)
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x800d04000)
	libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x800e0d000)
	libc.so.7 => /lib/libc.so.7 (0x800645000)
> pkg_info | grep gcrypt
libgcrypt-1.4.6     General purpose crypto library based on code used in GnuPG
Tried to reinstall libgcrypt, nothing.

Simply don't understand why FreeBSD don't allow me to compile simple code with -lgcrypt, even if it's installed and loaded.
 
Test file from configure:
Code:
/* confdefs.h */
#define PACKAGE_NAME "libimobiledevice"
#define PACKAGE_TARNAME "libimobiledevice"
#define PACKAGE_VERSION "1.0.4"
#define PACKAGE_STRING "libimobiledevice 1.0.4"
#define PACKAGE_BUGREPORT "nospam@nowhere.com"
#define PACKAGE_URL ""
#define PACKAGE "libimobiledevice"
#define VERSION "1.0.4"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
/* end confdefs.h.  */

/* Override any GCC internal prototype to avoid an error.
   Use char because int might match the return type of a GCC
   builtin and then its argument prototype would still apply.  */
#ifdef __cplusplus
extern "C"
#endif
char gcry_control ();
int
main ()
{
return gcry_control ();
  ;
  return 0;
}

Code:
> gcc -o blah -I/usr/local/include blah.c -lgcrypt
/usr/bin/ld: cannot find -lgcrypt
 
% gcc -o blah -I/usr/local/include/ -L/usr/local/libs/ -lgcrypt blah.c
 
Sorry, the same:

Code:
> gcc -o blah -I/usr/local/include/ -L/usr/local/libs/ -lgcrypt blah.c
/usr/bin/ld: cannot find -lgcrypt
 
Does work, thank you:)
What I've to do to be visible by default?
Shouldn't ldconfig provide final list of available and working options?


Code:
> gcc -print-search-dirs
install: /usr/libexec/
programs: =/usr/bin/:/usr/bin/:/usr/libexec/:/usr/libexec/:/usr/libexec/
libraries: =/usr/lib/:/usr/lib/
> gcc -v -lgcrypt
Using built-in specs.
Target: amd64-undermydesk-freebsd
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 4.2.1 20070719  [FreeBSD]
 /usr/bin/ld --eh-frame-hdr -V -dynamic-linker /libexec/ld-elf.so.1 /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib -L/usr/lib -lgcrypt -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o
GNU ld version 2.15 [FreeBSD] 2004-05-23
  Supported emulations:
   elf_i386_fbsd
   elf_x86_64_fbsd
/usr/bin/ld: cannot find -lgcrypt
 
My configure script solved as well by following LDFLAGS:
Code:
> ./configure LDFLAGS="-L/usr/local/lib/"
 
Back
Top