You are not logged in.

#1 2026-06-08 14:50:48

M1n3c4rt
Member
Registered: 2026-06-08
Posts: 7

[SOLVED] Failed to build steam-native-runtime,errors related to nettle

I am trying to install steam-native-runtime from the AUR in an attempt to fix a larger issue where steam refuses to start or provide any errors, even when run from the terminal. steam-native-runtime fails to build due to many errors, all of which seem to be related to nettle.

Here is the output of yay -S steam-native-runtime:

AUR Dependency (2): lib32-librtmp0-2.6-1, librtmp0-2.4-6
AUR Explicit (1): steam-native-runtime-1.0.0.75-9
:: PKGBUILD up to date, skipping download: steam-native-runtime
:: PKGBUILD up to date, skipping download: lib32-librtmp0
:: PKGBUILD up to date, skipping download: librtmp0
  3 steam-native-runtime             (Build Files Exist)
  2 lib32-librtmp0                   (Build Files Exist)
  1 librtmp0                         (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort \[I\]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
  3 steam-native-runtime             (Build Files Exist)
  2 lib32-librtmp0                   (Build Files Exist)
  1 librtmp0                         (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort \[I\]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
==> Making package: lib32-librtmp0 2.6-1 (Mon 08 Jun 2026 08:05:51 PM IST)
==> Retrieving sources...
  -> Updating rtmpdump git repo...
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with b2sums...
    rtmpdump ... Skipped
==> Making package: librtmp0 2.4-6 (Mon 08 Jun 2026 08:05:52 PM IST)
==> Retrieving sources...
  -> Updating rtmpdump git repo...
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
    rtmpdump ... Skipped
==> Making package: steam-native-runtime 1.0.0.75-9 (Mon 08 Jun 2026 08:05:54 PM IST)
==> Retrieving sources...
  -> Found steam-native.sh
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha512sums...
    steam-native.sh ... Passed
:: (1/3) Parsing SRCINFO: steam-native-runtime
:: (2/3) Parsing SRCINFO: lib32-librtmp0
:: (3/3) Parsing SRCINFO: librtmp0
==> Making package: lib32-librtmp0 2.6-1 (Mon 08 Jun 2026 08:05:55 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating rtmpdump git repo...
==> Validating source files with b2sums...
    rtmpdump ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of rtmpdump git repo...
Cloning into 'rtmpdump'...
done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
==> Sources are ready.
==> Making package: lib32-librtmp0 2.6-1 (Mon 08 Jun 2026 08:05:57 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
make[1]: Entering directory '/home/miney/.cache/yay/lib32-librtmp0/src/rtmpdump/librtmp'
gcc -Wall   -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_GNUTLS  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/miney/.cache/yay/lib32-librtmp0/src=/usr/src/debug/lib32-librtmp0 -flto=auto -m32 -fPIC   -c -o rtmp.o rtmp.c
In file included from rtmp.c:153:
handshake.h: In function ‘InitRC4Encryption’:
handshake.h:49:33: error: passing argument 2 of ‘nettle_hmac_sha256_digest’ makes pointer from integer without a cast [-Wint-conversion]
   49 | #define SHA256_DIGEST_LENGTH    32
      |                                 ^~
      |                                 |
      |                                 int
handshake.h:55:95: note: in expansion of macro ‘SHA256_DIGEST_LENGTH’
   55 | define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
handshake.h:134:3: note: in expansion of macro ‘HMAC_finish’
  134 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
In file included from handshake.h:46:
/usr/include/nettle/hmac.h:154:29: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
  154 |                    uint8_t *digest);
      |                    ~~~~~~~~~^~~~~~
handshake.h:55:70: error: too many arguments to function ‘nettle_hmac_sha256_digest’; expected 2, have 3
   55 | #define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                      ^~~~~~~~~~~~~~~~~~
handshake.h:134:3: note: in expansion of macro ‘HMAC_finish’
  134 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:153:1: note: declared here
  153 | hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
      | ^~~~~~~~~~~~~~~~~~
handshake.h:49:33: error: passing argument 2 of ‘nettle_hmac_sha256_digest’ makes pointer from integer without a cast [-Wint-conversion]
   49 | #define SHA256_DIGEST_LENGTH    32
      |                                 ^~
      |                                 |
      |                                 int
handshake.h:55:95: note: in expansion of macro ‘SHA256_DIGEST_LENGTH’
   55 | define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
handshake.h:143:3: note: in expansion of macro ‘HMAC_finish’
  143 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:154:29: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
  154 |                    uint8_t *digest);
      |                    ~~~~~~~~~^~~~~~
handshake.h:55:70: error: too many arguments to function ‘nettle_hmac_sha256_digest’; expected 2, have 3
   55 | #define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                      ^~~~~~~~~~~~~~~~~~
handshake.h:143:3: note: in expansion of macro ‘HMAC_finish’
  143 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:153:1: note: declared here
  153 | hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
      | ^~~~~~~~~~~~~~~~~~
handshake.h:126:16: warning: variable ‘digestLen’ set but not used [-Wunused-but-set-variable=]
  126 |   unsigned int digestLen = 0;
      |                ^~~~~~~~~
handshake.h: In function ‘HMACsha256’:
handshake.h:49:33: error: passing argument 2 of ‘nettle_hmac_sha256_digest’ makes pointer from integer without a cast [-Wint-conversion]
   49 | #define SHA256_DIGEST_LENGTH    32
      |                                 ^~
      |                                 |
      |                                 int
handshake.h:55:95: note: in expansion of macro ‘SHA256_DIGEST_LENGTH’
   55 | define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
handshake.h:280:3: note: in expansion of macro ‘HMAC_finish’
  280 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:154:29: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
  154 |                    uint8_t *digest);
      |                    ~~~~~~~~~^~~~~~
handshake.h:55:70: error: too many arguments to function ‘nettle_hmac_sha256_digest’; expected 2, have 3
   55 | #define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                      ^~~~~~~~~~~~~~~~~~
handshake.h:280:3: note: in expansion of macro ‘HMAC_finish’
  280 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:153:1: note: declared here
  153 | hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
      | ^~~~~~~~~~~~~~~~~~
rtmp.c: In function ‘RTMP_TLS_AllocServerContext’:
rtmp.c:281:3: warning: ‘gnutls_certificate_credentials’ is deprecated [-Wdeprecated-declarations]
  281 |   gnutls_certificate_allocate_credentials((gnutls_certificate_credentials*) &ctx);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rtmp.c: In function ‘b64enc’:
rtmp.c:2456:23: warning: pointer targets in passing argument 1 of ‘nettle_base64_encode_raw’ differ in signedness [-Wpointer-sign]
 2456 |     base64_encode_raw((uint8_t*) output, length, input);
      |                       ^~~~~~~~~~~~~~~~~
      |                       |
      |                       uint8_t * {aka unsigned char *}
In file included from rtmp.c:58:
/usr/include/nettle/base64.h:116:25: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
  116 | base64_encode_raw(char *dst, size_t length, const uint8_t *src);
      |                   ~~~~~~^~~
rtmp.c: In function ‘PublisherAuth’:
rtmp.c:2603:35: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2603 |           MD5_Update(&md5ctx, user.av_val, user.av_len);
      |                               ~~~~^~~~~~~
      |                                   |
      |                                   char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
In file included from rtmp.c:59:
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2604:35: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2604 |           MD5_Update(&md5ctx, salt.av_val, salt.av_len);
      |                               ~~~~^~~~~~~
      |                                   |
      |                                   char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2605:48: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2605 |           MD5_Update(&md5ctx, r->Link.pubPasswd.av_val, r->Link.pubPasswd.av_len);
      |                               ~~~~~~~~~~~~~~~~~^~~~~~~
      |                                                |
      |                                                char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2606:11: note: in expansion of macro ‘MD5_Final’
 2606 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2606:11: note: in expansion of macro ‘MD5_Final’
 2606 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c:2620:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2620 |           MD5_Update(&md5ctx, salted2, B64DIGEST_LEN);
      |                               ^~~~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2623:39: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2623 |             MD5_Update(&md5ctx, opaque.av_val, opaque.av_len);
      |                                 ~~~~~~^~~~~~~
      |                                       |
      |                                       char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2625:42: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2625 |             MD5_Update(&md5ctx, challenge.av_val, challenge.av_len);
      |                                 ~~~~~~~~~^~~~~~~
      |                                          |
      |                                          char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2626:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2626 |           MD5_Update(&md5ctx, challenge2, B64INT_LEN);
      |                               ^~~~~~~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2627:11: note: in expansion of macro ‘MD5_Final’
 2627 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2627:11: note: in expansion of macro ‘MD5_Final’
 2627 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c:2769:35: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2769 |           MD5_Update(&md5ctx, user.av_val, user.av_len);
      |                               ~~~~^~~~~~~
      |                                   |
      |                                   char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2770:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2770 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2771:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2771 |           MD5_Update(&md5ctx, realm, sizeof(realm)-1);
      |                               ^~~~~
      |                               |
      |                               const char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘const char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2772:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2772 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2773:48: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2773 |           MD5_Update(&md5ctx, r->Link.pubPasswd.av_val, r->Link.pubPasswd.av_len);
      |                               ~~~~~~~~~~~~~~~~~^~~~~~~
      |                                                |
      |                                                char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2774:11: note: in expansion of macro ‘MD5_Final’
 2774 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2774:11: note: in expansion of macro ‘MD5_Final’
 2774 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c:2788:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2788 |           MD5_Update(&md5ctx, method, sizeof(method)-1);
      |                               ^~~~~~
      |                               |
      |                               const char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘const char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2789:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2789 |           MD5_Update(&md5ctx, ":/", 2);
      |                               ^~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2790:37: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2790 |           MD5_Update(&md5ctx, apptmp.av_val, apptmp.av_len);
      |                               ~~~~~~^~~~~~~
      |                                     |
      |                                     char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2792:33: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2792 |             MD5_Update(&md5ctx, "/_definst_", sizeof("/_definst_") - 1);
      |                                 ^~~~~~~~~~~~
      |                                 |
      |                                 char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2793:11: note: in expansion of macro ‘MD5_Final’
 2793 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2793:11: note: in expansion of macro ‘MD5_Final’
 2793 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c:2801:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2801 |           MD5_Update(&md5ctx, hash1, HEXHASH_LEN);
      |                               ^~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2802:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2802 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2803:36: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2803 |           MD5_Update(&md5ctx, nonce.av_val, nonce.av_len);
      |                               ~~~~~^~~~~~~
      |                                    |
      |                                    char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2804:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2804 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2805:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2805 |           MD5_Update(&md5ctx, nchex, sizeof(nchex)-1);
      |                               ^~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2806:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2806 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2807:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2807 |           MD5_Update(&md5ctx, cnonce, sizeof(cnonce)-1);
      |                               ^~~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2808:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2808 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2809:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2809 |           MD5_Update(&md5ctx, qop, sizeof(qop)-1);
      |                               ^~~
      |                               |
      |                               const char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘const char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2810:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2810 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2811:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2811 |           MD5_Update(&md5ctx, hash2, HEXHASH_LEN);
      |                               ^~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2812:11: note: in expansion of macro ‘MD5_Final’
 2812 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2812:11: note: in expansion of macro ‘MD5_Final’
 2812 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c: At top level:
rtmp.c:2908:19: warning: ‘av_NetConnection_Connect_Rejected’ defined but not used [-Wunused-const-variable=]
 2908 | static const AVal av_NetConnection_Connect_Rejected =
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rtmp.c:1560:35: warning: ‘av_record’ defined but not used [-Wunused-const-variable=]
 1560 | #define SAVC(x) static const AVal av_##x = AVC(#x)
      |                                   ^~~
rtmp.c:1906:1: note: in expansion of macro ‘SAVC’
 1906 | SAVC(record);
      | ^~~~
make[1]: *** [<builtin>: rtmp.o] Error 1
make[1]: Leaving directory '/home/miney/.cache/yay/lib32-librtmp0/src/rtmpdump/librtmp'
make: *** [Makefile:76: librtmp/librtmp.a] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> Failed to install layer, rolling up to next layer.error:error making: lib32-librtmp0 - exit status 4
==> Making package: lib32-librtmp0 2.6-1 (Mon 08 Jun 2026 08:05:58 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating rtmpdump git repo...
==> Validating source files with b2sums...
    rtmpdump ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of rtmpdump git repo...
Cloning into 'rtmpdump'...
done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
==> Sources are ready.
==> Making package: lib32-librtmp0 2.6-1 (Mon 08 Jun 2026 08:06:00 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
make[1]: Entering directory '/home/miney/.cache/yay/lib32-librtmp0/src/rtmpdump/librtmp'
gcc -Wall   -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_GNUTLS  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/miney/.cache/yay/lib32-librtmp0/src=/usr/src/debug/lib32-librtmp0 -flto=auto -m32 -fPIC   -c -o rtmp.o rtmp.c
In file included from rtmp.c:153:
handshake.h: In function ‘InitRC4Encryption’:
handshake.h:49:33: error: passing argument 2 of ‘nettle_hmac_sha256_digest’ makes pointer from integer without a cast [-Wint-conversion]
   49 | #define SHA256_DIGEST_LENGTH    32
      |                                 ^~
      |                                 |
      |                                 int
handshake.h:55:95: note: in expansion of macro ‘SHA256_DIGEST_LENGTH’
   55 | define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
handshake.h:134:3: note: in expansion of macro ‘HMAC_finish’
  134 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
In file included from handshake.h:46:
/usr/include/nettle/hmac.h:154:29: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
  154 |                    uint8_t *digest);
      |                    ~~~~~~~~~^~~~~~
handshake.h:55:70: error: too many arguments to function ‘nettle_hmac_sha256_digest’; expected 2, have 3
   55 | #define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                      ^~~~~~~~~~~~~~~~~~
handshake.h:134:3: note: in expansion of macro ‘HMAC_finish’
  134 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:153:1: note: declared here
  153 | hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
      | ^~~~~~~~~~~~~~~~~~
handshake.h:49:33: error: passing argument 2 of ‘nettle_hmac_sha256_digest’ makes pointer from integer without a cast [-Wint-conversion]
   49 | #define SHA256_DIGEST_LENGTH    32
      |                                 ^~
      |                                 |
      |                                 int
handshake.h:55:95: note: in expansion of macro ‘SHA256_DIGEST_LENGTH’
   55 | define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
handshake.h:143:3: note: in expansion of macro ‘HMAC_finish’
  143 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:154:29: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
  154 |                    uint8_t *digest);
      |                    ~~~~~~~~~^~~~~~
handshake.h:55:70: error: too many arguments to function ‘nettle_hmac_sha256_digest’; expected 2, have 3
   55 | #define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                      ^~~~~~~~~~~~~~~~~~
handshake.h:143:3: note: in expansion of macro ‘HMAC_finish’
  143 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:153:1: note: declared here
  153 | hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
      | ^~~~~~~~~~~~~~~~~~
handshake.h:126:16: warning: variable ‘digestLen’ set but not used [-Wunused-but-set-variable=]
  126 |   unsigned int digestLen = 0;
      |                ^~~~~~~~~
handshake.h: In function ‘HMACsha256’:
handshake.h:49:33: error: passing argument 2 of ‘nettle_hmac_sha256_digest’ makes pointer from integer without a cast [-Wint-conversion]
   49 | #define SHA256_DIGEST_LENGTH    32
      |                                 ^~
      |                                 |
      |                                 int
handshake.h:55:95: note: in expansion of macro ‘SHA256_DIGEST_LENGTH’
   55 | define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
handshake.h:280:3: note: in expansion of macro ‘HMAC_finish’
  280 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:154:29: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
  154 |                    uint8_t *digest);
      |                    ~~~~~~~~~^~~~~~
