-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Labels
Description
Check duplicate issues.
- Checked for duplicates
Description
When using PyROOT to compile a macro with .L macro.C+, compilation fails with the following linker error:
ld: cannot link directly with 'libffi-trampolines.dylib' because product being built is not an allowed client of it
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Standalone ROOT compiles the same macro fine (root -l .L macro.C+), so this only occurs when running ROOT inside Python.
Environment:
• ROOT version: 6.38.04 (Homebrew)
• Installation method: Homebrew (brew install root)
• Python version: 3.14.3 (Homebrew)
• macOS version: 26.3.1 (Apple Silicon)
Reproducer
Create a minimal macro test_macro.C:
#include <iostream>
void test() {
std::cout << "hello" << std::endl;
}in a python session:
import ROOT
ROOT.gROOT.ProcessLine(".L test_macro.C+")ROOT version
| Welcome to ROOT 6.38.04 https://root.cern |
| (c) 1995-2025, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for macosxarm64 on Mar 11 2026, 21:39:24 |
| From tags/6-38-04@6-38-04 |
| With Apple clang version 17.0.0 (clang-1700.6.4.2) std201703 |
| Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q' |
Installation method
Homebrew
Operating system
macOS version: 26.3.1 (Apple Silicon)
Additional context
Doing this solves the problem
export DYLD_LIBRARY_PATH=/opt/homebrew/opt/libffi/lib:$DYLD_LIBRARY_PATH
Reactions are currently unavailable