BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
2.02k stars 446 forks source link

Issue compiling BOINC on Debian Bookworm w OpenSSL 3.0.14 #5861

Closed makeasnek closed 1 hour ago

makeasnek commented 3 hours ago

Describe the bug Unable to compile BOINC on Debian bookworm (this is part of an effort to update boinc-server-docker). openssl version gives OpenSSL 3.0.14 4 Jun 2024 (Library: OpenSSL 3.0.14 4 Jun 2024).

When trying to compile initially, I get a bunch of errors about openssl being deprecated:

30.19 crypt.cpp: In function 'int encrypt_private(R_RSA_PRIVATE_KEY&, DATA_BLOCK&, DATA_BLOCK&)':
30.19 crypt.cpp:267:22: warning: 'RSA* RSA_new()' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   267 |     RSA* rp = RSA_new();
30.19       |               ~~~~~~~^~
30.19 In file included from /usr/include/openssl/x509.h:36,
30.19                  from /usr/include/openssl/ssl.h:31,
30.19                  from crypt.cpp:38:
30.19 /usr/include/openssl/rsa.h:201:28: note: declared here
30.19   201 | OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
30.19       |                            ^~~~~~~
30.19 crypt.cpp:269:33: warning: 'int RSA_private_encrypt(int, const unsigned char*, unsigned char*, RSA*, int)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   269 |     retval = RSA_private_encrypt(n, in.data, out.data, rp, RSA_PKCS1_PADDING);
30.19       |              ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:285:5: note: declared here
30.19   285 | int RSA_private_encrypt(int flen, const unsigned char *from, unsigned char *to,
30.19       |     ^~~~~~~~~~~~~~~~~~~
30.19 crypt.cpp:271:17: warning: 'void RSA_free(RSA*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   271 |         RSA_free(rp);
30.19       |         ~~~~~~~~^~~~
30.19 /usr/include/openssl/rsa.h:293:28: note: declared here
30.19   293 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
30.19       |                            ^~~~~~~~
30.19 crypt.cpp:274:23: warning: 'int RSA_size(const RSA*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   274 |     out.len = RSA_size(rp);
30.19       |               ~~~~~~~~^~~~
30.19 /usr/include/openssl/rsa.h:204:27: note: declared here
30.19   204 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
30.19       |                           ^~~~~~~~
30.19 crypt.cpp:275:13: warning: 'void RSA_free(RSA*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   275 |     RSA_free(rp);
30.19       |     ~~~~~~~~^~~~
30.19 /usr/include/openssl/rsa.h:293:28: note: declared here
30.19   293 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
30.19       |                            ^~~~~~~~
30.19 crypt.cpp: In function 'int decrypt_public(R_RSA_PUBLIC_KEY&, DATA_BLOCK&, DATA_BLOCK&)':
30.19 crypt.cpp:281:22: warning: 'RSA* RSA_new()' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   281 |     RSA* rp = RSA_new();
30.19       |               ~~~~~~~^~
30.19 /usr/include/openssl/rsa.h:201:28: note: declared here
30.19   201 | OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
30.19       |                            ^~~~~~~
30.19 crypt.cpp:283:32: warning: 'int RSA_public_decrypt(int, const unsigned char*, unsigned char*, RSA*, int)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   283 |     retval = RSA_public_decrypt(in.len, in.data, out.data, rp, RSA_PKCS1_PADDING);
30.19       |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:288:5: note: declared here
30.19   288 | int RSA_public_decrypt(int flen, const unsigned char *from, unsigned char *to,
30.19       |     ^~~~~~~~~~~~~~~~~~
30.19 crypt.cpp:285:17: warning: 'void RSA_free(RSA*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   285 |         RSA_free(rp);
30.19       |         ~~~~~~~~^~~~
30.19 /usr/include/openssl/rsa.h:293:28: note: declared here
30.19   293 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
30.19       |                            ^~~~~~~~
30.19 crypt.cpp:288:23: warning: 'int RSA_size(const RSA*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   288 |     out.len = RSA_size(rp);
30.19       |               ~~~~~~~~^~~~
30.19 /usr/include/openssl/rsa.h:204:27: note: declared here
30.19   204 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
30.19       |                           ^~~~~~~~
30.19 crypt.cpp:289:13: warning: 'void RSA_free(RSA*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   289 |     RSA_free(rp);
30.19       |     ~~~~~~~~^~~~
30.19 /usr/include/openssl/rsa.h:293:28: note: declared here
30.19   293 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
30.19       |                            ^~~~~~~~
30.19 crypt.cpp: In function 'void openssl_to_keys(RSA*, int, R_RSA_PRIVATE_KEY&, R_RSA_PUBLIC_KEY&)':
30.19 crypt.cpp:475:17: warning: 'void RSA_get0_key(const RSA*, const BIGNUM**, const BIGNUM**, const BIGNUM**)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   475 |     RSA_get0_key(rp, &n, &e, &d);
30.19       |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:217:28: note: declared here
30.19   217 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA *r,
30.19       |                            ^~~~~~~~~~~~
30.19 crypt.cpp:476:21: warning: 'void RSA_get0_factors(const RSA*, const BIGNUM**, const BIGNUM**)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   476 |     RSA_get0_factors(rp, &p, &q);
30.19       |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:220:28: note: declared here
30.19   220 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_factors(const RSA *r,
30.19       |                            ^~~~~~~~~~~~~~~~
30.19 crypt.cpp:477:24: warning: 'void RSA_get0_crt_params(const RSA*, const BIGNUM**, const BIGNUM**, const BIGNUM**)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   477 |     RSA_get0_crt_params(rp, &dmp1, &dmq1, &iqmp);
30.19       |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:225:28: note: declared here
30.19   225 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_crt_params(const RSA *r,
30.19       |                            ^~~~~~~~~~~~~~~~~~~
30.19 crypt.cpp: In function 'void private_to_openssl(R_RSA_PRIVATE_KEY&, RSA*)':
30.19 crypt.cpp:528:17: warning: 'int RSA_set0_key(RSA*, BIGNUM*, BIGNUM*, BIGNUM*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   528 |     RSA_set0_key(rp, n, e, d);
30.19       |     ~~~~~~~~~~~~^~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:207:27: note: declared here
30.19   207 | OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
30.19       |                           ^~~~~~~~~~~~
30.19 crypt.cpp:529:21: warning: 'int RSA_set0_factors(RSA*, BIGNUM*, BIGNUM*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   529 |     RSA_set0_factors(rp, p, q);
30.19       |     ~~~~~~~~~~~~~~~~^~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:208:27: note: declared here
30.19   208 | OSSL_DEPRECATEDIN_3_0 int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
30.19       |                           ^~~~~~~~~~~~~~~~
30.19 crypt.cpp:530:24: warning: 'int RSA_set0_crt_params(RSA*, BIGNUM*, BIGNUM*, BIGNUM*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   530 |     RSA_set0_crt_params(rp, dmp1, dmq1, iqmp);
30.19       |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:209:27: note: declared here
30.19   209 | OSSL_DEPRECATEDIN_3_0 int RSA_set0_crt_params(RSA *r,
30.19       |                           ^~~~~~~~~~~~~~~~~~~
30.19 crypt.cpp: In function 'void public_to_openssl(R_RSA_PUBLIC_KEY&, RSA*)':
30.19 crypt.cpp:549:17: warning: 'int RSA_set0_key(RSA*, BIGNUM*, BIGNUM*, BIGNUM*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   549 |     RSA_set0_key(rp, n, e, NULL);
30.19       |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:207:27: note: declared here
30.19   207 | OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
30.19       |                           ^~~~~~~~~~~~
30.19 crypt.cpp: In function 'int openssl_to_private(RSA*, R_RSA_PRIVATE_KEY*)':
30.19 crypt.cpp:579:17: warning: 'void RSA_get0_key(const RSA*, const BIGNUM**, const BIGNUM**, const BIGNUM**)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   579 |     RSA_get0_key(from, &n, &e, &d);
30.19       |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:217:28: note: declared here
30.19   217 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA *r,
30.19       |                            ^~~~~~~~~~~~
30.19 crypt.cpp:580:21: warning: 'void RSA_get0_factors(const RSA*, const BIGNUM**, const BIGNUM**)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   580 |     RSA_get0_factors(from, &p, &q);
30.19       |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:220:28: note: declared here
30.19   220 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_factors(const RSA *r,
30.19       |                            ^~~~~~~~~~~~~~~~
30.19 crypt.cpp:581:24: warning: 'void RSA_get0_crt_params(const RSA*, const BIGNUM**, const BIGNUM**, const BIGNUM**)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   581 |     RSA_get0_crt_params(from, &dmp1, &dmq1, &iqmp);
30.19       |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:225:28: note: declared here
30.19   225 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_crt_params(const RSA *r,
30.19       |                            ^~~~~~~~~~~~~~~~~~~
30.19 crypt.cpp: In function 'int check_validity_of_cert(const char*, const unsigned char*, unsigned char*, int, const char*)':
30.19 crypt.cpp:678:32: warning: 'const rsa_st* EVP_PKEY_get0_RSA(const EVP_PKEY*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   678 |         rsa = EVP_PKEY_get0_RSA(pubKey);
30.19       |               ~~~~~~~~~~~~~~~~~^~~~~~~~
30.19 In file included from /usr/include/openssl/x509.h:29:
30.19 /usr/include/openssl/evp.h:1348:22: note: declared here
30.19  1348 | const struct rsa_st *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey);
30.19       |                      ^~~~~~~~~~~~~~~~~
30.19 crypt.cpp:678:32: error: invalid conversion from 'const rsa_st*' to 'RSA*' {aka 'rsa_st*'} [-fpermissive]
30.19   678 |         rsa = EVP_PKEY_get0_RSA(pubKey);
30.19       |               ~~~~~~~~~~~~~~~~~^~~~~~~~
30.19       |                                |
30.19       |                                const rsa_st*
30.19 crypt.cpp:679:29: warning: 'int RSA_blinding_on(RSA*, BN_CTX*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   679 |         if (!RSA_blinding_on(rsa, c)) {
30.19       |              ~~~~~~~~~~~~~~~^~~~~~~~
30.19 /usr/include/openssl/rsa.h:371:27: note: declared here
30.19   371 | OSSL_DEPRECATEDIN_3_0 int RSA_blinding_on(RSA *rsa, BN_CTX *ctx);
30.19       |                           ^~~~~~~~~~~~~~~
30.19 crypt.cpp:690:28: warning: 'int RSA_verify(int, const unsigned char*, unsigned int, const unsigned char*, unsigned int, RSA*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   690 |         retval = RSA_verify(NID_md5, md5_md, MD5_DIGEST_LENGTH, sfileMsg, sfsize, rsa);
30.19       |                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/rsa.h:351:27: note: declared here
30.19   351 | OSSL_DEPRECATEDIN_3_0 int RSA_verify(int type, const unsigned char *m,
30.19       |                           ^~~~~~~~~~
30.19 crypt.cpp:691:25: warning: 'void RSA_blinding_off(RSA*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   691 |         RSA_blinding_off(rsa);
30.19       |         ~~~~~~~~~~~~~~~~^~~~~
30.19 /usr/include/openssl/rsa.h:372:28: note: declared here
30.19   372 | OSSL_DEPRECATEDIN_3_0 void RSA_blinding_off(RSA *rsa);
30.19       |                            ^~~~~~~~~~~~~~~~
30.19 crypt.cpp: In function 'char* check_validity(const char*, const char*, unsigned char*, char*)':
30.19 crypt.cpp:731:13: warning: 'int MD5_Init(MD5_CTX*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   731 |     MD5_Init(&md5CTX);
30.19       |     ~~~~~~~~^~~~~~~~~
30.19 In file included from crypt.cpp:39:
30.19 /usr/include/openssl/md5.h:49:27: note: declared here
30.19    49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
30.19       |                           ^~~~~~~~
30.19 crypt.cpp:733:19: warning: 'int MD5_Update(MD5_CTX*, const void*, size_t)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   733 |         MD5_Update(&md5CTX, rbuf, rbytes);
30.19       |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/md5.h:50:27: note: declared here
30.19    50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
30.19       |                           ^~~~~~~~~~
30.19 crypt.cpp:735:14: warning: 'int MD5_Final(unsigned char*, MD5_CTX*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   735 |     MD5_Final(md5_md, &md5CTX);
30.19       |     ~~~~~~~~~^~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/md5.h:51:27: note: declared here
30.19    51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
30.19       |                           ^~~~~~~~~
30.19 crypt.cpp: In function 'int cert_verify_file(CERT_SIGS*, const char*, const char*)':
30.19 crypt.cpp:779:13: warning: 'int MD5_Init(MD5_CTX*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   779 |     MD5_Init(&md5CTX);
30.19       |     ~~~~~~~~^~~~~~~~~
30.19 /usr/include/openssl/md5.h:49:27: note: declared here
30.19    49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
30.19       |                           ^~~~~~~~
30.19 crypt.cpp:781:19: warning: 'int MD5_Update(MD5_CTX*, const void*, size_t)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   781 |         MD5_Update(&md5CTX, rbuf, rbytes);
30.19       |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/md5.h:50:27: note: declared here
30.19    50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
30.19       |                           ^~~~~~~~~~
30.19 crypt.cpp:783:14: warning: 'int MD5_Final(unsigned char*, MD5_CTX*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
30.19   783 |     MD5_Final(md5_md, &md5CTX);
30.19       |     ~~~~~~~~~^~~~~~~~~~~~~~~~~
30.19 /usr/include/openssl/md5.h:51:27: note: declared here
30.19    51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
30.19       |                           ^~~~~~~~~
30.23 make[2]: *** [Makefile:1750: libboinc_crypt_la-crypt.lo] Error 1
30.23 make[2]: Leaving directory '/usr/local/boinc/lib'
30.23 make[1]: Leaving directory '/usr/local/boinc'
30.23 make[1]: *** [Makefile:650: all-recursive] Error 1
30.23 make: *** [Makefile:554: all] Error 2
------
failed to solve: process "/bin/sh -c cd /usr/local/boinc && ./_autosetup && ./configure --disable-client --disable-manager && make" did not complete successfully: exit code: 2

ChatGPT suggested I could just compile with make CXXFLAGS="-Wno-deprecated-declarations -fpermissive" to ignore these, so I tried that. It failed due to a call to python which doesn't exist, so I installed the python-is-python3 package to symlink python to the python3 executable.

Now I get these compile errors

36.90                  from ./sched_limit.h:25,
36.90                  from ./sched_config.h:25,
36.90                  from ../tools/backend_lib.h:24,
36.90                  from adjust_user_priority.cpp:31:
36.90 ../lib/coproc.h: In member function 'void COPROC::clear()':
36.90 ../lib/coproc.h:230:15: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct PCI_INFO'; use assignment or value-initialization instead [-Wclass-memaccess]
36.90   230 |         memset(&pci_info, 0, sizeof(pci_info));
36.90       |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36.90 ../lib/coproc.h:133:8: note: 'struct PCI_INFO' declared here
36.90   133 | struct PCI_INFO {
36.90       |        ^~~~~~~~
36.96 cd ../sched; make libsched.la
36.97 make[3]: Entering directory '/usr/local/boinc/sched'
36.97   CXX      libsched_la-credit.lo
38.24   CXX      libsched_la-sched_shmem.lo
39.15   CXX      libsched_la-sched_util.lo
39.36 sched_util.cpp: In function 'int restrict_wu(WORKUNIT&, DB_ID_TYPE, int)':
39.36 sched_util.cpp:115:23: error: 'time' was not declared in this scope
39.36   115 |     asg.create_time = time(0);
39.36       |                       ^~~~
39.36 sched_util.cpp:24:1: note: 'time' is defined in header '<ctime>'; did you forget to '#include <ctime>'?
39.36    23 | #include "sched_util.h"
39.36   +++ |+#include <ctime>
39.36    24 | 
39.39 make[3]: *** [Makefile:1769: libsched_la-sched_util.lo] Error 1
39.39 make[3]: Leaving directory '/usr/local/boinc/sched'
39.39 make[2]: *** [Makefile:2841: ../sched/libsched.la] Error 2
39.39 make[2]: Leaving directory '/usr/local/boinc/sched'
39.39 make[1]: *** [Makefile:650: all-recursive] Error 1
39.39 make[1]: Leaving directory '/usr/local/boinc'
39.39 make: *** [Makefile:554: all] Error 2

ChatGPT suggests the only way this can be fixed is by modifying some of the C++ code which is a bit beyond my skill level.

AenBleidd commented 2 hours ago

This is not possible. Line 678 in crypt.cpp can be active for the OpenSSL version < 1.1.0 This means that the configure script found older version of OpenSSL installed, and thus activated wrong branch. I suggest to check configure log to verify that the found OpenSSL installation is the correct one.

makeasnek commented 2 hours ago

Thank you for your help on this

Here is the output from ./configure

> [makeproject base  7/12] RUN cd /usr/local/boinc && ./configure --disable-client --disable-manager:
0.254 checking build system type... x86_64-pc-linux-gnu
0.290 checking host system type... x86_64-pc-linux-gnu
0.290 checking target system type... x86_64-pc-linux-gnu
0.290 checking for a BSD-compatible install... /usr/bin/install -c
0.296 checking whether build environment is sane... yes
0.303 checking for a race-free mkdir -p... /usr/bin/mkdir -p
0.305 checking for gawk... no
0.305 checking for mawk... /usr/bin/mawk
0.305 checking whether make sets $(MAKE)... yes
0.312 checking whether make supports nested variables... yes
0.317 checking whether make supports nested variables... (cached) yes
0.321 checking for gcc... gcc
0.340 checking whether the C compiler works... yes
0.367 checking for C compiler default output file name... a.out
0.368 checking for suffix of executables... 
0.394 checking whether we are cross compiling... no
0.424 checking for suffix of object files... o
0.439 checking whether the compiler supports GNU C... yes
0.452 checking whether gcc accepts -g... yes
0.465 checking for gcc option to enable C11 features... none needed
0.500 checking whether gcc understands -c and -o together... yes
0.526 checking whether make supports the include directive... yes (GNU style)
0.532 checking dependency style of gcc... gcc3
0.556 checking for g++... /usr/bin/g++
0.571 checking whether the compiler supports GNU C++... yes
0.586 checking whether /usr/bin/g++ accepts -g... yes
0.600 checking for /usr/bin/g++ option to enable C++11 features... none needed
0.657 checking dependency style of /usr/bin/g++... gcc3
0.682 checking for g++... /usr/bin/g++
0.697 checking whether the compiler supports GNU Objective C++... no
0.705 checking whether /usr/bin/g++ accepts -g... no
0.727 checking dependency style of /usr/bin/g++... gcc3
0.750 checking how to run the C preprocessor... gcc -E
0.789 checking whether make sets $(MAKE)... (cached) yes
0.790 checking for ln... /usr/bin/ln
0.790 checking whether '/usr/bin/ln' works... yes
0.795 checking whether ln -s works... yes
0.795 checking whether 'ln -s' really works or whether I'm deluding myself... it works
0.797 checking if C compiler supports -Wall... yes
0.826 checking if C++ compiler supports -Wall... yes
0.863 --- Configuring BOINC 7.15.0 (Release) ---
0.863 --- Build Components: ( libraries server) ---
0.864 checking for docbook2x-man... no
0.864 checking for stdio.h... yes
0.879 checking for stdlib.h... yes
0.897 checking for string.h... yes
0.916 checking for inttypes.h... yes
0.934 checking for stdint.h... yes
0.953 checking for strings.h... yes
0.971 checking for sys/stat.h... yes
0.990 checking for sys/types.h... yes
1.008 checking for unistd.h... yes
1.028 checking for sys/time.h... yes
1.049 checking whether we are compiling for cygwin... no
1.049 checking for winsock2.h... (cached) no
1.049 checking for winsock.h... (cached) no
1.049 checking for windows.h... no
1.072 checking for sys/socket.h... yes
1.094 checking dependency style of gcc... gcc3
1.117 checking how to print strings... printf
1.118 checking for a sed that does not truncate output... /usr/bin/sed
1.122 checking for grep that handles long lines and -e... /usr/bin/grep
1.123 checking for egrep... /usr/bin/grep -E
1.124 checking for fgrep... /usr/bin/grep -F
1.125 checking for ld used by gcc... /usr/bin/ld
1.129 checking if the linker (/usr/bin/ld) is GNU ld... yes
1.131 checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
1.133 checking the name lister (/usr/bin/nm -B) interface... BSD nm
1.149 checking the maximum length of command line arguments... 1572864
1.154 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
1.154 checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
1.154 checking for /usr/bin/ld option to reload object files... -r
1.155 checking for file... file
1.155 checking for objdump... objdump
1.155 checking how to recognize dependent libraries... pass_all
1.155 checking for dlltool... dlltool
1.155 checking how to associate runtime and link libraries... printf %s\n
1.155 checking for ar... /usr/bin/ar
1.155 checking for archiver @FILE support... @
1.177 checking for strip... strip
1.177 checking for ranlib... ranlib
1.177 checking command to parse /usr/bin/nm -B output from gcc object... ok
1.230 checking for sysroot... no
1.230 checking for a working dd... /usr/bin/dd
1.233 checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
1.249 checking for mt... no
1.249 checking if : is a manifest tool... no
1.253 checking for dlfcn.h... yes
1.276 checking for objdir... .libs
1.325 checking if gcc supports -fno-rtti -fno-exceptions... no
1.343 checking for gcc option to produce PIC... -fPIC -DPIC
1.343 checking if gcc PIC flag -fPIC -DPIC works... yes
1.360 checking if gcc static flag -static works... yes
1.416 checking if gcc supports -c -o file.o... yes
1.443 checking if gcc supports -c -o file.o... (cached) yes
1.443 checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
1.455 checking whether -lc should be explicitly linked in... no
1.476 checking dynamic linker characteristics... GNU/Linux ld.so
1.520 checking how to hardcode library paths into programs... immediate
1.520 checking for shl_load... no
1.567 checking for shl_load in -ldld... no
1.602 checking for dlopen... yes
1.643 checking whether a program can dlopen itself... yes
1.690 checking whether a statically linked program can dlopen itself... no
1.760 checking whether stripping libraries is possible... yes
1.762 checking if libtool supports shared libraries... yes
1.762 checking whether to build shared libraries... yes
1.762 checking whether to build static libraries... yes
1.765 checking how to run the C++ preprocessor... /usr/bin/g++ -E
1.897 checking for ld used by /usr/bin/g++... /usr/bin/ld -m elf_x86_64
1.899 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
1.906 checking whether the /usr/bin/g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
1.976 checking for /usr/bin/g++ option to produce PIC... -fPIC -DPIC
1.976 checking if /usr/bin/g++ PIC flag -fPIC -DPIC works... yes
1.996 checking if /usr/bin/g++ static flag -static works... yes
2.057 checking if /usr/bin/g++ supports -c -o file.o... yes
2.084 checking if /usr/bin/g++ supports -c -o file.o... (cached) yes
2.085 checking whether the /usr/bin/g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
2.085 checking dynamic linker characteristics... (cached) GNU/Linux ld.so
2.087 checking how to hardcode library paths into programs... immediate
2.088 checking default bitness of compiler... 64
2.108 checking boinc platform... x86_64-pc-linux-gnu
2.111 checking alternate boinc platform... i686-pc-linux-gnu
2.111 checking library extension... a
2.113 checking shared object extension... so
2.113 checking for mysql_config... /usr/bin/mysql_config
2.113 checking mysql libraries... -L/usr/lib/x86_64-linux-gnu/ -lmariadb
2.115 checking mysql includes... -I/usr/include/mariadb -I/usr/include/mariadb/mysql
2.117 checking if CFLAG '-include fcgi_stdio.h' works... no
2.135 configure: WARNING:  fcgi-stdio.h not found.
2.135 ------------------------------------------------------------
2.135 Disabling FCGI.  Will not build components that require FCGI
2.135 ------------------------------------------------------------
2.135         
2.136 checking for pkg-config... /usr/bin/pkg-config
2.142 checking for openssl... yes
2.147 OpenSSL found in /usr
2.284 checking for shmget in dynamic library cygipc... no
2.540 checking for aio_fork in dynamic library aio... no
2.806 checking for dlopen in dynamic library dl...  -ldl
3.005 checking for gethostbyname in static library nsl...  -lnsl
3.277 checking for static library freetype... no
3.452 checking for dynamic library freetype... no
3.662 checking for bind in static library socket... no
3.842 checking for bind in dynamic library socket... no
4.052 checking for gzopen in static library z...  -lz
4.373 checking for md5_finish in dynamic library cups... no
4.486 checking for the pthreads library -lpthreads... no
4.528 checking whether pthreads work without any flags... yes
4.574 checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
4.611 checking if more special flags are required for pthreads... no
4.611 checking for PTHREAD_PRIO_INHERIT... yes
4.666 checking for X... no
4.721 checking for the pthreads library -lpthreads... no
4.765 checking whether pthreads work without any flags... yes
4.809 checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
4.852 checking if more special flags are required for pthreads... no
4.852 checking for PTHREAD_PRIO_INHERIT... (cached) yes
4.853 checking whether we are using the Microsoft C compiler... no
4.872 checking for windows.h... (cached) no
4.872 checking for OpenGL library... no
4.907 checking for OpenGL Utility library... no
4.943 checking for fopen in -lXmu... no
4.973 checking for fopen in -lXi... no
5.006 checking for GLUT library... no
5.078 configure: WARNING:
5.078 ================================================================================
5.078 WARNING: Development libraries and headers ("-dev") of {openGL, GLU, glut} needed!
5.078 
5.078 The GL, GLU and glut libraries are required in order to build the graphical parts
5.078 of the BOINC application API library.
5.078 
5.078 ==> only building non-graphical parts of the BOINC API Library for now.
5.078 
5.078 HINT: on MacOS X/Darwin you might consider running configure with the option
5.078       './configure --with-apple-opengl-framework'
5.078       in order to use the Mac-native openGL framework
5.078 
5.078 ================================================================================
5.078        
5.081 checking for dirent.h that defines DIR... yes
5.114 checking for library containing opendir... none required
5.148 checking for egrep... (cached) /usr/bin/grep -E
5.149 checking for sys/wait.h that is POSIX.1 compatible... yes
5.174 checking return type of signal handlers... void
5.194 checking for sys/types.h... (cached) yes
5.195 checking for sys/un.h... yes
5.220 checking for arpa/inet.h... yes
5.252 checking for dirent.h... yes
5.276 checking for grp.h... yes
5.299 checking for fcntl.h... yes
5.321 checking for inttypes.h... (cached) yes
5.322 checking for stdint.h... (cached) yes
5.322 checking for memory.h... yes
5.343 checking for netdb.h... yes
5.367 checking for netinet/in.h... yes
5.389 checking for netinet/tcp.h... yes
5.413 checking for netinet/ether.h... yes
5.436 checking for net/if.h... yes
5.459 checking for net/if_arp.h... yes
5.481 checking for signal.h... yes
5.504 checking for strings.h... (cached) yes
5.504 checking for sys/auxv.h... yes
5.526 checking for sys/file.h... yes
5.548 checking for sys/fcntl.h... yes
5.569 checking for sys/ipc.h... yes
5.591 checking for sys/ioctl.h... yes
5.613 checking for sys/msg.h... yes
5.634 checking for sys/param.h... yes
5.658 checking for sys/resource.h... yes
5.680 checking for sys/select.h... yes
5.701 checking for sys/sem.h... yes
5.723 checking for sys/shm.h... yes
5.745 checking for sys/sockio.h... no
5.768 checking for sys/socket.h... (cached) yes
5.768 checking for sys/stat.h... (cached) yes
5.768 checking for sys/statvfs.h... yes
5.790 checking for sys/statfs.h... yes
5.812 checking for sys/systeminfo.h... no
5.835 checking for sys/time.h... (cached) yes
5.835 checking for sys/types.h... (cached) yes
5.835 checking for sys/utsname.h... yes
5.856 checking for sys/vmmeter.h... no
5.878 checking for sys/wait.h... (cached) yes
5.878 checking for unistd.h... (cached) yes
5.878 checking for utmp.h... yes
5.899 checking for errno.h... yes
5.920 checking for procfs.h... no
5.942 checking for ieeefp.h... no
5.965 checking for setjmp.h... yes
5.986 checking for float.h... yes
6.006 checking for sal.h... no
6.029 checking for execinfo.h... yes
6.050 checking for xlocale.h... no
6.072 checking for intrin.h... no
6.095 checking for x86intrin.h... yes
6.413 checking for pmmintrin.h... yes
6.455 checking for xmmintrin.h... yes
6.490 checking for emmintrin.h... yes
6.524 checking for immintrin.h... yes
6.852 checking for avxintrin.h... no
6.927 checking for gcc options needed to detect all undeclared functions... none needed
6.968 checking whether _xgetbv is declared... yes
7.339 checking whether xgetbv is declared... no
7.656 checking whether __xgetbv is declared... no
8.016 checking whether cpuid is declared... no
8.357 checking whether _cpuid is declared... no
8.706 checking whether __cpuid is declared... no
9.040 checking if assembler supports xgetbv... yes
9.059 checking for nvapi.h... no
9.078 checking for socklen_t... yes
9.129 checking for net/if.h... (cached) yes
9.129 checking for net/if_arp.h... (cached) yes
9.129 checking for sys/sysctl.h... no
9.156 checking for sys/mount.h... yes
9.183 checking for sys/swap.h... yes
9.208 checking for sys/sensors.h... no
9.234 checking for resolv.h... yes
9.272 checking for netinet/if_ether.h... yes
9.297 checking for struct lifconf... no
9.320 checking for struct lifreq... no
9.350 checking for struct ifconf... yes
9.411 checking for struct ifreq... yes
9.469 checking for struct ether_addr... yes
9.518 checking for special C compiler options needed for large files... no
9.518 checking for _FILE_OFFSET_BITS value needed for large files... no
9.547 checking whether largefile support breaks C++... no
9.871 checking standard C++ headers... yes
10.58 checking for C++ header <algorithm>... (cached) yes
10.58 checking for C++ header <bitset>... (cached) yes
10.58 checking for C++ header <cassert>... (cached) yes
10.58 checking for C++ header <cctype>... (cached) yes
10.59 checking for C++ header <cerrno>... (cached) yes
10.59 checking for C++ header <cfloat>... (cached) yes
10.59 checking for C++ header <climits>... (cached) yes
10.59 checking for C++ header <clocale>... (cached) yes
10.59 checking for C++ header <cmath>... (cached) yes
10.59 checking for C++ header <complex>... (cached) yes
10.60 checking for C++ header <csetjmp>... (cached) yes
10.60 checking for C++ header <csignal>... (cached) yes
10.60 checking for C++ header <cstdarg>... (cached) yes
10.60 checking for C++ header <cstddef>... (cached) yes
10.60 checking for C++ header <cstdio>... (cached) yes
10.60 checking for C++ header <cstdlib>... (cached) yes
10.61 checking for C++ header <cstring>... (cached) yes
10.61 checking for C++ header <ctime>... (cached) yes
10.61 checking for C++ header <deque>... (cached) yes
10.61 checking for C++ header <fstream>... (cached) yes
10.61 checking for C++ header <functional>... (cached) yes
10.62 checking for C++ header <iomanip>... (cached) yes
10.62 checking for C++ header <ios>... (cached) yes
10.62 checking for C++ header <iosfwd>... (cached) yes
10.62 checking for C++ header <iostream>... (cached) yes
10.62 checking for C++ header <istream>... (cached) yes
10.62 checking for C++ header <iterator>... (cached) yes
10.63 checking for C++ header <limits>... (cached) yes
10.63 checking for C++ header <list>... (cached) yes
10.63 checking for C++ header <locale>... (cached) yes
10.63 checking for C++ header <map>... (cached) yes
10.63 checking for C++ header <memory>... (cached) yes
10.63 checking for C++ header <numeric>... (cached) yes
10.64 checking for C++ header <ostream>... (cached) yes
10.64 checking for C++ header <queue>... (cached) yes
10.64 checking for C++ header <set>... (cached) yes
10.64 checking for C++ header <sstream>... (cached) yes
10.64 checking for C++ header <stack>... (cached) yes
10.65 checking for C++ header <stdexcept>... (cached) yes
10.65 checking for C++ header <streambuf>... (cached) yes
10.65 checking for C++ header <string>... (cached) yes
10.65 checking for C++ header <utility>... (cached) yes
10.65 checking for C++ header <valarray>... (cached) yes
10.65 checking for C++ header <vector>... (cached) yes
10.68 checking for C++ namespaces... yes
10.70 checking for min(0,0) in namespace std... yes
11.37 checking for max(0,0) in namespace std... yes
12.19 checking for transform((char *)0,(char *) 0,(char *)0,(int(*)(int))malloc) in namespace std... yes
13.01 checking for locale("") in namespace std... yes
13.88 checking whether gcc needs -traditional... no
13.91 checking for vprintf... yes
13.95 checking for ether_ntoa... yes
14.00 checking for setpriority... yes
14.04 checking for sched_setscheduler... yes
14.08 checking for strlcpy... no
14.12 checking for strlcat... no
14.16 checking for strcasestr... yes
14.20 checking for strcasecmp... yes
14.24 checking for sigaction... yes
14.27 checking for getutent... yes
14.31 checking for setutent... yes
14.34 checking for getisax... no
14.38 checking for strdup... yes
14.43 checking for _strdup... no
14.48 checking for strdupa... no
14.52 checking for _strdupa... no
14.56 checking for daemon... yes
14.60 checking for stat64... yes
14.64 checking for putenv... yes
14.69 checking for setenv... yes
14.73 checking for unsetenv... yes
14.77 checking for res_init... no
14.81 checking for strtoull... yes
14.85 checking for localtime... yes
14.89 checking for localtime_r... yes
14.92 checking for gmtime... yes
14.96 checking for gmtime_r... yes
14.99 checking for uselocale... yes
15.02 checking for _configthreadlocale... no
15.07 checking whether _fpreset is declared... no
15.10 checking whether fpreset is declared... no
15.14 checking for an ANSI C-conforming const... yes
15.16 checking for size_t... yes
15.21 checking whether struct tm is in sys/time.h or time.h... time.h
15.24 checking for struct tm.tm_zone... yes
15.39 checking for sin in dynamic library m...  -lm
15.58 checking for pthread_join in dynamic library pthread...  -lpthread
15.76 checking for dynamic library nvapi... no
15.87 checking for res_init in -lresolv... no
16.00 checking for res_query in static library resolv...  -lresolv
16.14 checking for whoami... /usr/bin/whoami
16.17 checking that generated files are newer than configure... done
16.17 configure: creating ./config.status
16.69 config.status: creating version.h
16.70 config.status: creating api/Makefile
16.72 config.status: creating apps/Makefile
16.73 config.status: creating clientgui/Makefile
16.74 config.status: creating clientgui/res/Makefile
16.76 config.status: creating clientscr/Makefile
16.78 config.status: creating client/Makefile
16.79 config.status: creating client/win/boinc_path_config.py
16.81 config.status: creating client/scripts/Makefile
16.82 config.status: creating client/scripts/boinc-client
16.84 config.status: creating client/scripts/boinc-client.service
16.85 config.status: creating db/Makefile
16.87 config.status: creating doc/Makefile
16.88 config.status: creating doc/manpages/Makefile
16.90 config.status: creating html/Makefile
16.91 config.status: creating lib/Makefile
16.93 config.status: creating locale/Makefile
16.95 config.status: creating Makefile
16.96 config.status: creating py/Boinc/version.py
16.97 config.status: creating py/Makefile
16.98 config.status: creating py/boinc_path_config.py
17.00 config.status: creating py/setup.py
17.01 config.status: creating sched/boinc_path_config.py
17.03 config.status: creating sched/Makefile
17.05 config.status: creating packages/generic/sea/Makefile
17.06 config.status: creating packages/solaris/CSW/Makefile
17.07 config.status: creating packages/solaris/CSW/boincclient/Makefile
17.10 config.status: creating packages/solaris/CSW/boincclient/pkginfo
17.11 config.status: creating packages/solaris/CSW/boincclient/prototype
17.13 config.status: creating packages/solaris/CSW/boincdevel/Makefile
17.14 config.status: creating packages/solaris/CSW/boincdevel/pkginfo
17.16 config.status: creating packages/solaris/CSW/boincdevel/prototype
17.17 config.status: creating packages/solaris/CSW/boinclibs/Makefile
17.18 config.status: creating packages/solaris/CSW/boinclibs/pkginfo
17.20 config.status: creating packages/solaris/CSW/boinclibs/prototype
17.21 config.status: creating packages/solaris/CSW/boincmanager/Makefile
17.23 config.status: creating packages/solaris/CSW/boincmanager/pkginfo
17.24 config.status: creating packages/solaris/CSW/boincmanager/prototype
17.26 config.status: creating samples/Makefile
17.27 config.status: creating tools/boinc_path_config.py
17.29 config.status: creating tools/Makefile
17.30 config.status: creating vda/Makefile
17.32 config.status: creating zip/Makefile
17.33 config.status: creating zip/zip/Makefile
17.35 config.status: creating zip/unzip/Makefile
17.36 config.status: creating m4/Makefile
17.38 config.status: creating config.h
17.39 config.status: executing depfiles commands
18.90 config.status: executing libtool commands
18.91 --- Configuring BOINC 7.15.0 (Release) ---
18.91 --- Build Components: ( libraries server) ---
------

Running whereis openssl gives me: openssl: /usr/bin/openssl /usr/include/openssl

Running openssl version gives me: OpenSSL 3.0.14 4 Jun 2024 (Library: OpenSSL 3.0.14 4 Jun 2024)

This is a vanilla bookworm container from debian:stable-slim from dockerhub

I installed the following apt packages

        curl \
        dh-autoreconf \
        g++ \
        git \
        libcurl4-gnutls-dev \
        default-libmysqlclient-dev \
        libssl-dev \
        m4 \
        make \
        default-mysql-client \
        php8.2-cli \
        php8.2-mysql \
        php8.2-xml \
        pkg-config \
        python3 \
        python3-dev \
        python3-pip \
        python-is-python3 \```

and git make m4 pkg-config dh-autoreconf libmariadb-dev libssl-dev

AenBleidd commented 1 hour ago

18.91 --- Configuring BOINC 7.15.0 (Release) ---

You are building too old version. This might be the reason.

makeasnek commented 1 hour ago

Aah, I haven't worked with git submodules before and didn't realize they were tied to a specific commit instead of just the latest one. This fixed it thank you @AenBleidd !!