Hi all,
I recently compiled Root 5.34/20 on my Mac running OSX 10.9.4. I am working with several libraries developed by some of my collaborators, which I have previously used on various linux builds. With a few changes, I was able to compile these libraries on OSX. I am trying to run some basic scripts that utilize these libraries and they seem to run as expected until I try to call a Write() command from a pointer. It seems to also fail on commands such as Close() or delete. There error I am getting is a segmentation violation:
*** Break *** segmentation violation
Generating stack trace...
0x000000010e48366c in TBufferFile::WriteObjectAny(void const*, TClass const*) (in libRIO.so) (TBufferFile.cxx:2567)
0x000000010e482d52 in TBufferFile::WriteFastArray(void**, TClass const*, int, bool, TMemberStreamer*) (in libRIO.so) (TBufferFile.cxx:2275)
0x000000010e60827d in int TStreamerInfo::WriteBufferAux<char**>(TBuffer&, char** const&, TStreamerInfo::TCompInfo* const*, int, int, int, int, int) (in libRIO.so) (TStreamerInfoWriteBuffer.cxx:449)
0x000000010e4e7e6a in TStreamerInfoActions::GenericWriteAction(TBuffer&, void*, TStreamerInfoActions::TConfiguration const*) (in libRIO.so) (TStreamerInfoActions.cxx:174)
0x000000010e485ecd in TBufferFile::ApplySequence(TStreamerInfoActions::TActionSequence const&, void*) (in libRIO.so) (iterator:1171)
0x000000010e485dea in TBufferFile::WriteClassBuffer(TClass const*, void*) (in libRIO.so) (TBufferFile.cxx:3858)
0x00000001165cce2b in ResponseMapVBS::Streamer(TBuffer&) (in libImagingTools.dylib) (ResponseMapVBS_dict.cc:127)
0x000000010e483616 in TBufferFile::WriteObjectClass(void const*, TClass const*) (in libRIO.so) (TBufferFile.cxx:2531)
0x000000010e483735 in TBufferFile::WriteObjectAny(void const*, TClass const*) (in libRIO.so) (TBufferFile.cxx:2585)
0x000000010e482d52 in TBufferFile::WriteFastArray(void**, TClass const*, int, bool, TMemberStreamer*) (in libRIO.so) (TBufferFile.cxx:2275)
0x000000010e60827d in int TStreamerInfo::WriteBufferAux<char**>(TBuffer&, char** const&, TStreamerInfo::TCompInfo* const*, int, int, int, int, int) (in libRIO.so) (TStreamerInfoWriteBuffer.cxx:449)
0x000000010e4e7e6a in TStreamerInfoActions::GenericWriteAction(TBuffer&, void*, TStreamerInfoActions::TConfiguration const*) (in libRIO.so) (TStreamerInfoActions.cxx:174)
0x000000010e485ecd in TBufferFile::ApplySequence(TStreamerInfoActions::TActionSequence const&, void*) (in libRIO.so) (iterator:1171)
0x000000010e485dea in TBufferFile::WriteClassBuffer(TClass const*, void*) (in libRIO.so) (TBufferFile.cxx:3858)
0x0000000116802cab in ResponseBuilderVBS_NSC::Streamer(TBuffer&) (in libAnalysisAlgs.dylib) (ResponseBuilderVBS_NSC_dict.cc:127)
0x000000010e4c8508 in TKey::TKey(TObject const*, char const*, int, TDirectory*) (in libRIO.so) (TKey.cxx:254)
0x000000010e49564b in TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in libRIO.so) (TFile.cxx:960)
0x000000010e48db7f in TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in libRIO.so) (TDirectoryFile.cxx:1819)
0x000000010d225c2b in TObject::Write(char const*, int, int) const (in libCore.so) (TObject.cxx:785)
0x000000010cfb21ea in G__G__Base2_11_0_53(G__value*, char const*, G__param*, int) (in libCore.so) (G__Base2.cxx:6800)
0x000000010d8671a1 in Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in libCint.so) (Api.cxx:393)
0x000000010d90036b in G__execute_call (in libCint.so) (newlink.cxx:2437)
0x000000010d9007cc in G__call_cppfunc (in libCint.so) (newlink.cxx:2612)
0x000000010d8d5f0e in G__interpret_func (in libCint.so) (ifunc.cxx:5791)
0x000000010d8c4337 in G__getfunction (in libCint.so) (func.cxx:2661)
0x000000010d9c766b in G__getstructmem(int, G__FastAllocString&, char*, int, char*, int*, G__var_array*, int) (in libCint.so) (var.cxx:6821)
0x000000010d9be15d in G__getvariable (in libCint.so) (var.cxx:5408)
0x000000010d8b7e22 in G__getitem (in libCint.so) (expr.cxx:1906)
0x000000010d8b39f2 in G__getexpr (in libCint.so) (expr.cxx:1488)
0x000000010d933d3c in G__exec_statement (in libCint.so) (parse.cxx:645)
0x000000010d89a3c5 in G__exec_tempfile_core(char const*, __sFILE*) (in libCint.so) (debug.cxx:266)
0x000000010d89a5e0 in G__exec_tempfile (in libCint.so) (debug.cxx:814)
0x000000010d942507 in G__process_cmd (in libCint.so) (pause.cxx:3188)
0x000000010d1b1c44 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) (in libCore.so) (TCint.cxx:545)
0x000000010d1b1f29 in TCint::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) (in libCore.so) (TCint.cxx:624)
0x000000010d1fe003 in TApplication::ExecuteFile(char const*, int*, bool) (in libCore.so) (TApplication.cxx:1102)
0x000000010d1fcee4 in TApplication::ProcessLine(char const*, bool, int*) (in libCore.so) (TApplication.cxx:951)
0x000000010e31942e in TRint::Run(bool) (in libRint.so) (TRint.cxx:418)
0x000000010ce91e2f in main (in root) (rmain.cxx:29)
0x00007fff87cc05fd in start (in libdyld.dylib) + 1
0x0000000000000003 in <unknown function>
As mentioned, this does not occur when running on linux. Is there something special that needs to be done during an OSX build that might take care of this?