Home | News | Documentation | Download

Building ROOT on macOS Catalina (10.15.3)

Dear ROOTers,

I’m trying to build ROOT from source on the latest version of macOS, but I’m running into some issues (I see that there are a few posts on this topic, but the reported errors appear different and their solutions don’t seem to work for me).

I’ve tried ROOT version 6.18.04 as well as the master branch on GitHub – in both cases the build with cmake fails after a certain point, with this error message:

[ 56%] Built target G__Net
[ 56%] Linking CXX shared library …/…/lib/libNet.so
ld: cannot link directly with dylib/framework, your binary is not an allowed client of /usr/lib/libcrypto.dylib for architecture x86_64

The binary provided by Axel @ (Root catalina bug report) does work – however it would be great to be able to build things from source, for linking external libraries, Python3 etc.

ROOT Version: 6.19 (GitHub master, hash is 63f5742)
Platform: macOS Catalina (10.15.3)
Compiler: Apple clang version 11.0.0


I am not sure if disabling SIP will help here. Did you try to build with disabled SIP (System Integrity Protection)? @Axel do you know if it will help?

Oksana.

Please don’t disable SIP.

I don’t know why the build fails. Can you post the complete output of make VERBOSE=1?

Cheers, Axel

Hi Oksana & Axel,

Thanks for the quick responses! I’ve attached the full output of make VERBOSE=1 in a plaintext file.
root_make_error.txt (270.0 KB)

I encountered a similar problem. In my case, the error is:

ld: cannot link directly with dylib/framework, your binary is not an allowed client of /usr/local/Cellar/mysql/5.7.20/lib/libcrypto.dylib for architecture x86_64

The solution is

cd /usr/local/Cellar/mysql/5.7.20/lib/
rm libcrypto.dylib ; ln -s /usr/local/Cellar/openssl@1.1/1.1.1d/lib/libcrypto.dylib
rm libssl.dylib ; ln -s /usr/local/Cellar/openssl@1.1/1.1.1d/lib/libssl.dylib

The idea is to use the libcrypoto.dylib installed from brew install openssl instead of that from system.

Best regards
Xiangyang

Dear Xiangyang,

Thanks for the reply!

Unfortunately in my case, it seems like the issue is coming from /usr/lib/libcrypto.dylib, which is a system file that I cannot delete.

Was this ever resolved? Trying to build git tag -v6-220-02 from source fails on mac os with the same error:

[I] src/XrdVersion.hh successfully generated

ld: cannot link directly with dylib/framework, your binary is not an allowed client of /usr/lib/libcrypto.dylib for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make[5]: *** [src/libXrdHttpUtils.1.0.0.dylib] Error 1

make[4]: *** [src/CMakeFiles/XrdHttpUtils.dir/all] Error 2

make[3]: *** [all] Error 2

Cheers,

Mark

well building with xrootd off resolves this for me (and I don’t believe I need that on my MacBook).

Cheers,

Mark