handshake.h:55:70: error: too many arguments to function ‘nettle_hmac_sha256_digest’; expected 2, have 3
   55 | #define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                      ^~~~~~~~~~~~~~~~~~
handshake.h:280:3: note: in expansion of macro ‘HMAC_finish’
  280 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:153:1: note: declared here
  153 | hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
      | ^~~~~~~~~~~~~~~~~~
rtmp.c: In function ‘RTMP_TLS_AllocServerContext’:
rtmp.c:281:3: warning: ‘gnutls_certificate_credentials’ is deprecated [-Wdeprecated-declarations]
  281 |   gnutls_certificate_allocate_credentials((gnutls_certificate_credentials*) &ctx);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rtmp.c: In function ‘b64enc’:
rtmp.c:2456:23: warning: pointer targets in passing argument 1 of ‘nettle_base64_encode_raw’ differ in signedness [-Wpointer-sign]
 2456 |     base64_encode_raw((uint8_t*) output, length, input);
      |                       ^~~~~~~~~~~~~~~~~
      |                       |
      |                       uint8_t * {aka unsigned char *}
In file included from rtmp.c:58:
/usr/include/nettle/base64.h:116:25: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
  116 | base64_encode_raw(char *dst, size_t length, const uint8_t *src);
      |                   ~~~~~~^~~
