CMake 3.25.1 Fails to Bootstrap on old openSUSE Linux
Bootstrapping is something that should work also on old machines, specially for a project like a build system that aims to be a fancy GNU Make replacement. The build steps:
./bootstrap --prefix=/home/mmmv/applications/CMake/v_3_25_1 --no-qt-gui
# That step worked fine. No errors what so ever.
gmake
# step gave the following symptoms:
The symptoms:
[ 23%] Building C object Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/vssh/libssh2.c.o
[ 23%] Building C object Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/vssh/wolfssh.c.o
[ 23%] Linking C static library libcmcurl.a
[ 23%] Built target cmcurl
[ 23%] Building C object Utilities/cmcurl/CMakeFiles/curltest.dir/curltest.c.o
[ 23%] Linking C executable curltest
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(sha256.c.o): in function `my_sha256_init':
sha256.c:(.text+0x45): undefined reference to `EVP_MD_CTX_new'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(sha256.c.o): in function `Curl_sha256it':
sha256.c:(.text+0x94): undefined reference to `EVP_MD_CTX_new'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: sha256.c:(.text+0xdd): undefined reference to `EVP_MD_CTX_free'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(sha256.c.o): in function `my_sha256_final':
sha256.c:(.text+0x36): undefined reference to `EVP_MD_CTX_free'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(openssl.c.o): in function `ossl_sha256sum':
openssl.c:(.text+0x17b): undefined reference to `EVP_MD_CTX_new'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x1bc): undefined reference to `EVP_MD_CTX_free'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(openssl.c.o): in function `ossl_version':
openssl.c:(.text+0x733): undefined reference to `OpenSSL_version'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(openssl.c.o): in function `ossl_init':
openssl.c:(.text+0xf6c): undefined reference to `OPENSSL_init_ssl'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(openssl.c.o): in function `cert_stuff':
openssl.c:(.text+0x2243): undefined reference to `OPENSSL_sk_pop_free'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x26a9): undefined reference to `EVP_PKEY_get_id'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x2da6): undefined reference to `OPENSSL_sk_pop'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x2de3): undefined reference to `OPENSSL_sk_num'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x2e0a): undefined reference to `OPENSSL_sk_pop_free'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(openssl.c.o): in function `ossl_connect_step1':
openssl.c:(.text+0x31de): undefined reference to `TLS_client_method'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x3546): undefined reference to `SSL_CTX_set_options'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x380d): undefined reference to `SSL_CTX_set_ciphersuites'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x38d0): undefined reference to `SSL_CTX_set_post_handshake_auth'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x3a48): undefined reference to `OPENSSL_sk_num'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x3a5c): undefined reference to `OPENSSL_sk_value'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x3abb): undefined reference to `OPENSSL_sk_pop_free'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x3b12): undefined reference to `SSL_CTX_load_verify_file'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x3b3c): undefined reference to `SSL_CTX_load_verify_dir'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x3c6f): undefined reference to `SSL_CTX_set_keylog_callback'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4109): undefined reference to `OPENSSL_sk_pop_free'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(openssl.c.o): in function `Curl_ossl_certchain':
openssl.c:(.text+0x418a): undefined reference to `OPENSSL_sk_num'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4209): undefined reference to `OPENSSL_sk_value'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x42d0): undefined reference to `X509_get_version'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4427): undefined reference to `X509_get_X509_PUBKEY'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x449b): undefined reference to `X509_get0_extensions'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x44a7): undefined reference to `OPENSSL_sk_num'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x44fb): undefined reference to `OPENSSL_sk_num'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x450c): undefined reference to `OPENSSL_sk_value'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4581): undefined reference to `X509_get0_notBefore'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x45d1): undefined reference to `X509_get0_notAfter'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4635): undefined reference to `EVP_PKEY_get_id'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4770): undefined reference to `EVP_PKEY_get_bn_param'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4782): undefined reference to `EVP_PKEY_get_bn_param'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4922): undefined reference to `EVP_PKEY_get_bn_param'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4934): undefined reference to `EVP_PKEY_get_bn_param'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4946): undefined reference to `EVP_PKEY_get_bn_param'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(openssl.c.o):openssl.c:(.text+0x4958): more undefined references to `EVP_PKEY_get_bn_param' follow
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(openssl.c.o): in function `Curl_ossl_verifyhost':
openssl.c:(.text+0x4ea7): undefined reference to `OPENSSL_sk_num'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4ef2): undefined reference to `OPENSSL_sk_value'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x4f0e): undefined reference to `ASN1_STRING_get0_data'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x523c): undefined reference to `ASN1_STRING_get0_data'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: lib/libcmcurl.a(openssl.c.o): in function `servercert':
openssl.c:(.text+0x52ec): undefined reference to `SSL_get1_peer_certificate'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x53f7): undefined reference to `X509_get0_notBefore'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x5446): undefined reference to `X509_get0_notAfter'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x55e9): undefined reference to `X509_get_X509_PUBKEY'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x5627): undefined reference to `X509_get_X509_PUBKEY'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x5d79): undefined reference to `SSL_get1_peer_certificate'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x5d99): undefined reference to `OPENSSL_sk_value'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: openssl.c:(.text+0x5dc0): undefined reference to `OPENSSL_sk_num'
collect2: error: ld returned 1 exit status
Utilities/cmcurl/CMakeFiles/curltest.dir/build.make:101: recipe for target 'Utilities/cmcurl/curltest' failed
gmake[2]: *** [Utilities/cmcurl/curltest] Error 1
CMakeFiles/Makefile2:1873: recipe for target 'Utilities/cmcurl/CMakeFiles/curltest.dir/all' failed
gmake[1]: *** [Utilities/cmcurl/CMakeFiles/curltest.dir/all] Error 2
Makefile:165: recipe for target 'all' failed
gmake: *** [all] Error 2
mmmv@terminal01:~/tmp_/kompil/cmake-3.25.1$ uname -a
Linux terminal01 4.4.126-48-default #1 SMP Sat Apr 7 05:22:50 UTC 2018 (f24992c) x86_64 x86_64 x86_64 GNU/Linux
mmmv@terminal01:~/tmp_/kompil/cmake-3.25.1$ gcc -version
gcc: error: unrecognized command line option ‘-version’
gcc: fatal error: no input files
compilation terminated.
mmmv@terminal01:~/tmp_/kompil/cmake-3.25.1$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/4.8/lto-wrapper
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.8 --enable-ssp --disable-libssp --disable-plugin --with-bugurl=https://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --enable-linker-build-id --enable-linux-futex --program-suffix=-4.8 --without-system-libunwind --with-arch-32=i586 --with-tune=generic --build=x86_64-suse-linux --host=x86_64-suse-linux
Thread model: posix
gcc version 4.8.5 (SUSE Linux)
mmmv@terminal01:~/tmp_/kompil/cmake-3.25.1$ ls
Auxiliary CMakeGraphVizOptions.cmake CompileFlags.cmake Templates
Bootstrap.cmk CMakeLists.txt Copyright.txt Testing
CMake.DeveloperReference.HTML.qs CMakeLogo.gif DartConfig.cmake Tests
CMake.Dialogs.QtGUI.qs CONTRIBUTING.rst DartConfiguration.tcl Utilities
CMake.Documentation.SphinxHTML.qs CPackConfig.cmake Help bin
CMake.qs CPackSourceConfig.cmake Licenses bootstrap
CMakeCPack.cmake CTestConfig.cmake Makefile cmake_install.cmake
CMakeCPackOptions.cmake CTestCustom.cmake Modules cmake_uninstall.cmake
CMakeCPackOptions.cmake.in CTestCustom.cmake.in Packaging cmake_uninstall.cmake.in
CMakeCache.txt CTestScript.cmake README.rst configure
CMakeFiles CTestTestfile.cmake Source doxygen.config
mmmv@terminal01:~/tmp_/kompil/cmake-3.25.1$