haskell-cryptography / HsOpenSSL

OpenSSL binding for Haskell
http://hackage.haskell.org/package/HsOpenSSL
Creative Commons Zero v1.0 Universal
22 stars 33 forks source link

build failing with openssl-3.2 #93

Open juhp opened 1 month ago

juhp commented 1 month ago

Fedora 40+ has openssl-3.2 which seems to break HsOpenSSL unfortunately: though it looks like just deprecated macros.

Here is some of the buildlog:

⬢ fedora41~$ cabal install HsOpenSSL
Resolving dependencies...
Build profile: -w ghc-9.6.6 -O1
In order, the following will be built (use -v for more details):
 - HsOpenSSL-0.11.7.7 (lib:HsOpenSSL) (requires build)
Starting     HsOpenSSL-0.11.7.7 (all, legacy fallback)
Building     HsOpenSSL-0.11.7.7 (all, legacy fallback)

Failed to build HsOpenSSL-0.11.7.7.
Build log (
/var/home/petersen/.cabal/logs/ghc-9.6.6/HsOpenSSL-0.11.7.7-ed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433.log
):
[1 of 2] Compiling Main             ( /var/home/petersen/tmp/cabal-install.-18604/dist-newstyle/tmp/src-18604/HsOpenSSL-0.11.7.7/dist/setup/setup.hs, /var/home/petersen/tmp/cabal-install.-18604/dist-newstyle/tmp/src-18604/HsOpenSSL-0.11.7.7/dist/setup/Main.o )
[2 of 2] Linking /var/home/petersen/tmp/cabal-install.-18604/dist-newstyle/tmp/src-18604/HsOpenSSL-0.11.7.7/dist/setup/setup
Configuring HsOpenSSL-0.11.7.7...
Preprocessing library for HsOpenSSL-0.11.7.7..
Building library for HsOpenSSL-0.11.7.7..
[ 1 of 33] Compiling OpenSSL          ( OpenSSL.hs, dist/build/OpenSSL.o, dist/build/OpenSSL.dyn_o )
[ 2 of 33] Compiling OpenSSL.DH.Internal ( OpenSSL/DH/Internal.hs, dist/build/OpenSSL/DH/Internal.o, dist/build/OpenSSL/DH/Internal.dyn_o )
/var/home/petersen/tmp/ghc19020_0/ghc_34.c: In function ‘ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziDHziInternalZCDHzufree’:

/var/home/petersen/tmp/ghc19020_0/ghc_34.c:9:1: error:
     warning: ‘DH_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        9 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziDHziInternalZCDHzufree(DH* a1) {DH_free(a1);}
          | ^~~~
  |
9 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziDHziInternalZCDHzufree(DH* a1) {DH_free(a1);}
  | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_34.c:7:0: error:

/usr/include/openssl/dh.h:207:28: error:
     note: declared here
      207 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
          |                            ^~~~~~~
    |
207 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
    |                            ^
/var/home/petersen/tmp/ghc19020_0/ghc_40.c: In function ‘ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziDHziInternalZCDHzufree’:

/var/home/petersen/tmp/ghc19020_0/ghc_40.c:9:1: error:
     warning: ‘DH_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        9 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziDHziInternalZCDHzufree(DH* a1) {DH_free(a1);}
          | ^~~~
  |
9 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziDHziInternalZCDHzufree(DH* a1) {DH_free(a1);}
  | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_40.c:7:0: error:

/usr/include/openssl/dh.h:207:28: error:
     note: declared here
      207 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
          |                            ^~~~~~~
    |
207 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
    |                            ^
[ 3 of 33] Compiling OpenSSL.ERR      ( OpenSSL/ERR.hs, dist/build/OpenSSL/ERR.o, dist/build/OpenSSL/ERR.dyn_o )
[ 4 of 33] Compiling OpenSSL.EVP.Base64 ( OpenSSL/EVP/Base64.hs, dist/build/OpenSSL/EVP/Base64.o, dist/build/OpenSSL/EVP/Base64.dyn_o )
[ 5 of 33] Compiling OpenSSL.Objects  ( dist/build/OpenSSL/Objects.hs, dist/build/OpenSSL/Objects.o, dist/build/OpenSSL/Objects.dyn_o )
[ 6 of 33] Compiling OpenSSL.SSL.Option ( dist/build/OpenSSL/SSL/Option.hs, dist/build/OpenSSL/SSL/Option.o, dist/build/OpenSSL/SSL/Option.dyn_o )
[ 7 of 33] Compiling OpenSSL.Stack    ( dist/build/OpenSSL/Stack.hs, dist/build/OpenSSL/Stack.o, dist/build/OpenSSL/Stack.dyn_o )
[ 8 of 33] Compiling OpenSSL.Utils    ( OpenSSL/Utils.hs, dist/build/OpenSSL/Utils.o, dist/build/OpenSSL/Utils.dyn_o )
[ 9 of 33] Compiling OpenSSL.Random   ( OpenSSL/Random.hs, dist/build/OpenSSL/Random.o, dist/build/OpenSSL/Random.dyn_o )
/var/home/petersen/tmp/ghc19020_0/ghc_102.c: In function ‘ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRandomZCRANDzupseudozubytes’:

