На Дебиане 11 сборка gost-engine с вероятностью 99.99% происходит в условиях, когда в системе есть openssl 1.1, который установлен через apt, и openssl 3, который собран из исходников и который собран специально для gost-engine (потому что gost-engine требует именно третий openssl). Так вот, libcrypto третьего openssl лежит по пути /usr/local/lib64/libcrypto.so , а libcrypto от первого openssl лежит по пути /usr/lib/x86_64-linux-gnu/libcrypto.so
Запуск cmake (-DCMAKE_BUILD_TYPE=Release -DOPENSSL_ENGINES_DIR=/usr/local/lib64/engines-3) приводит к тому, что происходит следующее:
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so
-- Found OpenSSL application: /usr/local/bin/openssl
То есть, саму программу он нашёл правильно, а вот библиотеку неправильно. Установка параметра OPENSSL_ROOT_DIR не помогает. Я понимаю, что это косяк CMake и FindOpenSSL, но в файле INSTALL.md надо пояснить этот момент. Чтобы FindOpenSSL в таких условиях правильно нашёл либу, надо указать вот это
-DCMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX=64
На Дебиане 11 сборка gost-engine с вероятностью 99.99% происходит в условиях, когда в системе есть openssl 1.1, который установлен через apt, и openssl 3, который собран из исходников и который собран специально для gost-engine (потому что gost-engine требует именно третий openssl). Так вот, libcrypto третьего openssl лежит по пути /usr/local/lib64/libcrypto.so , а libcrypto от первого openssl лежит по пути /usr/lib/x86_64-linux-gnu/libcrypto.so
Запуск cmake (-DCMAKE_BUILD_TYPE=Release -DOPENSSL_ENGINES_DIR=/usr/local/lib64/engines-3) приводит к тому, что происходит следующее:
То есть, саму программу он нашёл правильно, а вот библиотеку неправильно. Установка параметра OPENSSL_ROOT_DIR не помогает. Я понимаю, что это косяк CMake и FindOpenSSL, но в файле INSTALL.md надо пояснить этот момент. Чтобы FindOpenSSL в таких условиях правильно нашёл либу, надо указать вот это