rtmp.c: In function ‘PublisherAuth’:
rtmp.c:2603:35: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2603 |           MD5_Update(&md5ctx, user.av_val, user.av_len);
      |                               ~~~~^~~~~~~
      |                                   |
      |                                   char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
In file included from rtmp.c:59:
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2604:35: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2604 |           MD5_Update(&md5ctx, salt.av_val, salt.av_len);
      |                               ~~~~^~~~~~~
      |                                   |
      |                                   char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2605:48: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2605 |           MD5_Update(&md5ctx, r->Link.pubPasswd.av_val, r->Link.pubPasswd.av_len);
      |                               ~~~~~~~~~~~~~~~~~^~~~~~~
      |                                                |
      |                                                char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2606:11: note: in expansion of macro ‘MD5_Final’
 2606 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2606:11: note: in expansion of macro ‘MD5_Final’
 2606 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c:2620:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2620 |           MD5_Update(&md5ctx, salted2, B64DIGEST_LEN);
      |                               ^~~~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2623:39: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2623 |             MD5_Update(&md5ctx, opaque.av_val, opaque.av_len);
      |                                 ~~~~~~^~~~~~~
      |                                       |
      |                                       char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2625:42: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2625 |             MD5_Update(&md5ctx, challenge.av_val, challenge.av_len);
      |                                 ~~~~~~~~~^~~~~~~
      |                                          |
      |                                          char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2626:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2626 |           MD5_Update(&md5ctx, challenge2, B64INT_LEN);
      |                               ^~~~~~~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2627:11: note: in expansion of macro ‘MD5_Final’
 2627 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2627:11: note: in expansion of macro ‘MD5_Final’
 2627 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c:2769:35: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2769 |           MD5_Update(&md5ctx, user.av_val, user.av_len);
      |                               ~~~~^~~~~~~
      |                                   |
      |                                   char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2770:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2770 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2771:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2771 |           MD5_Update(&md5ctx, realm, sizeof(realm)-1);
      |                               ^~~~~
      |                               |
      |                               const char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘const char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2772:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2772 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2773:48: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2773 |           MD5_Update(&md5ctx, r->Link.pubPasswd.av_val, r->Link.pubPasswd.av_len);
      |                               ~~~~~~~~~~~~~~~~~^~~~~~~
      |                                                |
      |                                                char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2774:11: note: in expansion of macro ‘MD5_Final’
 2774 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2774:11: note: in expansion of macro ‘MD5_Final’
 2774 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c:2788:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2788 |           MD5_Update(&md5ctx, method, sizeof(method)-1);
      |                               ^~~~~~
      |                               |
      |                               const char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘const char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2789:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2789 |           MD5_Update(&md5ctx, ":/", 2);
      |                               ^~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2790:37: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2790 |           MD5_Update(&md5ctx, apptmp.av_val, apptmp.av_len);
      |                               ~~~~~~^~~~~~~
      |                                     |
      |                                     char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2792:33: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2792 |             MD5_Update(&md5ctx, "/_definst_", sizeof("/_definst_") - 1);
      |                                 ^~~~~~~~~~~~
      |                                 |
      |                                 char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2793:11: note: in expansion of macro ‘MD5_Final’
 2793 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2793:11: note: in expansion of macro ‘MD5_Final’
 2793 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c:2801:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2801 |           MD5_Update(&md5ctx, hash1, HEXHASH_LEN);
      |                               ^~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2802:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2802 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2803:36: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2803 |           MD5_Update(&md5ctx, nonce.av_val, nonce.av_len);
      |                               ~~~~~^~~~~~~
      |                                    |
      |                                    char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2804:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2804 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2805:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2805 |           MD5_Update(&md5ctx, nchex, sizeof(nchex)-1);
      |                               ^~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2806:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2806 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2807:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2807 |           MD5_Update(&md5ctx, cnonce, sizeof(cnonce)-1);
      |                               ^~~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2808:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2808 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2809:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2809 |           MD5_Update(&md5ctx, qop, sizeof(qop)-1);
      |                               ^~~
      |                               |
      |                               const char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘const char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2810:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2810 |           MD5_Update(&md5ctx, ":", 1);
      |                               ^~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:2811:31: warning: pointer targets in passing argument 3 of ‘nettle_md5_update’ differ in signedness [-Wpointer-sign]
 2811 |           MD5_Update(&md5ctx, hash2, HEXHASH_LEN);
      |                               ^~~~~
      |                               |
      |                               char *
