Skip to main content
1-Visitor
April 1, 2016
Question

Unable to Compile SteamSensor - SSL defines

  • April 1, 2016
  • 1 reply
  • 1391 views

I'm running the latest CSDK - 1.3.1-957. I switched the compile flags to my compiler and am having a hard time resolving the following referenced. Note that compile is all ok. It is a link time error. I've checked all the include files as well as made sure that CONFIG_SSL_ENABLE_CLIENT is set to 1 under thirdparty/axTLS.

#define CONFIG_SSL_ENABLE_CLIENT 1

This is using the SteamSensor example.

/opt/uClinux/bfin-uclinux/lib/gcc/bfin-uclinux/4.1.2/../../../../bfin-uclinux/bin/ld.real: Warning: gc-sections option ignored

../../../build/obj/gcc-linux-bfin/debug/libTw.a(tls1.o): In function `ssl_ctx_free':

../src/thirdParty/axTLS/ssl/tls1.c:206: undefined reference to `_remove_ca_certs'

../../../build/obj/gcc-linux-bfin/debug/libTw.a(x509.o): In function `sig_verify':

../src/thirdParty/axTLS/ssl/x509.c:276: undefined reference to `_bi_import'

../src/thirdParty/axTLS/ssl/x509.c:280: undefined reference to `_bi_mod_power2'

../src/thirdParty/axTLS/ssl/x509.c:282: undefined reference to `_bi_export'

../src/thirdParty/axTLS/ssl/x509.c:297: undefined reference to `_bi_import'

../src/thirdParty/axTLS/ssl/x509.c:302: undefined reference to `_bi_clear_cache'

../../../build/obj/gcc-linux-bfin/debug/libTw.a(x509.o): In function `x509_verify':

../src/thirdParty/axTLS/ssl/x509.c:415: undefined reference to `_bi_clone'

../src/thirdParty/axTLS/ssl/x509.c:415: undefined reference to `_bi_clone'

../src/thirdParty/axTLS/ssl/x509.c:419: undefined reference to `_bi_compare'

1 reply

gseq1-VisitorAuthor
1-Visitor
April 1, 2016

Tracing further.. it is because CONFIG_SSL_CERT_VERIFICATION is not defined. However it is defined in crypto.h through CONFIG_SSL_ENABLE_CLIENT.

/* enable features based on a 'super-set' capbaility. */

#if defined(CONFIG_SSL_FULL_MODE)

#define CONFIG_SSL_ENABLE_CLIENT

#define CONFIG_SSL_CERT_VERIFICATION

#elif defined(CONFIG_SSL_ENABLE_CLIENT)

#define CONFIG_SSL_CERT_VERIFICATION

#endif

Any help is appreciated.

1-Visitor
April 2, 2016

The bi_XXX functions are in the AxTLS library in  crypto/bigint.c, are you sure you included that in the Makefile you created for your uClinux port?

gseq1-VisitorAuthor
1-Visitor
April 5, 2016

Thanks for your help.

The issue was a compilation problem. Our app code is in g++, while TW in gcc. It compiles well now, but I have a BSD socket issue now in another ticket.