Fail to compile against OpenSSL 1.0.2

Dominyk Tiller dominyktiller at gmail.com
Wed Feb 11 11:31:05 PST 2015


The latest OpenSSL 1.0.2 causes OpenConnect to fail to compile. It looks
like it's trying to link into the static libraries rather than dynamic
libraries on OS X - I don't know if that's expected behaviour or not
though, so apologies if that's expected.

If you specify the OpenSSL (1.0.2) directory to build against:

=========================================================================================
*** Warning: Linking the shared library libopenconnect.la against the
*** static library /usr/local/opt/openssl/lib/libssl.a is not portable!

*** Warning: Linking the shared library libopenconnect.la against the
*** static library /usr/local/opt/openssl/lib/libcrypto.a is not portable!
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
file: .libs/libopenconnect.a(libopenconnect_la-compat.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
file: .libs/libopenconnect.a(libopenconnect_la-compat.o) has no symbols
  CCLD     openconnect
Undefined symbols for architecture x86_64:
  "_openconnect_check_peer_cert_hash", referenced from:
      _validate_peer_cert in openconnect-main.o
  "_openconnect_fopen_utf8", referenced from:
      _main in openconnect-main.o
  "_openconnect_free_cert_info", referenced from:
      _validate_peer_cert in openconnect-main.o
  "_openconnect_get_hostname", referenced from:
      _main in openconnect-main.o
  "_openconnect_get_ifname", referenced from:
      _main in openconnect-main.o
  "_openconnect_get_ip_info", referenced from:
      _main in openconnect-main.o
  "_openconnect_get_peer_cert_details", referenced from:
      _validate_peer_cert in openconnect-main.o
  "_openconnect_get_peer_cert_hash", referenced from:
      _main in openconnect-main.o
      _validate_peer_cert in openconnect-main.o
  "_openconnect_has_oath_support", referenced from:
      _print_build_opts in openconnect-main.o
  "_openconnect_has_pkcs11_support", referenced from:
      _print_build_opts in openconnect-main.o
  "_openconnect_has_stoken_support", referenced from:
      _print_build_opts in openconnect-main.o
  "_openconnect_has_system_key_support", referenced from:
      _print_build_opts in openconnect-main.o
  "_openconnect_has_tss_blob_support", referenced from:
      _print_build_opts in openconnect-main.o
  "_openconnect_has_yubioath_support", referenced from:
      _print_build_opts in openconnect-main.o
  "_openconnect_init_ssl", referenced from:
=========================================================================================



If you don't specify the OpenSSL directory it hooks into the system
outdated OpenSSL, skipping over the OpenSSL 1.0.2 that is the first
OpenSSL in the $PATH:

=========================================================================================
otool -L /usr/local/bin/openconnect
	/usr/local/Cellar/openconnect/7.04/lib/libopenconnect.5.dylib
(compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current
version 0.9.8)
	/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current
version 0.9.8)

=========================================================================================

Hopefully the readout is useful,

Dom
-- 
Sent from OS X. If you wish to communicate more securely my PGP Public
Key is 0x872524db9d74326c.



More information about the openconnect-devel mailing list