rtmp.c:2494:60: note: in definition of macro ‘MD5_Update’
 2494 | #define MD5_Update(ctx,data,len)        md5_update(ctx,len,data)
      |                                                            ^~~~
/usr/include/nettle/md5.h:69:27: note: expected ‘const uint8_t *’ {aka ‘const unsigned char *’} but argument is of type ‘char *’
   69 |            const uint8_t *data);
      |            ~~~~~~~~~~~~~~~^~~~
rtmp.c:57:27: error: passing argument 2 of ‘nettle_md5_digest’ makes pointer from integer without a cast [-Wint-conversion]
   57 | #define MD5_DIGEST_LENGTH 16
      |                           ^~
      |                           |
      |                           int
rtmp.c:2495:48: note: in expansion of macro ‘MD5_DIGEST_LENGTH’
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                                ^~~~~~~~~~~~~~~~~
rtmp.c:2812:11: note: in expansion of macro ‘MD5_Final’
 2812 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:73:21: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
   73 |            uint8_t *digest);
      |            ~~~~~~~~~^~~~~~
rtmp.c:2495:33: error: too many arguments to function ‘nettle_md5_digest’; expected 2, have 3
 2495 | #define MD5_Final(dig,ctx)      md5_digest(ctx,MD5_DIGEST_LENGTH,dig)
      |                                 ^~~~~~~~~~