/var/home/petersen/tmp/ghc19020_0/ghc_102.c:10:1: error:
     warning: ‘RAND_pseudo_bytes’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
       10 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRandomZCRANDzupseudozubytes(char* a1, HsInt32 a2) {RAND_pseudo_bytes(a1, a2);}
          | ^~~~
   |
10 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRandomZCRANDzupseudozubytes(char* a1, HsInt32 a2) {RAND_pseudo_bytes(a1, a2);}
   | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_102.c:7:0: error:

/usr/include/openssl/rand.h:79:29: error:
     note: declared here
       79 | OSSL_DEPRECATEDIN_1_1_0 int RAND_pseudo_bytes(unsigned char *buf, int num);
          |                             ^~~~~~~~~~~~~~~~~
   |
79 | OSSL_DEPRECATEDIN_1_1_0 int RAND_pseudo_bytes(unsigned char *buf, int num);
   |                             ^
/var/home/petersen/tmp/ghc19020_0/ghc_108.c: In function ‘ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRandomZCRANDzupseudozubytes’:

/var/home/petersen/tmp/ghc19020_0/ghc_108.c:10:1: error:
     warning: ‘RAND_pseudo_bytes’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
       10 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRandomZCRANDzupseudozubytes(char* a1, HsInt32 a2) {RAND_pseudo_bytes(a1, a2);}
          | ^~~~
   |
10 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRandomZCRANDzupseudozubytes(char* a1, HsInt32 a2) {RAND_pseudo_bytes(a1, a2);}
   | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_108.c:7:0: error:

/usr/include/openssl/rand.h:79:29: error:
     note: declared here
       79 | OSSL_DEPRECATEDIN_1_1_0 int RAND_pseudo_bytes(unsigned char *buf, int num);
          |                             ^~~~~~~~~~~~~~~~~
   |
79 | OSSL_DEPRECATEDIN_1_1_0 int RAND_pseudo_bytes(unsigned char *buf, int num);
   |                             ^
[10 of 33] Compiling OpenSSL.EVP.Internal ( dist/build/OpenSSL/EVP/Internal.hs, dist/build/OpenSSL/EVP/Internal.o, dist/build/OpenSSL/EVP/Internal.dyn_o )
/var/home/petersen/tmp/ghc19020_0/ghc_114.c: In function ‘ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuFinal’:

/var/home/petersen/tmp/ghc19020_0/ghc_114.c:15:1: error:
     warning: ‘HMAC_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       15 | HsWord32 ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuFinal(HMAC_CTX* a1, char* a2, int* a3) {return HMAC_Final(a1, a2, a3);}
          | ^~~~~~~~
   |
15 | HsWord32 ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuFinal(HMAC_CTX* a1, char* a2, int* a3) {return HMAC_Final(a1, a2, a3);}
   | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_114.c:13:0: error:

/usr/include/openssl/hmac.h:47:27: error:
     note: declared here
       47 | OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,
          |                           ^~~~~~~~~~
   |
47 | OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,
   |                           ^
/var/home/petersen/tmp/ghc19020_0/ghc_114.c: In function ‘ghczuwrapperZC3ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuUpdate’:

/var/home/petersen/tmp/ghc19020_0/ghc_114.c:18:1: error:
     warning: ‘HMAC_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       18 | HsInt32 ghczuwrapperZC3ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuUpdate(HMAC_CTX* a1, char* a2, HsInt32 a3) {return HMAC_Update(a1, a2, a3);}
          | ^~~~~~~
   |
18 | HsInt32 ghczuwrapperZC3ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuUpdate(HMAC_CTX* a1, char* a2, HsInt32 a3) {return HMAC_Update(a1, a2, a3);}
   | ^

/usr/include/openssl/hmac.h:45:27: error:
     note: declared here
       45 | OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
          |                           ^~~~~~~~~~~
   |
45 | OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
   |                           ^
/var/home/petersen/tmp/ghc19020_0/ghc_114.c: In function ‘ghczuwrapperZC4ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuInit’:

/var/home/petersen/tmp/ghc19020_0/ghc_114.c:22:1: error:
     warning: ‘HMAC_Init’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
       22 | HsInt32 ghczuwrapperZC4ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuInit(HMAC_CTX* a1, void* a2, HsInt32 a3, EVP_MD* a4) {return HMAC_Init(a1, a2, a3, a4);}
          | ^~~~~~~
   |
