Oracle Linux 8でNmap 7.93がコンパイルできなかった。
$ curl -O https://nmap.org/dist/nmap-7.93.tar.bz2
$ sudo cp nmap-7.93.tar.bz2 /usr/local/src/
$ cd /usr/local/src/
$ tar jxf nmap-7.93.tar.bz2
$ cd ./nmap-7.93/
$ sudo ./configure --prefix=/usr/local/nmap-7.93 --without-libssh2
:
Configured with: nping openssl zlib lua ncat
Configured without: localdirs ndiff zenmap libssh2
Type make (or gmake on some *BSD machines) to compile.
WARNING: You are compiling without LibSSH2
makeするとncatのhttp_digest.cでエラーが発生してコンパイルできなかった。
$ sudo make
:
gcc -o ncat -g -O2 -Wall -L../libpcap ncat_main.o ncat_connect.o ncat_core.o ncat_posix.o ncat_listen.o ncat_proxy.o ncat_ssl.o base64.o http.o util.o sys_wrap.o http_
digest.o ncat_lua.o ../nsock/src/libnsock.a ../nbase/libnbase.a -lssl -lcrypto -lpcap ./../liblua/liblua.a -lm -ldl
http_digest.o: In function `make_response':
/usr/local/src/nmap-7.93/ncat/http_digest.c:183: undefined reference to `EVP_MD_CTX_create'
http_digest.o: In function `make_nonce':
/usr/local/src/nmap-7.93/ncat/http_digest.c:156: undefined reference to `EVP_MD_CTX_create'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:120: ncat] Error 1
make[1]: Leaving directory '/usr/local/src/nmap-7.93/ncat'
make: *** [Makefile:163: build-ncat] Error 2
コミュニティにも投稿されている既知の問題らしい。
Oracle Linux 8だけでなく、Red Hat Enterprise Linux 8系、AlmaLinux, Rocky Linux, MIRACLE Linuxとかもだめだと思う。
7.9.3 fails to build with OpenSSL 1.1. #2516
OpenSSL 1.1の問題なら、openssl3-develを入れたらどうよ、と思ったんだけど、うまく行かなかった。–with-openssl=/usr/include/openssl3を指定してもだめだった。/usr/include/openssl3/openssl/配下にファイルがあるんだけど、/usr/include/openssl3/includeを探しに行っちゃうんだよね。多分問題はそれだけじゃない気がする。
おとなしく、バージョン7.92を使うか、7.94を待つことにする。