rtmp.c:2812:11: note: in expansion of macro ‘MD5_Final’
 2812 |           MD5_Final(md5sum_val, &md5ctx);
      |           ^~~~~~~~~
/usr/include/nettle/md5.h:72:1: note: declared here
   72 | md5_digest(struct md5_ctx *ctx,
      | ^~~~~~~~~~
rtmp.c: At top level:
rtmp.c:2908:19: warning: ‘av_NetConnection_Connect_Rejected’ defined but not used [-Wunused-const-variable=]
 2908 | static const AVal av_NetConnection_Connect_Rejected =
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rtmp.c:1560:35: warning: ‘av_record’ defined but not used [-Wunused-const-variable=]
 1560 | #define SAVC(x) static const AVal av_##x = AVC(#x)
      |                                   ^~~
rtmp.c:1906:1: note: in expansion of macro ‘SAVC’
 1906 | SAVC(record);
      | ^~~~
make[1]: *** [<builtin>: rtmp.o] Error 1
make[1]: Leaving directory '/home/miney/.cache/yay/lib32-librtmp0/src/rtmpdump/librtmp'
make: *** [Makefile:76: librtmp/librtmp.a] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: lib32-librtmp0-exit status 4
==> Making package: librtmp0 2.4-6 (Mon 08 Jun 2026 08:06:01 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating rtmpdump git repo...
==> Validating source files with sha256sums...
    rtmpdump ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of rtmpdump git repo...
Cloning into 'rtmpdump'...
done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
Auto-merging librtmp/Makefile
Auto-merging librtmp/dh.h
Auto-merging librtmp/hashswf.c
Auto-merging librtmp/rtmp.c
Auto-merging librtmp/rtmp_sys.h
Auto-merging librtmp/dh.h
Auto-merging librtmp/Makefile
Auto-merging librtmp/dh.h
Auto-merging librtmp/hashswf.c
Auto-merging librtmp/rtmp.c
Auto-merging librtmp/rtmp_sys.h
==> Sources are ready.
==> Making package: librtmp0 2.4-6 (Mon 08 Jun 2026 08:06:03 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
make[1]: Entering directory '/home/miney/.cache/yay/librtmp0/src/rtmpdump/librtmp'
gcc -Wall   -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_GNUTLS  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/miney/.cache/yay/librtmp0/src=/usr/src/debug/librtmp0 -flto=auto -fPIC   -c -o rtmp.o rtmp.c
In file included from rtmp.c:126:
handshake.h: In function ‘InitRC4Encryption’:
handshake.h:49:33: error: passing argument 2 of ‘nettle_hmac_sha256_digest’ makes pointer from integer without a cast [-Wint-conversion]
   49 | #define SHA256_DIGEST_LENGTH    32
      |                                 ^~
      |                                 |
      |                                 int
handshake.h:55:95: note: in expansion of macro ‘SHA256_DIGEST_LENGTH’
   55 | define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
handshake.h:127:3: note: in expansion of macro ‘HMAC_finish’
  127 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
In file included from handshake.h:46:
/usr/include/nettle/hmac.h:154:29: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
  154 |                    uint8_t *digest);
      |                    ~~~~~~~~~^~~~~~
handshake.h:55:70: error: too many arguments to function ‘nettle_hmac_sha256_digest’; expected 2, have 3
   55 | #define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                      ^~~~~~~~~~~~~~~~~~
handshake.h:127:3: note: in expansion of macro ‘HMAC_finish’
  127 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:153:1: note: declared here
  153 | hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
      | ^~~~~~~~~~~~~~~~~~
handshake.h:49:33: error: passing argument 2 of ‘nettle_hmac_sha256_digest’ makes pointer from integer without a cast [-Wint-conversion]
   49 | #define SHA256_DIGEST_LENGTH    32
      |                                 ^~
      |                                 |
      |                                 int
handshake.h:55:95: note: in expansion of macro ‘SHA256_DIGEST_LENGTH’
   55 | define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
handshake.h:136:3: note: in expansion of macro ‘HMAC_finish’
  136 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:154:29: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
  154 |                    uint8_t *digest);
      |                    ~~~~~~~~~^~~~~~
handshake.h:55:70: error: too many arguments to function ‘nettle_hmac_sha256_digest’; expected 2, have 3
   55 | #define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                      ^~~~~~~~~~~~~~~~~~
handshake.h:136:3: note: in expansion of macro ‘HMAC_finish’
  136 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:153:1: note: declared here
  153 | hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
      | ^~~~~~~~~~~~~~~~~~
handshake.h:119:16: warning: variable ‘digestLen’ set but not used [-Wunused-but-set-variable=]
  119 |   unsigned int digestLen = 0;
      |                ^~~~~~~~~
handshake.h: In function ‘HMACsha256’:
handshake.h:49:33: error: passing argument 2 of ‘nettle_hmac_sha256_digest’ makes pointer from integer without a cast [-Wint-conversion]
   49 | #define SHA256_DIGEST_LENGTH    32
      |                                 ^~
      |                                 |
      |                                 int
handshake.h:55:95: note: in expansion of macro ‘SHA256_DIGEST_LENGTH’
   55 | define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~
handshake.h:273:3: note: in expansion of macro ‘HMAC_finish’
  273 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:154:29: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
  154 |                    uint8_t *digest);
      |                    ~~~~~~~~~^~~~~~
