hashlink: Can't compile on arch linux

libs/ssl/ssl.c: In function ‘ssl_cert_get_altnames’:
libs/ssl/ssl.c:463:16: error: ‘mbedtls_x509_crt’ has no member named ‘ext_types’
  463 |         if (crt->ext_types & MBEDTLS_X509_EXT_SUBJECT_ALT_NAME) {
      |                ^~
libs/ssl/ssl.c: In function ‘ssl_key_from_der’:
libs/ssl/ssl.c:596:21: error: too few arguments to function ‘mbedtls_pk_parse_key’
  596 |                 r = mbedtls_pk_parse_key(pk, (const unsigned char*)data, len, NULL, 0);
      |                     ^~~~~~~~~~~~~~~~~~~~
In file included from libs/ssl/ssl.c:30:
/usr/include/mbedtls/pk.h:830:5: note: declared here
  830 | int mbedtls_pk_parse_key(mbedtls_pk_context *ctx,
      |     ^~~~~~~~~~~~~~~~~~~~
libs/ssl/ssl.c: In function ‘ssl_key_from_pem’:
libs/ssl/ssl.c:622:21: error: too few arguments to function ‘mbedtls_pk_parse_key’
  622 |                 r = mbedtls_pk_parse_key(pk, buf, len, NULL, 0);
      |                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/mbedtls/pk.h:830:5: note: declared here
  830 | int mbedtls_pk_parse_key(mbedtls_pk_context *ctx,
      |     ^~~~~~~~~~~~~~~~~~~~
libs/ssl/ssl.c:624:21: error: too few arguments to function ‘mbedtls_pk_parse_key’
  624 |                 r = mbedtls_pk_parse_key(pk, buf, len, (const unsigned char*)pass, strlen((char*)pass));
      |                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/mbedtls/pk.h:830:5: note: declared here
  830 | int mbedtls_pk_parse_key(mbedtls_pk_context *ctx,
      |     ^~~~~~~~~~~~~~~~~~~~
libs/ssl/ssl.c: In function ‘ssl_dgst_sign’:
libs/ssl/ssl.c:681:96: warning: passing argument 6 of ‘mbedtls_pk_sign’ makes integer from pointer without a cast [-Wint-conversion]
  681 |         if ((r = mbedtls_pk_sign(key->k, mbedtls_md_get_type(md), hash, 0, out, (size ? &ssize : NULL), mbedtls_ctr_drbg_random, &ctr_drbg)) != 0){
      |                                                                                 ~~~~~~~~~~~~~~~^~~~~~~
      |                                                                                                |
      |                                                                                                size_t * {aka long unsigned int *}
/usr/include/mbedtls/pk.h:576:48: note: expected ‘size_t’ {aka ‘long unsigned int’} but argument is of type ‘size_t *’ {aka ‘long unsigned int *’}
  576 |                     unsigned char *sig, size_t sig_size, size_t *sig_len,
      |                                         ~~~~~~~^~~~~~~~
libs/ssl/ssl.c:681:105: warning: passing argument 7 of ‘mbedtls_pk_sign’ from incompatible pointer type [-Wincompatible-pointer-types]
  681 |         if ((r = mbedtls_pk_sign(key->k, mbedtls_md_get_type(md), hash, 0, out, (size ? &ssize : NULL), mbedtls_ctr_drbg_random, &ctr_drbg)) != 0){
      |                                                                                                         ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                                                                         |
      |                                                                                                         int (*)(void *, unsigned char *, size_t) {aka int (*)(void *, unsigned char *, long unsigned int)}
/usr/include/mbedtls/pk.h:576:66: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘int (*)(void *, unsigned char *, size_t)’ {aka ‘int (*)(void *, unsigned char *, long unsigned int)’}
  576 |                     unsigned char *sig, size_t sig_size, size_t *sig_len,
      |                                                          ~~~~~~~~^~~~~~~
libs/ssl/ssl.c:681:130: warning: passing argument 8 of ‘mbedtls_pk_sign’ from incompatible pointer type [-Wincompatible-pointer-types]
  681 |         if ((r = mbedtls_pk_sign(key->k, mbedtls_md_get_type(md), hash, 0, out, (size ? &ssize : NULL), mbedtls_ctr_drbg_random, &ctr_drbg)) != 0){
      |                                                                                                                                  ^~~~~~~~~
      |                                                                                                                                  |
      |                                                                                                                                  mbedtls_ctr_drbg_context *
/usr/include/mbedtls/pk.h:577:27: note: expected ‘int (*)(void *, unsigned char *, size_t)’ {aka ‘int (*)(void *, unsigned char *, long unsigned int)’} but argument is of type ‘mbedtls_ctr_drbg_context *’
  577 |                     int (*f_rng)(void *, unsigned char *, size_t), void *p_rng);
      |                     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libs/ssl/ssl.c:681:18: error: too few arguments to function ‘mbedtls_pk_sign’
  681 |         if ((r = mbedtls_pk_sign(key->k, mbedtls_md_get_type(md), hash, 0, out, (size ? &ssize : NULL), mbedtls_ctr_drbg_random, &ctr_drbg)) != 0){
      |                  ^~~~~~~~~~~~~~~
/usr/include/mbedtls/pk.h:574:5: note: declared here
  574 | int mbedtls_pk_sign(mbedtls_pk_context *ctx, mbedtls_md_type_t md_alg,
      |     ^~~~~~~~~~~~~~~
make: *** [Makefile:257: libs/ssl/ssl.o] Error 1
make: *** Waiting for unfinished jobs....
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: hashlink-git-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
hashlink-git - exit status 4

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 15 (2 by maintainers)

Most upvoted comments

The simplest solution for the AUR package would be to depend on the mbedtls2 package instead and fiddle with the compiler flags:

diff --git a/Makefile b/Makefile
index 52c46e3..1763c8a 100644
--- a/Makefile
+++ b/Makefile
@@ -110,9 +110,11 @@ LIB += ${HL_DEBUG}
 else
 
 # Linux
-CFLAGS += -m$(MARCH) -fPIC -pthread -fno-omit-frame-pointer
+CFLAGS += -m$(MARCH) -fPIC -pthread -fno-omit-frame-pointer -I /usr/include/mbedtls2
 LFLAGS += -lm -Wl,-rpath,.:'$$ORIGIN':$(INSTALL_LIB_DIR) -Wl,--export-dynamic -Wl,--no-undefined
 
+LIBFLAGS+=-L/usr/lib/mbedtls2
+
 ifeq ($(MARCH),32)
 CFLAGS += -I /usr/include/i386-linux-gnu
 LIBFLAGS += -L/opt/libjpeg-turbo/lib

Аниме на аве мать в канаве