22 | HsInt32 ghczuwrapperZC4ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuInit(HMAC_CTX* a1, void* a2, HsInt32 a3, EVP_MD* a4) {return HMAC_Init(a1, a2, a3, a4);}
   | ^

/usr/include/openssl/hmac.h:38:36: error:
     note: declared here
       38 | OSSL_DEPRECATEDIN_1_1_0 __owur int HMAC_Init(HMAC_CTX *ctx,
          |                                    ^~~~~~~~~
   |
38 | OSSL_DEPRECATEDIN_1_1_0 __owur int HMAC_Init(HMAC_CTX *ctx,
   |                                    ^
/var/home/petersen/tmp/ghc19020_0/ghc_120.c: In function ‘ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuFinal’:

/var/home/petersen/tmp/ghc19020_0/ghc_120.c:15:1: error:
     warning: ‘HMAC_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       15 | HsWord32 ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuFinal(HMAC_CTX* a1, char* a2, int* a3) {return HMAC_Final(a1, a2, a3);}
          | ^~~~~~~~
   |
15 | HsWord32 ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuFinal(HMAC_CTX* a1, char* a2, int* a3) {return HMAC_Final(a1, a2, a3);}
   | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_120.c:13:0: error:

/usr/include/openssl/hmac.h:47:27: error:
     note: declared here
       47 | OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,
          |                           ^~~~~~~~~~
   |
47 | OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,
   |                           ^
/var/home/petersen/tmp/ghc19020_0/ghc_120.c: In function ‘ghczuwrapperZC3ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuUpdate’:

/var/home/petersen/tmp/ghc19020_0/ghc_120.c:18:1: error:
     warning: ‘HMAC_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       18 | HsInt32 ghczuwrapperZC3ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuUpdate(HMAC_CTX* a1, char* a2, HsInt32 a3) {return HMAC_Update(a1, a2, a3);}
          | ^~~~~~~
   |
18 | HsInt32 ghczuwrapperZC3ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuUpdate(HMAC_CTX* a1, char* a2, HsInt32 a3) {return HMAC_Update(a1, a2, a3);}
   | ^

/usr/include/openssl/hmac.h:45:27: error:
     note: declared here
       45 | OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
          |                           ^~~~~~~~~~~
   |
45 | OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
   |                           ^
/var/home/petersen/tmp/ghc19020_0/ghc_120.c: In function ‘ghczuwrapperZC4ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuInit’:

/var/home/petersen/tmp/ghc19020_0/ghc_120.c:22:1: error:
     warning: ‘HMAC_Init’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
       22 | HsInt32 ghczuwrapperZC4ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuInit(HMAC_CTX* a1, void* a2, HsInt32 a3, EVP_MD* a4) {return HMAC_Init(a1, a2, a3, a4);}
          | ^~~~~~~
   |
22 | HsInt32 ghczuwrapperZC4ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziInternalZCHMACzuInit(HMAC_CTX* a1, void* a2, HsInt32 a3, EVP_MD* a4) {return HMAC_Init(a1, a2, a3, a4);}
   | ^

/usr/include/openssl/hmac.h:38:36: error:
     note: declared here
       38 | OSSL_DEPRECATEDIN_1_1_0 __owur int HMAC_Init(HMAC_CTX *ctx,
          |                                    ^~~~~~~~~
   |
38 | OSSL_DEPRECATEDIN_1_1_0 __owur int HMAC_Init(HMAC_CTX *ctx,
   |                                    ^
[11 of 33] Compiling OpenSSL.EVP.Digest ( dist/build/OpenSSL/EVP/Digest.hs, dist/build/OpenSSL/EVP/Digest.o, dist/build/OpenSSL/EVP/Digest.dyn_o )
/var/home/petersen/tmp/ghc19020_0/ghc_126.c: In function ‘ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziDigestZCEVPzugetzudigestbyname’:

/var/home/petersen/tmp/ghc19020_0/ghc_126.c:14:179: error:
     warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
       14 | EVP_MD* ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziDigestZCEVPzugetzudigestbyname(char* a1) {return EVP_get_digestbyname(a1);}
          |                                                                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~
   |
14 | EVP_MD* ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziDigestZCEVPzugetzudigestbyname(char* a1) {return EVP_get_digestbyname(a1);}
   |                                                                                                                                                                                   ^
/var/home/petersen/tmp/ghc19020_0/ghc_132.c: In function ‘ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziDigestZCEVPzugetzudigestbyname’:

/var/home/petersen/tmp/ghc19020_0/ghc_132.c:14:179: error:
     warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
       14 | EVP_MD* ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziDigestZCEVPzugetzudigestbyname(char* a1) {return EVP_get_digestbyname(a1);}
          |                                                                                                                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~
   |
14 | EVP_MD* ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziDigestZCEVPzugetzudigestbyname(char* a1) {return EVP_get_digestbyname(a1);}
   |                                                                                                                                                                                   ^
[12 of 33] Compiling OpenSSL.EVP.Cipher ( OpenSSL/EVP/Cipher.hs, dist/build/OpenSSL/EVP/Cipher.o, dist/build/OpenSSL/EVP/Cipher.dyn_o )
/var/home/petersen/tmp/ghc19020_0/ghc_138.c: In function ‘ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziCipherZCEVPzugetzucipherbyname’:

/var/home/petersen/tmp/ghc19020_0/ghc_138.c:9:183: error:
     warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
        9 | EVP_CIPHER* ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziCipherZCEVPzugetzucipherbyname(char* a1) {return EVP_get_cipherbyname(a1);}
          |                                                                                                                                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  |
9 | EVP_CIPHER* ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziCipherZCEVPzugetzucipherbyname(char* a1) {return EVP_get_cipherbyname(a1);}
  |                                                                                                                                                                                       ^
/var/home/petersen/tmp/ghc19020_0/ghc_144.c: In function ‘ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziCipherZCEVPzugetzucipherbyname’:

/var/home/petersen/tmp/ghc19020_0/ghc_144.c:9:183: error:
     warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
        9 | EVP_CIPHER* ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziCipherZCEVPzugetzucipherbyname(char* a1) {return EVP_get_cipherbyname(a1);}
          |                                                                                                                                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  |
9 | EVP_CIPHER* ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziEVPziCipherZCEVPzugetzucipherbyname(char* a1) {return EVP_get_cipherbyname(a1);}
  |                                                                                                                                                                                       ^
[13 of 33] Compiling OpenSSL.Cipher   ( dist/build/OpenSSL/Cipher.hs, dist/build/OpenSSL/Cipher.o, dist/build/OpenSSL/Cipher.dyn_o )
/var/home/petersen/tmp/ghc19020_0/ghc_150.c: In function ‘ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzucbczuencrypt’:

/var/home/petersen/tmp/ghc19020_0/ghc_150.c:9:1: error:
     warning: ‘AES_cbc_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        9 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzucbczuencrypt(char* a1, HsWord8* a2, HsWord64 a3, AES_KEY* a4, unsigned char* a5, HsInt32 a6) {AES_cbc_encrypt(a1, a2, a3, a4, a5, a6);}
          | ^~~~
  |
9 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzucbczuencrypt(char* a1, HsWord8* a2, HsWord64 a3, AES_KEY* a4, unsigned char* a5, HsInt32 a6) {AES_cbc_encrypt(a1, a2, a3, a4, a5, a6);}
  | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_150.c:7:0: error:

/usr/include/openssl/aes.h:66:6: error:
     note: declared here
       66 | void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
          |      ^~~~~~~~~~~~~~~
   |
66 | void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
   |      ^
/var/home/petersen/tmp/ghc19020_0/ghc_150.c: In function ‘ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzudecryptzukey’:

/var/home/petersen/tmp/ghc19020_0/ghc_150.c:12:1: error:
     warning: ‘AES_set_decrypt_key’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       12 | HsInt32 ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzudecryptzukey(char* a1, HsInt32 a2, AES_KEY* a3) {return AES_set_decrypt_key(a1, a2, a3);}
          | ^~~~~~~
   |
12 | HsInt32 ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzudecryptzukey(char* a1, HsInt32 a2, AES_KEY* a3) {return AES_set_decrypt_key(a1, a2, a3);}
   | ^

/usr/include/openssl/aes.h:54:5: error:
     note: declared here
       54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
          |     ^~~~~~~~~~~~~~~~~~~
   |
54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
   |     ^
/var/home/petersen/tmp/ghc19020_0/ghc_150.c: In function ‘ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzuencryptzukey’:

/var/home/petersen/tmp/ghc19020_0/ghc_150.c:15:1: error:
     warning: ‘AES_set_encrypt_key’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       15 | HsInt32 ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzuencryptzukey(char* a1, HsInt32 a2, AES_KEY* a3) {return AES_set_encrypt_key(a1, a2, a3);}
          | ^~~~~~~
   |
15 | HsInt32 ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzuencryptzukey(char* a1, HsInt32 a2, AES_KEY* a3) {return AES_set_encrypt_key(a1, a2, a3);}
   | ^

/usr/include/openssl/aes.h:51:5: error:
     note: declared here
       51 | int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
          |     ^~~~~~~~~~~~~~~~~~~
   |
51 | int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
   |     ^
/var/home/petersen/tmp/ghc19020_0/ghc_156.c: In function ‘ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzucbczuencrypt’:

/var/home/petersen/tmp/ghc19020_0/ghc_156.c:9:1: error:
     warning: ‘AES_cbc_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        9 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzucbczuencrypt(char* a1, HsWord8* a2, HsWord64 a3, AES_KEY* a4, unsigned char* a5, HsInt32 a6) {AES_cbc_encrypt(a1, a2, a3, a4, a5, a6);}
          | ^~~~
  |
9 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzucbczuencrypt(char* a1, HsWord8* a2, HsWord64 a3, AES_KEY* a4, unsigned char* a5, HsInt32 a6) {AES_cbc_encrypt(a1, a2, a3, a4, a5, a6);}
  | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_156.c:7:0: error:

/usr/include/openssl/aes.h:66:6: error:
     note: declared here
       66 | void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
          |      ^~~~~~~~~~~~~~~
   |
66 | void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
   |      ^
/var/home/petersen/tmp/ghc19020_0/ghc_156.c: In function ‘ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzudecryptzukey’:

/var/home/petersen/tmp/ghc19020_0/ghc_156.c:12:1: error:
     warning: ‘AES_set_decrypt_key’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       12 | HsInt32 ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzudecryptzukey(char* a1, HsInt32 a2, AES_KEY* a3) {return AES_set_decrypt_key(a1, a2, a3);}
          | ^~~~~~~
   |
12 | HsInt32 ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzudecryptzukey(char* a1, HsInt32 a2, AES_KEY* a3) {return AES_set_decrypt_key(a1, a2, a3);}
   | ^

/usr/include/openssl/aes.h:54:5: error:
     note: declared here
       54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
          |     ^~~~~~~~~~~~~~~~~~~
   |
54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
   |     ^
/var/home/petersen/tmp/ghc19020_0/ghc_156.c: In function ‘ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzuencryptzukey’:

/var/home/petersen/tmp/ghc19020_0/ghc_156.c:15:1: error:
     warning: ‘AES_set_encrypt_key’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       15 | HsInt32 ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzuencryptzukey(char* a1, HsInt32 a2, AES_KEY* a3) {return AES_set_encrypt_key(a1, a2, a3);}
          | ^~~~~~~
   |
15 | HsInt32 ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziCipherZCAESzusetzuencryptzukey(char* a1, HsInt32 a2, AES_KEY* a3) {return AES_set_encrypt_key(a1, a2, a3);}
   | ^

/usr/include/openssl/aes.h:51:5: error:
     note: declared here
       51 | int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
          |     ^~~~~~~~~~~~~~~~~~~
   |
51 | int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
   |     ^
[14 of 33] Compiling OpenSSL.BN       ( dist/build/OpenSSL/BN.hs, dist/build/OpenSSL/BN.o, dist/build/OpenSSL/BN.dyn_o )
/var/home/petersen/tmp/ghc19020_0/ghc_162.c: In function ‘ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziBNZCBNzupseudozurandzurange’:

/var/home/petersen/tmp/ghc19020_0/ghc_162.c:9:1: error:
     warning: ‘BN_pseudo_rand_range’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        9 | HsInt32 ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziBNZCBNzupseudozurandzurange(BIGNUM* a1, BIGNUM* a2) {return BN_pseudo_rand_range(a1, a2);}
          | ^~~~~~~
  |
9 | HsInt32 ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziBNZCBNzupseudozurandzurange(BIGNUM* a1, BIGNUM* a2) {return BN_pseudo_rand_range(a1, a2);}
  | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_162.c:7:0: error:

/usr/include/openssl/bn.h:233:5: error:
     note: declared here
      233 | int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range);
          |     ^~~~~~~~~~~~~~~~~~~~
    |
233 | int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range);
    |     ^
/var/home/petersen/tmp/ghc19020_0/ghc_168.c: In function ‘ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziBNZCBNzupseudozurandzurange’:

/var/home/petersen/tmp/ghc19020_0/ghc_168.c:9:1: error:
     warning: ‘BN_pseudo_rand_range’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        9 | HsInt32 ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziBNZCBNzupseudozurandzurange(BIGNUM* a1, BIGNUM* a2) {return BN_pseudo_rand_range(a1, a2);}
          | ^~~~~~~
  |
9 | HsInt32 ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziBNZCBNzupseudozurandzurange(BIGNUM* a1, BIGNUM* a2) {return BN_pseudo_rand_range(a1, a2);}
  | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_168.c:7:0: error:

/usr/include/openssl/bn.h:233:5: error:
     note: declared here
      233 | int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range);
          |     ^~~~~~~~~~~~~~~~~~~~
    |
233 | int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range);
    |     ^
