Compiling Seabolt on Arch Linux


(Matthew Browning) #1

As of v1.7.0-rc02 of Seabolt there seems to be an issue compiling on Arch Linux even after setting OPENSSL_ROOT_DIR.

Not sure if this is an issue with Arch Linux being a rolling release distro and Arch is using an incompatible version of OpenSSL.

If anyone has a greater insight to the issue I'd love to know.

Thanks!


(Ali Ince) #2

Hi @MattJBrowning,

We're aware of a problem regarding the newly introduced static library output. On some systems, openssl requires libz to be able to statically compiled and we don't add it to the target link libraries.

You can manually add target_link_libraries(seabolt-static PUBLIC z) line to the src/seabolt/src/CMakeLists.txt file until we fix the issue.

If this doesn't resolve the problem you're facing, could you please provide us with full output of the error?

Thanks.


(Matthew Browning) #3

Thanks for the response @ali.ince,

Adding that line didn't seem to change the output. Here is the error that it spits out in the terminal.

This is prompted when running ./make_release.sh and I do have OPENSSL_ROOT_DIR set.

-- 1.7.0-rc03
-- Building seabolt with TLS support
-- Using OPENSSL for TLS
-- Discovered OpenSSL shared libraries: /usr/lib/openssl-1.0/libssl.so;/usr/lib/openssl-1.0/libcrypto.so
CMake Error at /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
  system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY) (found
  version "1.0.2p")
Call Stack (most recent call first):
  /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.12/Modules/FindOpenSSL.cmake:412 (find_package_handle_standard_args)
  cmake/Internals.cmake:59 (find_package)
  src/seabolt/src/CMakeLists.txt:105 (find_openssl_both)
  src/seabolt/CMakeLists.txt:5 (include)
  src/CMakeLists.txt:14 (include)
  CMakeLists.txt:105 (include)

Thanks.


(Ali Ince) #4

1.7.0-rc03 adds static library output and uses that built static library while linking seabolt-test and seabolt-cli projects - which requires openssl static libraries to be present on the system. Most systems provide it by default using openssl-devel like packages but it seems that Arch Linux doesn't ship static libraries by default.

I think the right direction is to find out how to install those openssl static libraries on your system.

Thanks.


(Matthew Browning) #5

Ended up getting the seabolt release from Github and installing it. Will most likely see about making a AUR repo for Seabolt at some point in the future so Arch users can install it easier.

Thanks!