0 phenomena
Under Arch compile OpenWRT (15.05) cmcurl times wrong:
Linking C executable LIBCURL
LIB/LIBCMCURL.A (OPENSSL.C.O): in function ' Cert_stuff ': openssl.c: (. text+0x97a): Undefined reference to ' sk_num ' OPENSSL.C: (. text+0x99a): Undefined reference to ' Sk_pop ' openssl.c: (. text+0xa21): Undefined reference to ' sk_num ' OPENSSL.C: (. text+0xa62): Undefined reference to ' Sk_pop_free ' Lib/libcmcurl.a (OPENSSL.C.O): in function ' Curl_ossl_ Init ': openssl.c: (. text+0xf74): Undefined reference to ' Ssl_load_error_strings ' openssl.c: (. text+0xf79): undefined Reference to ' Ssl_library_init ' openssl.c: (. text+0xf89): Undefined reference to ' openssl_add_all_algorithms_noconf ' LIB/LIBCMCURL.A (OPENSSL.C.O): in function ' Curl_ossl_cleanup ': openssl.c: (. Text+0xfad): Undefined reference to ' Evp_ Cleanup ' openssl.c: (. text+0xfb2): Undefined reference to ' err_free_strings ' Lib/libcmcurl.a (OPENSSL.C.O): in function ' Verifyhost ': openssl.c: (. text+0x1a7a): Undefined reference to ' Sk_num ' openssl.c: (. text+0x1a9a): undefined reference to ' Sk_value ' Lib/libcmcurl.a (OPENSSL.C.O): in function ' Ossl_connect_step1 ': openssl.c: (. TEXT+0X29A5): Undefined reference to ' Sslv23_client_method ' Lib/libcmcurl.a (OPENSSL.C.O): in function ' X509v3_ext ': o PENSSL.C: (. text+0x3a77): Undefined reference to ' Sk_num ' openssl.c: (. Text+0x3aab): Undefined reference to ' Sk_value ' OPENSSL.C: (. text+0x3d5c): Undefined reference to ' Sk_num ' Lib/libcmcurl.a (OPENSSL.C.O): in function ' Get_cert_chain ': o PENSSL.C: (. text+0x3fe2): Undefined reference to ' Sk_num ' openssl.c: (. text+0x4061): Undefined reference to ' Sk_value ' Lib /LIBCMCURL.A (OPENSSL.C.O): in function ' curl_ossl_version ': openssl.c: (. text+0x61c3): Undefined reference to ' Ssleay ' Collect2:error:ld returned 1 exit status
It can be seen that the relevant library is not linked successfully.
1 Solutions
Consult the documentation and find out that these methods exist in old OpenSSL, first install the old version:
$ sudo pacman-s openssl-1.0
Using a soft link, change the default library point to use the old version (if you already have a soft link, you need to delete it first), such as:
# RM libcrypto.so# RM libssl.so# ln-s libcrypto.so.1.0.0 libcrypto.so# ln-s libssl.so.1.0.0 libssl.so
Compiling OpenWRT cmcurl problems and solutions in Arch