[15 of 33] Compiling OpenSSL.RSA      ( dist/build/OpenSSL/RSA.hs, dist/build/OpenSSL/RSA.o, dist/build/OpenSSL/RSA.dyn_o )
/var/home/petersen/tmp/ghc19020_0/ghc_174.c: In function ‘ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zucrtzuparams’:

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:10:1: error:
     warning: ‘RSA_get0_crt_params’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       10 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zucrtzuparams(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_crt_params(a1, a2, a3, a4);}
          | ^~~~
   |
10 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zucrtzuparams(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_crt_params(a1, a2, a3, a4);}
   | ^

In file included from /var/home/petersen/tmp/ghc19020_0/ghc_174.c:7:0: error:

/usr/include/openssl/rsa.h:236:28: error:
     note: declared here
      236 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_crt_params(const RSA *r,
          |                            ^~~~~~~~~~~~~~~~~~~
    |
236 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_crt_params(const RSA *r,
    |                            ^

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:10:223: error:
     error: passing argument 2 of ‘RSA_get0_crt_params’ from incompatible pointer type [-Wincompatible-pointer-types]
       10 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zucrtzuparams(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_crt_params(a1, a2, a3, a4);}
          |                                                                                                                                                                                                                               ^~
          |                                                                                                                                                                                                                               |
          |                                                                                                                                                                                                                               BIGNUM ** {aka struct bignum_st **}
   |
10 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zucrtzuparams(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_crt_params(a1, a2, a3, a4);}
   |                                                                                                                                                                                                                               ^

/usr/include/openssl/rsa.h:237:63: error:
     note: expected ‘const BIGNUM **’ {aka ‘const struct bignum_st **’} but argument is of type ‘BIGNUM **’ {aka ‘struct bignum_st **’}
      237 |                                                const BIGNUM **dmp1,
          |                                                ~~~~~~~~~~~~~~~^~~~
    |
237 |                                                const BIGNUM **dmp1,
    |                                                               ^

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:10:227: error:
     error: passing argument 3 of ‘RSA_get0_crt_params’ from incompatible pointer type [-Wincompatible-pointer-types]
       10 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zucrtzuparams(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_crt_params(a1, a2, a3, a4);}
          |                                                                                                                                                                                                                                   ^~
          |                                                                                                                                                                                                                                   |
          |                                                                                                                                                                                                                                   BIGNUM ** {aka struct bignum_st **}
   |
10 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zucrtzuparams(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_crt_params(a1, a2, a3, a4);}
   |                                                                                                                                                                                                                                   ^

/usr/include/openssl/rsa.h:238:63: error:
     note: expected ‘const BIGNUM **’ {aka ‘const struct bignum_st **’} but argument is of type ‘BIGNUM **’ {aka ‘struct bignum_st **’}
      238 |                                                const BIGNUM **dmq1,
          |                                                ~~~~~~~~~~~~~~~^~~~
    |
238 |                                                const BIGNUM **dmq1,
    |                                                               ^

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:10:231: error:
     error: passing argument 4 of ‘RSA_get0_crt_params’ from incompatible pointer type [-Wincompatible-pointer-types]
       10 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zucrtzuparams(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_crt_params(a1, a2, a3, a4);}
          |                                                                                                                                                                                                                                       ^~
          |                                                                                                                                                                                                                                       |
          |                                                                                                                                                                                                                                       BIGNUM ** {aka struct bignum_st **}
   |
10 | void ghczuwrapperZC0ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zucrtzuparams(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_crt_params(a1, a2, a3, a4);}
   |                                                                                                                                                                                                                                       ^

/usr/include/openssl/rsa.h:239:63: error:
     note: expected ‘const BIGNUM **’ {aka ‘const struct bignum_st **’} but argument is of type ‘BIGNUM **’ {aka ‘struct bignum_st **’}
      239 |                                                const BIGNUM **iqmp);
          |                                                ~~~~~~~~~~~~~~~^~~~
    |
239 |                                                const BIGNUM **iqmp);
    |                                                               ^
