Closed jugmac00 closed 4 years ago
I'd assume the Docker tests should(?) be independent of the host.
The SSH servers get compiled on the host, then a Docker image is created around them.
checking whether OpenSSL's headers match the library... no
configure: error: Your OpenSSL headers do not match your library.
Did you manually install another version of OpenSSL?
To debug this, try downloading OpenSSH v4.0 from the archives (https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-4.0p1.tar.gz / https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-4.0p1.tar.gz.sig), then simply do a "./configure && make -j XX". Once you fix the issues there, then the docker_test.sh script should work.
Please let me know if this is a general problem with Ubuntu 18, or if it was just a local issue.
I am pretty sure I did not touch my local OpenSSL version.
When downloading the mentioned package and trying to compile it, I get the same error message:
~/Downloads/openssh-4.0p1
❯ ./configure && make -j XX
checking for gcc... gcc
---- snip ----
checking OpenSSL header version... 1010100f (OpenSSL 1.1.1 11 Sep 2018)
checking OpenSSL library version... 1010100f (OpenSSL 1.1.1 11 Sep 2018)
checking whether OpenSSL's headers match the library... no
configure: error: Your OpenSSL headers do not match your library.
Check config.log for details.
Also see contrib/findssl.sh for help identifying header/library mismatches.
~/Downloads/openssh-4.0p1 took 9s
Both version numbers from above (header and library) look exactly the same.
I only have one Ubuntu box with 18.04 available (my dev machine) - so I cannot rule out that this is a local problem.
While there are tons of StackOverFlow questions/answers, currently I have no time for further debugging.
As I do not use the Docker tests and I just wanted to report a possible problem, which may be on my local machine, feel free to close the issue.
This is a problem with docker_test.sh, not your system.
The issue is that the development libraries for OpenSSL v1.0.x are necessary to build the older versions of OpenSSH and Dropbear. It's possible to install them on Ubuntu 18 with apt install libssl1.0-dev
, but your OpenSSL v1.1.1 headers would get automatically removed since they can't co-exist. But even if you're ok with that, I ran into other problems with building the image on Ubuntu 18.
The solution is for docker_test.sh to download & compile the sources of OpenSSL v1.0.x, then compile the SSH servers against this version.
Ubuntu 20 is likely affected by this issue as well.
I updated docker_test.sh
so that it now pulls & uses the image I built from Dockerhub. It should work for you now.
Now I'm the only person who has to deal with build issues. ;)
ALL TESTS PASS!
Works like a charm now. Thanks!
Without having a deeper look what the Docker tests actually do, I ran the script while on the current master.
I am on Ubuntu 18.04, but I'd assume the Docker tests should(?) be independent of the host.