handshake.h:55:70: error: too many arguments to function ‘nettle_hmac_sha256_digest’; expected 2, have 3
   55 | #define HMAC_finish(ctx, dig, dlen)     dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
      |                                                                      ^~~~~~~~~~~~~~~~~~
handshake.h:273:3: note: in expansion of macro ‘HMAC_finish’
  273 |   HMAC_finish(ctx, digest, digestLen);
      |   ^~~~~~~~~~~
/usr/include/nettle/hmac.h:153:1: note: declared here
  153 | hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
      | ^~~~~~~~~~~~~~~~~~
rtmp.c: In function ‘RTMP_ReadPacket’:
rtmp.c:2888:7: warning: variable ‘didAlloc’ set but not used [-Wunused-but-set-variable=]
 2888 |   int didAlloc = FALSE;
      |       ^~~~~~~~
rtmp.c: At top level:
rtmp.c:1423:35: warning: ‘av_record’ defined but not used [-Wunused-const-variable=]
 1423 | #define SAVC(x) static const AVal av_##x = AVC(#x)
      |                                   ^~~
rtmp.c:1736:1: note: in expansion of macro ‘SAVC’
 1736 | SAVC(record);
      | ^~~~
make[1]: *** [<builtin>: rtmp.o] Error 1
make[1]: Leaving directory '/home/miney/.cache/yay/librtmp0/src/rtmpdump/librtmp'
make: *** [Makefile:76: librtmp/librtmp.a] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: librtmp0-exit status 4
==> Making package: steam-native-runtime 1.0.0.75-9 (Mon 08 Jun 2026 08:06:04 PM IST)
==> Checking runtime dependencies...
==> Missing dependencies:
  -> lib32-librtmp0
  -> librtmp0