/var/home/petersen/tmp/ghc19020_0/ghc_174.c: In function ‘ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zufactors’:

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:14:1: error:
     warning: ‘RSA_get0_factors’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       14 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zufactors(RSA* a1, BIGNUM** a2, BIGNUM** a3) {RSA_get0_factors(a1, a2, a3);}
          | ^~~~
   |
14 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zufactors(RSA* a1, BIGNUM** a2, BIGNUM** a3) {RSA_get0_factors(a1, a2, a3);}
   | ^

/usr/include/openssl/rsa.h:231:28: error:
     note: declared here
      231 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_factors(const RSA *r,
          |                            ^~~~~~~~~~~~~~~~
    |
231 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_factors(const RSA *r,
    |                            ^

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:14:203: error:
     error: passing argument 2 of ‘RSA_get0_factors’ from incompatible pointer type [-Wincompatible-pointer-types]
       14 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zufactors(RSA* a1, BIGNUM** a2, BIGNUM** a3) {RSA_get0_factors(a1, a2, a3);}
          |                                                                                                                                                                                                           ^~
          |                                                                                                                                                                                                           |
          |                                                                                                                                                                                                           BIGNUM ** {aka struct bignum_st **}
   |
14 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zufactors(RSA* a1, BIGNUM** a2, BIGNUM** a3) {RSA_get0_factors(a1, a2, a3);}
   |                                                                                                                                                                                                           ^

/usr/include/openssl/rsa.h:232:60: error:
     note: expected ‘const BIGNUM **’ {aka ‘const struct bignum_st **’} but argument is of type ‘BIGNUM **’ {aka ‘struct bignum_st **’}
      232 |                                             const BIGNUM **p, const BIGNUM **q);
          |                                             ~~~~~~~~~~~~~~~^
    |
232 |                                             const BIGNUM **p, const BIGNUM **q);
    |                                                            ^

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:14:207: error:
     error: passing argument 3 of ‘RSA_get0_factors’ from incompatible pointer type [-Wincompatible-pointer-types]
       14 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zufactors(RSA* a1, BIGNUM** a2, BIGNUM** a3) {RSA_get0_factors(a1, a2, a3);}
          |                                                                                                                                                                                                               ^~
          |                                                                                                                                                                                                               |
          |                                                                                                                                                                                                               BIGNUM ** {aka struct bignum_st **}
   |
