2016-10-27 2 views
0

J'essaie de compiler Panotools pour le bras. Je compilé toutes les bibliothèques de dépendance (TIFF, ZLIB, JPEG), mais Panotools' configure échoue sur libtiff:Références non définies dans la bibliothèque TIFF

checking for TIFF support ...
configure: tiff home set to /usr/local
checking tiff.h usability... yes
checking tiff.h presence... yes
checking for tiff.h... yes
checking for TIFFOpen in -ltiff... no
checking if TIFF package is complete... no -- some components failed test
configure: error:
the tiff library must be installed on your system
but configure could not find it.

Comme vous pouvez le voir peut trouver tiff.h, et en regardant dans config.log semble que cela trouve aussi la bibliothèque, mais échoue en raison de certaines références non définies. Voici quelques du journal:

configure:12446: checking for TIFFOpen in -ltiff 
configure:12471: arm-linux-gnueabihf-gcc -o conftest -g -O2 -IC:\tiff-3.9.4\libtiff -IC:\PROGRA~2\GnuWin32\src\libjpeg\jpeg-6b -I/usr/local/include -L/usr/local/lib conftest.c -ltiff -lz -ljpeg -LC:\tiff-3.9.4\libtiff\.libs -LC:\tiff-3.9.4\port\.libs -LC:/PROGRA~2/GnuWin32/src/libjpeg/jpeg-6b >&5 
C:/MinGW/msys/1.0/local/lib\libtiff.a(tif_aux.o): In function `TIFFDefaultTransferFunction': 
c:\tiff-3.9.4\libtiff/tif_aux.c:81: undefined reference to `pow' 
c:\tiff-3.9.4\libtiff/tif_aux.c:81: undefined reference to `floor' 
C:/MinGW/msys/1.0/local/lib\libtiff.a(tif_luv.o): In function `oog_encode': 
c:\tiff-3.9.4\libtiff/tif_luv.c:776: undefined reference to `atan2' 
c:\tiff-3.9.4\libtiff/tif_luv.c:803: undefined reference to `atan2' 
C:/MinGW/msys/1.0/local/lib\libtiff.a(tif_luv.o): In function `LogL16toY': 
c:\tiff-3.9.4\libtiff/tif_luv.c:657: undefined reference to `exp' 
C:/MinGW/msys/1.0/local/lib\libtiff.a(tif_luv.o): In function `L16toGry': 
c:\tiff-3.9.4\libtiff/tif_luv.c:696: undefined reference to `sqrt' 
C:/MinGW/msys/1.0/local/lib\libtiff.a(tif_luv.o): In function `LogL16fromY': 
c:\tiff-3.9.4\libtiff/tif_luv.c:672: undefined reference to `log' 
C:/MinGW/msys/1.0/local/lib\libtiff.a(tif_luv.o): In function `XYZtoRGB24': 
c:\tiff-3.9.4\libtiff/tif_luv.c:725: undefined reference to `sqrt' 
C:/MinGW/msys/1.0/local/lib\libtiff.a(tif_pixarlog.o):c:\tiff-3.9.4\libtiff/tif_pixarlog.c:901: more undefined references to `log' follow 
C:/MinGW/msys/1.0/local/lib\libtiff.a(tif_pixarlog.o): In function `PixarLogMakeTables': 
c:\tiff-3.9.4\libtiff/tif_pixarlog.c:541: undefined reference to `exp' 
collect2.exe: error: ld returned 1 exit status 
configure:12471: $? = 1 
configure: failed program was: 
| ... 
| 
| /* 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 TIFFOpen(); 
| int 
| main() 
| { 
| return TIFFOpen(); 
| ; 
| return 0; 
| } 
configure:12480: result: no 

Here quelqu'un ayant le même problème, mais en raison d'une autre raison (libtiff ne se trouve pas du tout). Et here il est dit que jbig est une bibliothèque de dépendances pour libtiff donc j'ai essayé de l'inclure pour le compilateur (bien que here il ne soit pas mentionné comme une bibliothèque de dépendances) et rien n'a changé. Pourquoi est-ce que j'obtiens ces références indéfinies? Où sont définis ces symboles? Toute bibliothèque que j'ai besoin d'ajouter à l'éditeur de liens?

Répondre

0

Toutes ces références non définies appartiennent à la bibliothèque math, il suffit donc de l'inclure pour l'éditeur de liens. Ajoutez ceci à la commande de compilation lors de l'exécution configure:

LDFLAGS=-lm