==> ERROR: Could not resolve all dependencies.
 -> error making: steam-native-runtime-exit status 8
 -> Failed to install the following packages. Manual intervention is required:
lib32-librtmp0 - exit status 4
librtmp0 - exit status 4
steam-native-runtime - exit status 8

Some more information on the larger issue: /usr/steam/bin only outputs the following when run in the terminal, and does not open the expected GUI:

steam.sh[669051]: Running Steam on arch rolling 64-bit
steam.sh[669051]: STEAM_RUNTIME is enabled automatically

Last edited by M1n3c4rt (2026-06-08 15:44:42)

Offline

#2 2026-06-08 15:19:07

WorMzy
Administrator
From: Scotland
Registered: 2010-06-16
Posts: 13,534
Website

Re: [SOLVED] Failed to build steam-native-runtime,errors related to nettle

Whenever an AUR package fails to build, you should check the comments for that package on the AUR website. There are a few fixes for build failures there.

Mod note: moving to AUR Issues.

In my experience, steam failing to start correctly is usually due to graphics stack issues. Maybe open a new topic about that issue and post the output of

$ glxinfo -B
$ eglinfo -B
$ glxinfo32 -B
$ eglinfo32 -B

Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#3 2026-06-08 15:44:10

M1n3c4rt
Member
Registered: 2026-06-08
Posts: 7

Re: [SOLVED] Failed to build steam-native-runtime,errors related to nettle

Thank you, I was able to build it from https://github.com/Damglador/steam-libs (in the pinned comment on the AUR page).
Unfortunately this didn't fix steam not opening, so I will be making a new topic for that.

Offline

Board footer

Powered by FluxBB