14 | void ghczuwrapperZC1ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zufactors(RSA* a1, BIGNUM** a2, BIGNUM** a3) {RSA_get0_factors(a1, a2, a3);}
   |                                                                                                                                                                                                               ^

/usr/include/openssl/rsa.h:232:78: error:
     note: expected ‘const BIGNUM **’ {aka ‘const struct bignum_st **’} but argument is of type ‘BIGNUM **’ {aka ‘struct bignum_st **’}
      232 |                                             const BIGNUM **p, const BIGNUM **q);
          |                                                               ~~~~~~~~~~~~~~~^
    |
232 |                                             const BIGNUM **p, const BIGNUM **q);
    |                                                                              ^
/var/home/petersen/tmp/ghc19020_0/ghc_174.c: In function ‘ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zukey’:

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:18:1: error:
     warning: ‘RSA_get0_key’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       18 | void ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zukey(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_key(a1, a2, a3, a4);}
          | ^~~~
   |
18 | void ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zukey(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_key(a1, a2, a3, a4);}
   | ^

/usr/include/openssl/rsa.h:228:28: error:
     note: declared here
      228 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA *r,
          |                            ^~~~~~~~~~~~
    |
228 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA *r,
    |                            ^

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:18:208: error:
     error: passing argument 2 of ‘RSA_get0_key’ from incompatible pointer type [-Wincompatible-pointer-types]
       18 | void ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zukey(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_key(a1, a2, a3, a4);}
          |                                                                                                                                                                                                                ^~
          |                                                                                                                                                                                                                |
          |                                                                                                                                                                                                                BIGNUM ** {aka struct bignum_st **}
   |
