Root6.06.08 on Mac Os X, dyld: lazy symbol binding failed when creating TF1

Hi,

I’m linking agains root 6.06.08 on Mac Os X 10.11.6 and compiling with:

I can compile and my code is working up until the following line 72. “ivec->name” is a simple std::string in a struct". However, when I try to create the TF1 I get the error message beneath:

[code]* thread #1: tid = 0x24325, 0x0000000100041e94 calibrationGain::FitGain(this=0x000000010300ab20) + 468 at gain.cxx:72, queue = 'com.apple.main-thread', stop reason = breakpoint 3.1 frame #0: 0x0000000100041e94 calibrationGain::FitGain(this=0x000000010300ab20) + 468 at gain.cxx:72
69 for(auto & ivec : channels_)
70 {
71
-> 72 TF1* gaussian=new TF1( (ivec->name + “_gaussian”).c_str(),“gaus”,-200, 2600);
73
74 ivec->gain_hist->Fit(gaussian,“Q”);
75 ivec->gain_hist->Fit(gaussian,“Q”);
(lldb) p ivec->name
(std::__1::string) $8 = “FWD1-INT”
(lldb) p ivec->gain_hist
(TH1I *) $9 = 0x000000010300ca10
(lldb) n
dyld: lazy symbol binding failed: Symbol not found: __ZN3TF1C1EPKcS1_ddNS_10EAddToListE
Referenced from: /Users/mgabriel/workspace/claws/claws_calibration/build/calibration
Expected in: /usr/local/lib/libHist.so

dyld: Symbol not found: __ZN3TF1C1EPKcS1_ddNS_10EAddToListE
Referenced from: /Users/mgabriel/workspace/claws/claws_calibration/build/calibration
Expected in: /usr/local/lib/libHist.so

Process 54209 stopped

  • thread #1: tid = 0x24325, 0x00007fff5fc01075 dylddyld_fatal_error + 1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) frame #0: 0x00007fff5fc01075 dylddyld_fatal_error + 1
    dyld`dyld_fatal_error:
    -> 0x7fff5fc01075 <+1>: nop

dyld`dyldbootstrap::start:
0x7fff5fc01076 <+0>: pushq %rbp
0x7fff5fc01077 <+1>: movq %rsp, %rbp
0x7fff5fc0107a <+4>: pushq %r15
(lldb)
[/code]
Before I switched to Mac os X I was running my code on a Linux machine without problems. However, I change stuff in the overall code, nothing related to the shown section though.

Any ideas?

Update:

  • when linking against root 6.06/02 the code is running without any problems
  • when linking against root 6.08/00 and 6.08/02 the code is showing problems way earlier

When calling the two 6.08 versions:

this is resulting in a some random histogram that got nothing to do with the one in the file and only has one bin. But I can access it and use it.

So what is going on?