13eb5
![]() |
|
|
|
|
|||||||
| Userland Programming & Scripting C, Shell, Perl, Sed & Awk |
![]() |
|
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
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 Simply don't understand why FreeBSD don't allow me to compile simple code with -lgcrypt, even if it's installed and loaded.
__________________
> uname -a FreeBSD kenorb 8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Oct 19 15:28:55 BST 2010 root@kenorb:/usr/obj/usr/src/sys/BRO amd64 |
|
#2
|
|||
|
|||
|
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
__________________
> uname -a FreeBSD kenorb 8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Oct 19 15:28:55 BST 2010 root@kenorb:/usr/obj/usr/src/sys/BRO amd64 |
|
#3
|
||||
|
||||
% gcc -o blah -I/usr/local/include/ -L/usr/local/libs/ -lgcrypt blah.c
__________________
Senior UNIX Engineer at Unix Support Nederland Experience is something you don't get until just after you need it. |
| The Following User Says Thank You to SirDice For This Useful Post: | ||
kenorb (December 6th, 2010) | ||
|
#4
|
|||
|
|||
|
Sorry, the same:
Code:
> gcc -o blah -I/usr/local/include/ -L/usr/local/libs/ -lgcrypt blah.c /usr/bin/ld: cannot find -lgcrypt
__________________
> uname -a FreeBSD kenorb 8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Oct 19 15:28:55 BST 2010 root@kenorb:/usr/obj/usr/src/sys/BRO amd64 |
|
#6
|
|||
|
|||
|
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
__________________
> uname -a FreeBSD kenorb 8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Oct 19 15:28:55 BST 2010 root@kenorb:/usr/obj/usr/src/sys/BRO amd64 Last edited by kenorb; December 6th, 2010 at 16:43. |
|
#7
|
||||
|
||||
|
Oops.. Typo..
__________________
Senior UNIX Engineer at Unix Support Nederland Experience is something you don't get until just after you need it. |
|
#8
|
||||
|
||||
|
LD will not check 3rd party lib path (/usr/local/lib) only native library path (/usr/lib) by default.
|
|
#9
|
|||
|
|||
|
Tried to made workaround by:
Code:
sudo ln -s /usr/local/lib/libgcrypt.so.17 /usr/lib/libgcrypt.so.17 && sudo ldconfig -R Is there any FreeBSD version of ld.so.conf? Found this: http://lists.freebsd.org/pipermail/f...ne/001746.html Quote:
__________________
> uname -a FreeBSD kenorb 8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Oct 19 15:28:55 BST 2010 root@kenorb:/usr/obj/usr/src/sys/BRO amd64 |
|
#10
|
||||
|
||||
|
Thats because you need libgcrypt.a for linking, libgcrypt.so.x is for dynamic loading.
|
|
#11
|
|||
|
|||
|
My configure script solved as well by following LDFLAGS:
Code:
> ./configure LDFLAGS="-L/usr/local/lib/"
__________________
> uname -a FreeBSD kenorb 8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Oct 19 15:28:55 BST 2010 root@kenorb:/usr/obj/usr/src/sys/BRO amd64 |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| /usr/bin/ld: cannot find -ldl | cell | Porting New Software | 8 | February 14th, 2013 17:53 |
| [Solved] /usr/bin/find: Argument list too long. | Speedy | Userland Programming & Scripting | 3 | October 29th, 2010 00:33 |
| /etc/crontab and /usr/bin/mail | TheGuyGuy | General | 6 | July 20th, 2009 11:02 |
| /usr/bin/ld: unrecognized option '-pthread' | rocky | Installation and Maintenance of FreeBSD Ports or Packages | 2 | May 21st, 2009 10:21 |
| FreeBSD 7.1 and /usr/bin/script | MadLord | Userland Programming & Scripting | 5 | January 16th, 2009 15:26 |