Created attachment 176200 [details] Full build log --- CMakeFiles/libi2pd.dir/Crypto.cpp.o --- /usr/ports/security/i2pd/work/i2pd-2.10.0/Crypto.cpp:138:3: error: use of undeclared identifier 'DSA_set0_pqg' DSA_set0_pqg (dsa, BN_dup (dsap), BN_dup (dsaq), BN_dup (dsag)); ^ /usr/ports/security/i2pd/work/i2pd-2.10.0/Crypto.cpp:139:3: error: use of undeclared identifier 'DSA_set0_key' DSA_set0_key (dsa, NULL, NULL); ^ ... make[5]: stopped in /usr/ports/security/i2pd/work/i2pd-2.10.0 *** [CMakeFiles/libi2pd.dir/all] Error code 2 make[4]: stopped in /usr/ports/security/i2pd/work/i2pd-2.10.0 1 error make[4]: stopped in /usr/ports/security/i2pd/work/i2pd-2.10.0 *** [all] Error code 2 make[3]: stopped in /usr/ports/security/i2pd/work/i2pd-2.10.0 1 error make[3]: stopped in /usr/ports/security/i2pd/work/i2pd-2.10.0 ===> Compilation failed unexpectedly.
What's your system version and make.conf contents?
It's FreeBSD 11.0. make.conf: KERNCONF=GENERIC CPUTYPE?=native CFLAGS= -O2 -pipe -funroll-loops COPTFLAGS= -O2 -pipe -funroll-loops OPTIONS_UNSET=X11 OPTIONS_UNSET=DEBUG MK_PROFILE=no OPTIMIZED_CFLAGS=YES BUILD_OPTIMIZED=YES BUILD_STATIC=YES WITH_PKGNG=yes WITH_CPUFLAGS=YES OPTIONS_SET=OPTIMIZED_CFLAGS DEFAULT_VERSIONS+=ssl=libressl
The previous version had been successfully built without that issue.
Obviously i2pd does not support libressl. In fact, I've tried to build it with DEFAULT_VERSIONS+=ssl=libressl, and the build failed because some dependencies do not build with libressl either.
I've failed upstream bug: https://github.com/PurpleI2P/i2pd/issues/699 and marked the port broken with libressl.
A commit references this bug: Author: amdmi3 Date: Fri Nov 4 13:01:49 UTC 2016 New revision: 425318 URL: https://svnweb.freebsd.org/changeset/ports/425318 Log: - Mark BROKEN with LibreSSL PR: 213819 Submitted by: igor.arabesc.pavlov@gmail.com Changes: head/security/i2pd/Makefile
Created attachment 176644 [details] Add compatibility with LibreSSL Patch contains the changes done in the i2pd trunk that are required for compatibility with LibreSSL.
i2pd port has been updated to the version 2.11.0 and it can be successfully built with the LibreSSL now. It's time to remove the LibreSSL broken state from the Makefile.
(In reply to Igor Pavlov from comment #8) > i2pd port has been updated to the version 2.11.0 and it can be successfully > built with the LibreSSL now. It cannot, it fails with boost related link errors.
I've successfully built i2pd v2.11.0 with LibreSSL. And there were no boost related issues. # pkg info | grep i2pd i2pd-2.11.0_1 # pkg info | grep libressl libressl-2.4.4 # pkg info | grep boost boost-all-1.62.0 boost-docs-1.62.0 boost-jam-1.62.0 boost-libs-1.62.0_1Boost.Python)
I'm building it in a clean poudriere jail with the following make.conf (options needed for curl to build): DEFAULT_VERSIONS+= ssl=libressl OPTIONS_UNSET= TLS_SRP OPTIONS_SET= GSAPI_NONE and the port fails with: CMakeFiles/i2pd.dir/Daemon.cpp.o: In function `boost::asio::ssl::detail::openssl_init_base::do_init::~do_init()': /wrkdirs/usr/ports/security/i2pd/work/i2pd-2.11.0/Daemon.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev]+0x2c): undefined reference to `SSL_COMP_free_compression_methods' CMakeFiles/i2pd.dir/I2PControl.cpp.o: In function `boost::asio::ssl::context::context(boost::asio::ssl::context_base::method)': /wrkdirs/usr/ports/security/i2pd/work/i2pd-2.11.0/I2PControl.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE]+0x3d): undefined reference to `SSLv3_client_method' /wrkdirs/usr/ports/security/i2pd/work/i2pd-2.11.0/I2PControl.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE]+0x5b): undefined reference to `SSLv3_server_method' /wrkdirs/usr/ports/security/i2pd/work/i2pd-2.11.0/I2PControl.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE]+0x15e): undefined reference to `SSLv3_method' Until it builds fine, I can't remove BROKEN.