carlosonunez / obs-installer-for-apple-silicon

Conveniently build and install OBS from source on your ultra-fast Apple M1 MacBook or Mac
206 stars 23 forks source link

fatal error: 'mbedtls/arc4.h' file not found #11

Closed euclaise closed 2 years ago

euclaise commented 3 years ago

When running the installer I get:

[ 54%] Building C object plugins/obs-outputs/CMakeFiles/obs-outputs.dir/librtmp/rtmp.c.o
In file included from /tmp/obs/plugins/obs-outputs/librtmp/rtmp.c:178:
/tmp/obs/plugins/obs-outputs/librtmp/handshake.h:29:10: fatal error: 'mbedtls/arc4.h' file not found
#include <mbedtls/arc4.h>
         ^~~~~~~~~~~~~~~~
1 error generated.

Indeed, /opt/homebrew/include/mbedtls does not include an arc4.h, including only the following:

aes.h                 ccm.h                 ctr_drbg.h            entropy.h             memory_buffer_alloc.h platform.h            sha1.h                threading.h
aria.h                chacha20.h            debug.h               error.h               net_sockets.h         platform_time.h       sha256.h              timing.h
asn1.h                chachapoly.h          des.h                 gcm.h                 nist_kw.h             platform_util.h       sha512.h              version.h
asn1write.h           check_config.h        dhm.h                 hkdf.h                oid.h                 poly1305.h            ssl.h                 x509.h
base64.h              cipher.h              ecdh.h                hmac_drbg.h           pem.h                 private_access.h      ssl_cache.h           x509_crl.h
bignum.h              cmac.h                ecdsa.h               mbedtls_config.h      pk.h                  psa_util.h            ssl_ciphersuites.h    x509_crt.h
build_info.h          compat-2.x.h          ecjpake.h             md.h                  pkcs12.h              ripemd160.h           ssl_cookie.h          x509_csr.h
camellia.h            config_psa.h          ecp.h                 md5.h                 pkcs5.h               rsa.h                 ssl_ticket.h
cicloid commented 3 years ago

Try the following:

  1. Uninstall the latest version and rollback the older version 2 of mbedtls

    brew remove mbedtls
    brew install mbedtls@2
  2. Edit the install.sh and change the mbedtls to use mbedtls@2, this to avoid the reinstall of the new version.

  3. Compile with REPACKAGE=true ./install.sh

  4. ???

  5. Profit!

ThomasWaldmann commented 2 years ago

@cicloid thanks, I can confirm that your solution works!

ThomasWaldmann commented 2 years ago

The remaining questions is for what they need crypto as crappy as arc4. :-)

tobiasbischoff commented 2 years ago

Ran into the same issue, maybe someone should change install.sh to ask for mbedtls@2 in the first place.

jbubik commented 2 years ago

@carlosonunez please commit #13. Currently mbedtls points to mbedtls@3 (incompatible changes in mbedtls API since 2.27.0)

sagz commented 2 years ago

I had the same mbedtls issue and after the ...@2 fix, it proceeds but now I get a new error with jansson.h. Unclear what to do now. (This is on MacOS 12.0 Beta (21A5304g))

In file included from /tmp/obs/plugins/obs-outputs/ftl-sdk/libftl/ingest.c:2:
/tmp/obs/plugins/obs-outputs/ftl-sdk/libftl/ftl_private.h:164:14: warning: redefinition of typedef 'BOOL' is a C11 feature [-Wtypedef-redefinition]
typedef bool BOOL;
             ^
/tmp/obs/plugins/obs-outputs/ftl-sdk/libftl/posix/threads.h:37:14: note: previous definition is here
typedef bool BOOL;
             ^
/tmp/obs/plugins/obs-outputs/ftl-sdk/libftl/ingest.c:5:10: fatal error: 'jansson.h' file not found
#include <jansson.h>
         ^~~~~~~~~~~
2 warnings and 1 error generated.
make[2]: *** [plugins/obs-outputs/CMakeFiles/obs-outputs.dir/ftl-sdk/libftl/ingest.c.o] Error 1
make[1]: *** [plugins/obs-outputs/CMakeFiles/obs-outputs.dir/all] Error 2
make: *** [all] Error 2
[Fri Aug 27 10:41:54 CDT 2021] FATAL: Unable to build OBS; see above logs for more info. Try running this instead: REPACKAGE=true ./install.sh
➜  obs-installer-for-apple-silicon git:(main) ✗ REPACKAGE=true ./install.sh

Full build output: https://gist.github.com/sagz/8a6ef7e6d4969ae4e0ff9cfe83fa4487

carlosonunez commented 2 years ago

Hello! I just did a fresh rebuild of OBS 27.0.1 and, unfortunately, wasn't able to replicate this issue. However, since I did merge the PR that fixes this, I'm going to close this issue. Feel free to re-open it if this continues to be a problem.