Topic: [NO-UPDATE] Error integrating WolfSSL with my app in Linux


I have built the wolfssl library with all the commands that I think are necessary for my application.. here is a list of all the configure commands

./configure --enable-harden --enable-certgen --enable-certreq --enable-dtls --enable-psk --enable-nullcipher --enable-debug \
--enable-opensslextra --enable-ripemd --enable-sha512 --enable-extended-master --enable-sniffer --enable-tlsx \
--enable-secure-renegotiation --enable-aesgcm --enable-supportedcurves --enable-ecc --enable-eccshamir --enable-static

I also modified makefile for my application to include the wolfssl shared library which gets created in/usr/local/lib..
But I am still getting a couple of errors while build my application, I am not sure if I missed some configure build options or if I messed up some place else.

Here is the error response I get while building my application

cc -o EadkDemo EadkDemo.o  EADK.a  -lwolfssl -lpthread 
EADK.a(sslplatform.o): In function `WolfSslEx_get_supported_cipher_list':
sslplatform.c:(.text+0x15): undefined reference to `GetCipherNames'
sslplatform.c:(.text+0x27): undefined reference to `GetCipherNamesSize'
collect2: error: ld returned 1 exit status
make: *** [EadkDemo] Error 1

Can someone tell me why I am getting this error ? because I have included "wolfssl/internal.h" file in  "sslplatform.c" file, which does contain reference to GetCipherNames and GetCipherNamesSize..

Thank you for your help in advance.


Re: [NO-UPDATE] Error integrating WolfSSL with my app in Linux

Hi ashetty,

Those functions are "internal" as defined by `WOLFSSL_LOCAL`, which tells the compiler not to export them via wolfssl/wolfcrypt/visilbility.h "#define WOLFSSL_LOCAL __attribute__ ((visibility("hidden")))".

Is there a reason you aren't using a public API like: `wolfSSL_get_cipher_list`, `wolfSSL_get_ciphers`, `wolfSSL_get_ciphers_iana`?

If you really want to expose the internal API's you'll need to un-define HAVE_VISIBILITY or un-define BUILDING_WOLFSSL.

David Garske, wolfSSL