error when linking with OpenSSL library dynamically

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 01, 2016 at 10:21:49PM +0100, Martin Vegter wrote:

> I have a C program, which is using AES routines from the OpenSSL
> library. I have the necessary library installed (libssl-dev
> 1.0.1e-2+deb7u19):
> 
>   $ ls /usr/lib/x86_64-linux-gnu/libcrypto.*
>   /usr/lib/x86_64-linux-gnu/libcrypto.a
>   /usr/lib/x86_64-linux-gnu/libcrypto.so
>   /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
> 
> I can compile my program statically:
> 
>   gcc -s -o aes aes.c /usr/lib/x86_64-linux-gnu/libcrypto.a
> 
> but when i try to compile it dynamically, I get following error:
> 
>   $ gcc -s -o aes aes.c -lcrypto
>   /tmp/ccofFr4N.o: In function `encrypt':
>   aes.c:(.text+0x9f): undefined reference to `aesni_set_encrypt_key'
>   aes.c:(.text+0xd9): undefined reference to `aesni_cbc_encrypt'
>   aes.c:(.text+0x1a0): undefined reference to `aesni_cbc_encrypt'
>   /tmp/ccofFr4N.o: In function `decrypt':
>   aes.c:(.text+0x2d4): undefined reference to `aesni_set_decrypt_key'
>   aes.c:(.text+0x31e): undefined reference to `aesni_cbc_encrypt'
>   collect2: error: ld returned 1 exit status

You're using internal function names that are not exported by the
libcrypto shared library on Debian systems.  Use the EVP interface.

In future versions of OpenSSL constrained visibility of shared
library symbols will be extended to more platforms (than just Debian
where the export list was created by the Debian package maintainer).

The EVP interface is faster on many systems (supports AES-NI on
suitably capable Intel CPUs) and also safer (avoids timing
side-channels).

-- 
	Viktor.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux