On 22-04-17 17:27, David Sommerseth wrote: > On 22/04/17 13:29, Gert Doering wrote: >> On Sat, Apr 22, 2017 at 08:28:33AM +0200, Steffan Karger wrote: >>>> v4 - Move the CFLAGS/LDFLAGS declarations before the manual >>>> version test; otherwise we're still testing the system install >>>> version >> [..] >>> This looks good now, ACK. >> >> I'm not exactly sure what happened here in v4 - but now it's broken for >> "just run configure, with no extra WITH_OPENSSL_* arguments" (on a system >> without pkgconfig). So, NAK, as annoying as you'll surely find me :-/ >> >> It does the version check just fine... >> >> configure:16566: checking additionally if OpenSSL is available and version >> >= 1. >> 0.1 >> configure:16587: cc -c -g -O2 -std=c99 conftest.c >&5 >> configure:16587: $? = 0 >> configure:16588: result: ok >> >> ... and then it tests for SSL_CTX_new, omitting the -lssl/-lcrypto bits: >> >> configure:16601: checking for SSL_CTX_new >> configure:16601: cc -o conftest -g -O2 -std=c99 conftest.c >&5 >> /var/tmp/conftest-e1c536.o: In function `main': >> /home/gert/src/openvpn-maint/test-build-master-fbsd/conftest.c:193: >> undefined re >> ference to `SSL_CTX_new' >> cc: error: linker command failed with exit code 1 (use -v to see invocation) >> >> >> ... failing. >> >> This is on FreeBSD 10.3, with the system libs, having pkg-config installed, >> but no openssl.pc: >> >> configure:16509: $PKG_CONFIG --exists --print-errors "libcrypto >= 1.0.1, >> libssl >> >= 1.0.1" >> Package libcrypto was not found in the pkg-config search path. >> Perhaps you should add the directory containing `libcrypto.pc' >> to the PKG_CONFIG_PATH environment variable >> Package 'libcrypto', required by 'virtual:world', not found >> Package 'libssl', required by 'virtual:world', not found >> >> (not sure if this is related, but maybe the configure code path for >> "pkg-config exists" is different from "no pkg-config found") >> >> >> On Linux, with pkg-config + openssl.pc, it works fine: >> >> configure:16601: checking for SSL_CTX_new >> configure:16601: gcc -o conftest -g -O2 -std=c99 conftest.c -lcrypto >> -lssl >>> &5 >> configure:16601: $? = 0 >> configure:16601: result: yes >> >> (-lcrypto -lssl present, though I wonder why it's putting -lcrypto >> first - dependency order should have -lssl first) > > I will dig further into this an submit a v5. Gee, this autotools stuff > can be fragile. Each time I fight with autotools, I think of migrating > to CMake. But each time I struggle with CMake, I think of migrating to > autotools. I so wonder if there are some sane alternatives - somewhat, > I doubt so :/
Gah, of course. Two things: 1) The OPENSSL_LIBS=${OPENSSL_LIBS:--lssl -lcrypto} line should be at the old location, and the new one should go. That's why it now fails on systems without pkg-config or _LIBS set manually. 2) The incorrect linking order is related to the stuff from ticket #863. "[libcrypto >= 1.0.1, libssl >= 1.0.1]" should be replaced with "[openssl >= 1.0.1]". I was waiting for this patch to get through before sending a follow-up patch for that, but I'm fine with integrating that into this patch too. -Steffan
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel