Archlinux: problem with OpenSSL, undefined references

Hello everyone!

I’ve come back to openframeworks after a couple of weeks, tried to compile a project and I now get this error:

/home/dimitri/Documents/development/of_v0.9.8_linux64_release/libs/poco/lib/linux64/libPocoNetSSL.a(Context.o): In function `Poco::Net::Context::createSSLContext()':
Context.cpp:(.text+0x731): undefined reference to `SSLv23_client_method'
Context.cpp:(.text+0x749): undefined reference to `SSLv23_server_method'
/home/dimitri/Documents/development/of_v0.9.8_linux64_release/libs/poco/lib/linux64/libPocoCrypto.a(X509Certificate.o): In function `Poco::Crypto::X509Certificate::extractNames(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) const':
X509Certificate.cpp:(.text+0x1717): undefined reference to `sk_num'
X509Certificate.cpp:(.text+0x1729): undefined reference to `sk_value'
/home/dimitri/Documents/development/of_v0.9.8_linux64_release/libs/poco/lib/linux64/libPocoCrypto.a(OpenSSLInitializer.o): In function `Poco::Crypto::OpenSSLInitializer::uninitialize()':
OpenSSLInitializer.cpp:(.text+0x297): undefined reference to `EVP_cleanup'
OpenSSLInitializer.cpp:(.text+0x29c): undefined reference to `ERR_free_strings'
OpenSSLInitializer.cpp:(.text+0x2a3): undefined reference to `CRYPTO_set_locking_callback'
OpenSSLInitializer.cpp:(.text+0x2aa): undefined reference to `CRYPTO_set_id_callback'
/home/dimitri/Documents/development/of_v0.9.8_linux64_release/libs/poco/lib/linux64/libPocoCrypto.a(OpenSSLInitializer.o): In function `Poco::Crypto::OpenSSLInitializer::initialize()':
OpenSSLInitializer.cpp:(.text+0x391): undefined reference to `SSL_library_init'
OpenSSLInitializer.cpp:(.text+0x396): undefined reference to `SSL_load_error_strings'
OpenSSLInitializer.cpp:(.text+0x39b): undefined reference to `OPENSSL_add_all_algorithms_noconf'
OpenSSLInitializer.cpp:(.text+0x3d3): undefined reference to `CRYPTO_num_locks'
OpenSSLInitializer.cpp:(.text+0x456): undefined reference to `CRYPTO_set_locking_callback'
OpenSSLInitializer.cpp:(.text+0x460): undefined reference to `CRYPTO_set_id_callback'
OpenSSLInitializer.cpp:(.text+0x46a): undefined reference to `CRYPTO_set_dynlock_create_callback'
OpenSSLInitializer.cpp:(.text+0x474): undefined reference to `CRYPTO_set_dynlock_lock_callback'
OpenSSLInitializer.cpp:(.text+0x47e): undefined reference to `CRYPTO_set_dynlock_destroy_callback'
/home/dimitri/Documents/development/of_v0.9.8_linux64_release/libs/poco/lib/linux64/libPocoCrypto.a(OpenSSLInitializer.o): In function `Poco::Crypto::OpenSSLInitializer::uninitialize()':
OpenSSLInitializer.cpp:(.text+0x313): undefined reference to `CONF_modules_free'

I’ve tried reinstalling the openframeworks codecs and dependencies, no effect.

Has anyone else been having this issue?

Maybe you can try using the nightly build? I think I’ve read about openssl being updated and breaking things. Checking if the nightlies work (which differ quite a lot from the 0.8 version) might help to pinpoint the problem.

I’m not having any problems with 9.8 on Debian, but I’m not sure how much Jessie is like Arch.

Yeah I had a feeling it would be like that…

I’ll try the nightly.

Good to know it works on Debian though. I might have to fallback on that for a project that has a deadline in a couple of weeks x) (Obviously)

Where do I find the nightly builds?
The files here: http://openframeworks.cc/versions/nightly/ don’t seem to be up to date?
Do I need to get the master branch on github or is there another way?

Never mind, I managed to update Poco using Apothecary using this

./apothecary -g -s poco-1.7.8-release update poco
1 Like