18 | void ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zukey(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_key(a1, a2, a3, a4);}
   |                                                                                                                                                                                                                ^

/usr/include/openssl/rsa.h:229:56: error:
     note: expected ‘const BIGNUM **’ {aka ‘const struct bignum_st **’} but argument is of type ‘BIGNUM **’ {aka ‘struct bignum_st **’}
      229 |                                         const BIGNUM **n, const BIGNUM **e,
          |                                         ~~~~~~~~~~~~~~~^
    |
229 |                                         const BIGNUM **n, const BIGNUM **e,
    |                                                        ^

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:18:212: error:
     error: passing argument 3 of ‘RSA_get0_key’ from incompatible pointer type [-Wincompatible-pointer-types]
       18 | void ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zukey(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_key(a1, a2, a3, a4);}
          |                                                                                                                                                                                                                    ^~
          |                                                                                                                                                                                                                    |
          |                                                                                                                                                                                                                    BIGNUM ** {aka struct bignum_st **}
   |
18 | void ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zukey(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_key(a1, a2, a3, a4);}
   |                                                                                                                                                                                                                    ^

/usr/include/openssl/rsa.h:229:74: error:
     note: expected ‘const BIGNUM **’ {aka ‘const struct bignum_st **’} but argument is of type ‘BIGNUM **’ {aka ‘struct bignum_st **’}
      229 |                                         const BIGNUM **n, const BIGNUM **e,
          |                                                           ~~~~~~~~~~~~~~~^
    |
229 |                                         const BIGNUM **n, const BIGNUM **e,
    |                                                                          ^

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:18:216: error:
     error: passing argument 4 of ‘RSA_get0_key’ from incompatible pointer type [-Wincompatible-pointer-types]
       18 | void ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zukey(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_key(a1, a2, a3, a4);}
          |                                                                                                                                                                                                                        ^~
          |                                                                                                                                                                                                                        |
          |                                                                                                                                                                                                                        BIGNUM ** {aka struct bignum_st **}
   |
18 | void ghczuwrapperZC2ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzuget0zukey(RSA* a1, BIGNUM** a2, BIGNUM** a3, BIGNUM** a4) {RSA_get0_key(a1, a2, a3, a4);}
   |                                                                                                                                                                                                                        ^

