On Wed, Jun 22, 2022 at 12:16 PM Petr Pisar <petr.pi...@atlas.cz> wrote: > > Can you post here a complete certificate chain the server presents to wget? > You can use "openssl s_client -connect THE_HOST:https -showcerts to obtain it. > If it so, than the only fix is to recompile your system with "-D_TIME_BITS=64 > -D_FILE_OFFSET_BITS=64" CFLAGS. (Provided your platform supports it.) > > -- Petr
Petr, I have done a bit more checking and it appears some configurational issue with Arch on armv7 is the cause. I have not been able to pin it down. I did verify that the binary is built with the 2 flags you mention: This is a snippet of the config.log for the binary that does not work: | #define HAVE_FSEEKO 1 | #define _FILE_OFFSET_BITS 64 | #define _TIME_BITS 64 | #define _FILE_OFFSET_BITS 64 | /* end confdefs.h. */ | #if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32) | int ok; | #else | error fail | #endif | configure:11550: result: yes configure:11559: checking for ELF binary format configure:11583: result: yes configure:11635: checking for the common suffixes of directories in the library search path configure:11704: result: lib,lib,lib configure:12229: checking for CFPreferencesCopyAppValue configure:12248: gcc -o conftest -DNDEBUG -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector-strong -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now conftest.c -Wl,-framework -Wl,CoreFoundation >&5 conftest.c:74:10: fatal error: CoreFoundation/CFPreferences.h: No such file or directory 74 | #include <CoreFoundation/CFPreferences.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. distcc[3295] ERROR: compile conftest.c on localhost failed configure:12248: $? = 1 configure: failed program was: | /* confdefs.h */ I tried it on RpiOS using the same architecture (armv7) which builds a binary that passes all the tests and works properly and this part of the config.log is dramatically different: | #define HAVE_FSEEKO 1 | #define _FILE_OFFSET_BITS 64 | /* end confdefs.h. */ | | #include <time.h> | /* Check that time_t can represent 2**32 - 1 correctly. */ | #define LARGE_TIME_T \ | ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) | int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 | && LARGE_TIME_T % 65537 == 0) | ? 1 : -1]; | configure:9815: result: no configure:9818: checking for 64-bit time_t with _TIME_BITS=64 configure:9838: gcc -c -DNDEBUG -g -O2 conftest.c >&5 conftest.c:78:43: warning: integer overflow in expression of type 'long int' results in '-1073741824' [-Woverflow] 78 | ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) | ^ conftest.c:79:28: note: in expansion of macro 'LARGE_TIME_T' 79 | int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 | ^~~~~~~~~~~~ conftest.c:78:43: warning: integer overflow in expression of type 'long int' results in '-1073741824' [-Woverflow] 78 | ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) | ^ conftest.c:80:31: note: in expansion of macro 'LARGE_TIME_T' 80 | && LARGE_TIME_T % 65537 == 0) | ^~~~~~~~~~~~ conftest.c:79:7: error: variably modified 'verify_time_t_range' at file scope 79 | int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 | ^~~~~~~~~~~~~~~~~~~ configure:9838: $? = 1 configure: failed program was: | /* confdefs.h */ I am not that well versed in what I should do at this point, but it appears that the tests for 64 bit time are different and I wonder why they are and what should be fixed. Both use the same configure directive: ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --disable-rpath \ --enable-nls \ --with-ssl=gnutls Keith