← Back to team overview

sslug-teknik team mailing list archive

SV: Problemer med lænkning

 





>________________________________
> Fra: Robert Larsen <robert@xxxxxxxxxxxxxxxxx>
>
>Jeg prøver at compile noget kode, som benytter SHA256 funktionerne fra
>openssl/sha.h, men jeg kan sgi ikke få det til at lænke:
>
>$ make
>cc `pkg-config --libs --cflags libssl` -o hash hash.c
>/tmp/ccZoqZAW.o: In function `check_hash':
>hash.c:(.text+0x31): undefined reference to `SHA256_Init'
>hash.c:(.text+0x4f): undefined reference to `SHA256_Update'
>hash.c:(.text+0x65): undefined reference to `SHA256_Final'
>collect2: error: ld returned 1 exit status
>make: *** [hash] Error 1
>
>[...]
>
>...og hvis jeg lister dens symboler, så ligger funktionerne der:
>$ objdump -T
>/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/libcrypto.so|grep
>SHA256
>0000000000068640 g    DF .text    000000000000000a  OPENSSL_1.0.0
>SHA256_Transform
>0000000000068330 g    DF .text    00000000000000e2  OPENSSL_1.0.0
>SHA256_Init
>0000000000068420 g    DF .text    000000000000020f  OPENSSL_1.0.0
>SHA256_Update
>0000000000068830 g    DF .text    0000000000000078  OPENSSL_1.0.0 SHA256
>0000000000068650 g    DF .text    00000000000001c7  OPENSSL_1.0.0
>SHA256_Final
>
>Ved nogen, hvad jeg gør galt?
>
>
Hej Robert,

Nu ved jeg ikke hvordan hash.c ser ud så det er bare et par skud i tågen herfra.

Hvis du vil bruge .so filen lyder det til at du vil linke dynamisk. Plejer man så ikke at skulle have "-ldl" med i cc kommandoen - og måske også "-rdynamic" ?

Eller mangler du at installere -dev pakken ? Hos mig er "libcrypto.a" i "libssl-dev" pakken.

Mvh
-- Jan

References