/usr/include/openssl/rsa.h:230:56: error:
     note: expected ‘const BIGNUM **’ {aka ‘const struct bignum_st **’} but argument is of type ‘BIGNUM **’ {aka ‘struct bignum_st **’}
      230 |                                         const BIGNUM **d);
          |                                         ~~~~~~~~~~~~~~~^
    |
230 |                                         const BIGNUM **d);
    |                                                        ^
/var/home/petersen/tmp/ghc19020_0/ghc_174.c: In function ‘ghczuwrapperZC3ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzugeneratezukey’:

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:21:1: error:
     warning: ‘RSA_generate_key’ is deprecated: Since OpenSSL 0.9.8 [-Wdeprecated-declarations]
       21 | RSA* ghczuwrapperZC3ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzugeneratezukey(HsInt32 a1, HsInt32 a2, void* a3, void* a4) {return RSA_generate_key(a1, a2, a3, a4);}
          | ^~~
   |
21 | RSA* ghczuwrapperZC3ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzugeneratezukey(HsInt32 a1, HsInt32 a2, void* a3, void* a4) {return RSA_generate_key(a1, a2, a3, a4);}
   | ^

/usr/include/openssl/rsa.h:264:30: error:
     note: declared here
      264 | OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void
          |                              ^~~~~~~~~~~~~~~~
    |
264 | OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void
    |                              ^
/var/home/petersen/tmp/ghc19020_0/ghc_174.c: In function ‘ghczuwrapperZC4ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzusizze’:

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:34:1: error:
     warning: ‘RSA_size’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       34 | HsInt32 ghczuwrapperZC4ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzusizze(RSA* a1) {return RSA_size(a1);}
          | ^~~~~~~
   |
34 | HsInt32 ghczuwrapperZC4ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAzusizze(RSA* a1) {return RSA_size(a1);}
   | ^

/usr/include/openssl/rsa.h:215:27: error:
     note: declared here
      215 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
          |                           ^~~~~~~~
    |
215 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
    |                           ^
/var/home/petersen/tmp/ghc19020_0/ghc_174.c: In function ‘ghczuwrapperZC5ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAPrivateKeyzudup’:

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:37:1: error:
     warning: ‘RSAPrivateKey_dup’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       37 | RSA* ghczuwrapperZC5ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAPrivateKeyzudup(RSA* a1) {return RSAPrivateKey_dup(a1);}
          | ^~~
   |
37 | RSA* ghczuwrapperZC5ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAPrivateKeyzudup(RSA* a1) {return RSAPrivateKey_dup(a1);}
   | ^

In file included from /usr/include/openssl/rsa.h:21:0: error: 

/usr/include/openssl/rsa.h:460:1: error:
     note: declared here
      460 | DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, RSA, RSAPrivateKey)
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |
460 | DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, RSA, RSAPrivateKey)
    | ^
/var/home/petersen/tmp/ghc19020_0/ghc_174.c: In function ‘ghczuwrapperZC6ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAPublicKeyzudup’:

/var/home/petersen/tmp/ghc19020_0/ghc_174.c:40:1: error:
     warning: ‘RSAPublicKey_dup’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
       40 | RSA* ghczuwrapperZC6ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAPublicKeyzudup(RSA* a1) {return RSAPublicKey_dup(a1);}
          | ^~~
   |
40 | RSA* ghczuwrapperZC6ZCHsOpenSSLzm0zi11zi7zi7zmed136f0dfa6ecbcb3284537c367ed2c07db563f5f33f022c6fe5ce6953a03433ZCOpenSSLziRSAZCRSAPublicKeyzudup(RSA* a1) {return RSAPublicKey_dup(a1);}
   | ^

/usr/include/openssl/rsa.h:459:1: error:
     note: declared here
      459 | DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, RSA, RSAPublicKey)
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |
459 | DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, RSA, RSAPublicKey)
    | ^

<no location info>: error:
    `gcc' failed in phase `C Compiler'. (Exit code: 1)
:
:

I think this already started with Fedora 40. My current workaround hack is to build first with Fedora 39, which has openssl-3.1 and then use the cabal cached build in newer Fedora. But F39 will be EOL in some times time.

juhp commented 1 month ago

For the Fedora 40 package, I added this patch from #88 to make it build, it seems to help here too.

geraldus commented 1 month ago

For the Fedora 40 package, I added this patch from #88 to make it build, it seems to help here too.

Well, your patch also worked for me on macOS. Oh, no I was wrong

felixonmars commented 2 weeks ago

Implemented the same workaround for Arch: https://gitlab.archlinux.org/archlinux/packaging/packages/haskell-hsopenssl/-/commit/9080b3293f9e3721cdbe800b94250baa33d3444a#9b9baac1eb9b72790eef5540a1685306fc43fd6c_22_22 (I tried to apply #94 too but got different errors.)

I guess the ultimate solution here would be #95