- Newest
- Most votes
- Most comments
I'm not the original poster but I am having the exact same issue with Linux 2023. I tried copying both libssl(libcrypto).so , libssl(libcrypto).so.3, and tried libssl(libcrypto).so.1.1 in the same folder as libaws-cpp-sdk-gamelift.server.so and I am seeing the same error as the original post too.
Hi Micah,
For C++ SDK without using Unreal, you can just have the .so files with the Server executable. But with Unreal Engine you need to build the C++ SDK using the same version of OpenSSL that was used by Unreal Engine. UE5.1 uses OpenSSL1.1.n, but if you're on a different version you can double-check the version of OpenSSL by looking for the following log line from the UE packaging output window: "LogInit: - supports SSL with OpenSSL/1.1.1n".
Then, download the same version of OpenSSL from https://www.openssl.org/source/old/1.1.1/
$ cd ~/openssl-1.1.1n; ./config; make
$ mkdir lib
$ cp libcrypto.so.1.1 libssl.so.1.1 lib/
$ cd ~/GameLift-Cpp-ServerSDK-5.1.0/; mkdir out
$ export OPENSSL_ROOT_DIR=/home/ec2-user/openssl-1.1.1n/
$ export OPENSSL_LIBRARIES=/home/ec2-user/openssl-1.1.1n/lib/
$ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -S . -B ./out -DBUILD_FOR_UNREAL=1
$ cd out; make
Place the generated libaws-cpp-sdk-gamelift-server.so
in <UnrealProject>\Plugins\GameLiftServerSDK\ThirdParty\GameLiftServerSDK\Linux\x86_64-unknown-linux-gnu
. This is where Unreal links to the C++ SDK from during compilation and packaging. Detailed instructions on setting up the plugin can be found here.
After packaging the game server for Linux, copy over the .so files for OpenSSL into the package bundle. Your folder structure should finally look like:
-<Game>
--install.sh
--<MyUnrealProjectServer>.sh (This is the target .sh file that is generated by Unreal itself)
--<Game>\<MyUnrealProject>\Plugins\GameLiftServerSDK\ThirdParty\GameLiftServerSDK\Linux\x86_64-unknown-linux-gnu\
--libaws-cpp-sdk-gamelift-server.so
--libcrypto.so.1.1
--libssl.so.1.1
I am getting the following error after the make command
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (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
OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.22/Modules/FindOpenSSL.cmake:574 (find_package_handle_standard_args)
CMakeLists.txt:10 (find_package)
Any ideas what's going on here? thanks
Relevant content
- Accepted Answerasked 2 months ago
- asked a year ago
- Accepted Answerasked 6 years ago
- AWS OFFICIALUpdated a year ago
Hey Justin, thanks for raising this concern. I've updated my original answer to be more descriptive. The SDK needs to built with openssl-1.1.1n in addition to including
libssl(libcrypto).so.1.1
. Withlibssl(libcrypto).so.3
there is a version conflict with openssl-1.1.1n that is statically linked by Unreal into the game server executable. Building (and bundling) the SDK with the same version of openssl (openssl-1.1.1n
) should help mitigate the problem.