RE: Too many DLLs

From: Philippe Canal <pcanal_at_fnal.gov>
Date: Tue, 30 Jan 2007 11:51:27 -0600


Hi Margar,

You could group your source files in libraries even when using ACLiC. Create files like:
// File groupe1.cxx
#include "myClass.cxx"
#include "myOtherClass.cxx"

....
#ifdef __MAKECINT__
#pragma link C++ class myClass+;
#pragma link C++ class myOtherClass+;

....
#endif

// End of file groupe1.cxx

Cheers,
Philippe

-----Original Message-----
From: owner-roottalk_at_pcroot.cern.ch [mailto:owner-roottalk_at_pcroot.cern.ch] On Behalf Of Margar Simonyan
Sent: Monday, January 29, 2007 3:21 AM
To: roottalk_at_pcroot.cern.ch
Subject: [ROOT] Too many DLLs

Hello

I have a problem with ROOT after loading many shared libraries. All my classes, functions and macros are compiled with ACLiC and in the rootlogon.C I load them using gSystem->Load(). The number of .so files recently exceed 150, which is probably the limit and now ROOT crashes when I create TCanvas object. The output is given below. In principle it is possible to merge source files and reduce number of shared libraries, but it is good to keep them separately when there is no logical reason to merge them. It would be nice to find other solution. Could you help ?

Thanks,
Margar

root [0] TCanvas::MakeDefCanvas()
Too many DLL: Failed to load Dynamic link library /programs/root/root/lib/libASImage.so
Error in <TPluginHandler::SetupCallEnv>: class TASImage not found in plugin ASImage
Error in <TGHScrollBar::TGHScrollBar>: arrow_*.xpm not found Error in <TGVScrollBar::TGVScrollBar>: arrow_*.xpm not found

0x058414ee in __waitpid_nocancel () from /lib/tls/libc.so.6 Thread 1 (Thread -1218572160 (LWP 4006)):
#0 0x058414ee in __waitpid_nocancel () from /lib/tls/libc.so.6
#1 0x057d61d4 in do_system () from /lib/tls/libc.so.6
#2 0x07879d7f in system () from /lib/tls/libpthread.so.0
#3 0x0085f6f9 in TUnixSystem::Exec () from
/programs/root/root/lib/libCore.so
#4 0x0085fb29 in TUnixSystem::StackTrace ()

   from /programs/root/root/lib/libCore.so
#5 0x0085dc1f in TUnixSystem::DispatchSignals ()

   from /programs/root/root/lib/libCore.so
#6 0x0085bd17 in SigHandler () from /programs/root/root/lib/libCore.so
#7 0x0086235b in sighandler () from /programs/root/root/lib/libCore.so
#8 <signal handler called>
#9 0x0679e6ba in TGHScrollBar::SetPosition ()

   from /programs/root/root/lib/libGui.so
#10 0x067183e8 in TGCanvas::Layout () from /programs/root/root/lib/libGui.so
#11 0x06717d42 in TGCanvas::MapSubwindows ()

   from /programs/root/root/lib/libGui.so
#12 0x067448bd in TGCompositeFrame::MapSubwindows ()

   from /programs/root/root/lib/libGui.so
#13 0x067448bd in TGCompositeFrame::MapSubwindows ()

   from /programs/root/root/lib/libGui.so
#14 0x067e7afb in TRootCanvas::CreateCanvas ()

   from /programs/root/root/lib/libGui.so
#15 0x067e5e5a in TRootCanvas::TRootCanvas ()

   from /programs/root/root/lib/libGui.so
#16 0x067f0e84 in TRootGuiFactory::CreateCanvasImp ()

   from /programs/root/root/lib/libGui.so
#17 0x05a8a185 in TCanvas::Constructor ()

   from /programs/root/root/lib/libGpad.so
#18 0x05a89f0c in TCanvas::TCanvas () from
/programs/root/root/lib/libGpad.so
#19 0x05a8d2ec in TCanvas::MakeDefCanvas ()

   from /programs/root/root/lib/libGpad.so
#20 0x05ac9c50 in G__G__GPad_200_0_117 ()

   from /programs/root/root/lib/libGpad.so
#21 0x00147d8e in Cint::G__ExceptionWrapper ()

   from /programs/root/root/lib/libCint.so
#22 0x001e2fd8 in G__call_cppfunc () from /programs/root/root/lib/libCint.so
#23 0x001d1dab in G__interpret_func () from
/programs/root/root/lib/libCint.so
#24 0x001c0b96 in G__getfunction () from /programs/root/root/lib/libCint.so
#25 0x001b7b83 in G__getitem () from /programs/root/root/lib/libCint.so
#26 0x001b6777 in G__getexpr () from /programs/root/root/lib/libCint.so
#27 0x001fa0d4 in G__exec_function () from
/programs/root/root/lib/libCint.so
#28 0x00201068 in G__exec_statement () from
/programs/root/root/lib/libCint.so
#29 0x0019d946 in G__exec_tempfile_core ()

   from /programs/root/root/lib/libCint.so
#30 0x0019db38 in G__exec_tempfile_fp ()

   from /programs/root/root/lib/libCint.so
#31 0x0020963e in G__process_cmd () from /programs/root/root/lib/libCint.so
#32 0x007d2e1f in TCint::ProcessLine () from
/programs/root/root/lib/libCore.so
#33 0x0070dcd2 in TApplication::ProcessLine ()

   from /programs/root/root/lib/libCore.so
#34 0x0056edab in TRint::HandleTermInput ()

   from /programs/root/root/lib/libRint.so
#35 0x0056d7a8 in TTermInputHandler::Notify ()

   from /programs/root/root/lib/libRint.so
#36 0x0056f660 in TTermInputHandler::ReadNotify ()

   from /programs/root/root/lib/libRint.so
#37 0x0085e054 in TUnixSystem::CheckDescriptors ()

   from /programs/root/root/lib/libCore.so
#38 0x0085cf40 in TUnixSystem::DispatchOneEvent ()

   from /programs/root/root/lib/libCore.so
#39 0x0078d784 in TSystem::InnerLoop () from
/programs/root/root/lib/libCore.so
#40 0x0078d729 in TSystem::Run () from /programs/root/root/lib/libCore.so
#41 0x0070e7b2 in TApplication::Run () from
/programs/root/root/lib/libCore.so
#42 0x0056e83c in TRint::Run () from /programs/root/root/lib/libRint.so
#43 0x080488dd in main ()

Root > Received on Tue Jan 30 2007 - 18:53:09 CET

This archive was generated by hypermail 2.2.0 : Tue Jan 30 2007 - 23:50:01 CET