Root cannot find icons, crashes

Hello,

I have the following problem with the root version 5.12/00, precompiled and installed from source on a kubuntu system.
Everything works fine, only when some icons are used, like for the TBrowser root crashes by saying it cannot find the icons, even though they
are even in the path.
I attach the error message, maybe somebody knows what to do.

thanks,

Anselm Vossen

TBrowser b
Error in TGVScrollBar::TGVScrollBar: arrow_.xpm not found
Error in TGComboBox::TGComboBox: arrow_down.xpm not found
Error in TGVScrollBar::TGVScrollBar: arrow_
.xpm not found
Error in TGVScrollBar::TGVScrollBar: arrow_.xpm not found
Error in TGHScrollBar::TGHScrollBar: arrow_
.xpm not found
Error in TGVScrollBar::TGVScrollBar: arrow_*.xpm not found
Error in TGFileContainer::TGFileContainer: required pixmap(s) missing

Warning in TASImage::GetMask: No image
Warning in TASImage::GetMask: No image

*** Break *** segmentation violation
Generating stack trace…
/usr/bin/addr2line: ‘root.exe’: No such file
/usr/bin/addr2line: ‘root.exe’: No such file
0xb5f8400f in TGListTreeItem::TGListTreeItem(TGClient*, char const*, TGPicture const*, TGPicture const*, bool) + 0x113 from /home/vossen/programs/root2/lib/libGui.so
0xb5f86120 in TGListTree::AddItem(TGListTreeItem*, char const*, TGPicture const*, TGPicture const*, bool) + 0x56 from /home/vossen/programs/root2/lib/libGui.so
0xb5f861f6 in TGListTree::AddItem(TGListTreeItem*, char const*, void*, TGPicture const*, TGPicture const*, bool) + 0x62 from /home/vossen/programs/root2/lib/libGui.so
0xb5ff884b in TRootBrowser::AddToTree(TObject*, char const*, int) + 0x1fb from /home/vossen/programs/root2/lib/libGui.so
0xb5ffae5c in TRootBrowser::Add(TObject*, char const*, int) + 0x13e from /home/vossen/programs/root2/lib/libGui.so
0xb77cf146 in TBrowser::Add(TObject*, char const*, int) + 0x32 from /home/vossen/programs/root2/lib/libCore.so
0xb7831a98 in TROOT::Browse(TBrowser*) + 0x74 from /home/vossen/programs/root2/lib/libCore.so
0xb5ffb3eb in TRootBrowser::BrowseObj(TObject*) + 0x7d from /home/vossen/programs/root2/lib/libGui.so
0xb77cf330 in TBrowser::Create(TObject*) + 0x1e0 from /home/vossen/programs/root2/lib/libCore.so
0xb77cfe38 in TBrowser::TBrowser(char const*, char const*) + 0x12c from /home/vossen/programs/root2/lib/libCore.so
0xb79615d3 in from /home/vossen/programs/root2/lib/libCore.so
0xb73dc529 in G__call_cppfunc + 0x2e1 from /home/vossen/programs/root2/lib/libCint.so
0xb73c6285 in G__interpret_func + 0x851 from /home/vossen/programs/root2/lib/libCint.so
0xb73bb285 in G__getfunction at v6_func.cxx:0 from /home/vossen/programs/root2/lib/libCint.so
0xb738e6d8 in G__define_var + 0x2e3c from /home/vossen/programs/root2/lib/libCint.so
0xb7438cf9 in G__defined_type + 0x633 from /home/vossen/programs/root2/lib/libCint.so
0xb73fe729 in G__exec_statement at v6_parse.cxx:0 from /home/vossen/programs/root2/lib/libCint.so
0xb7387eea in G__exec_tempfile_core + 0x35c from /home/vossen/programs/root2/lib/libCint.so
0xb73880d6 in G__exec_tempfile_fp + 0x2e from /home/vossen/programs/root2/lib/libCint.so
0xb740b4a4 in G__process_cmd + 0x5526 from /home/vossen/programs/root2/lib/libCint.so
0xb7899ed3 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) + 0x129 from /home/vossen/programs/root2/lib/libCore.so
0xb77c5354 in TApplication::ProcessLine(char const*, bool, int*) + 0x6c4 from /home/vossen/programs/root2/lib/libCore.so
0xb68016b3 in TRint::HandleTermInput() + 0x255 from /home/vossen/programs/root2/lib/libRint.so
0xb6800913 in TTermInputHandler::Notify() + 0x25 from /home/vossen/programs/root2/lib/libRint.so
0xb68028c4 in TTermInputHandler::ReadNotify() + 0x14 from /home/vossen/programs/root2/lib/libRint.so
0xb7933db8 in TUnixSystem::CheckDescriptors() + 0x148 from /home/vossen/programs/root2/lib/libCore.so
0xb79344de in TUnixSystem::DispatchOneEvent(bool) + 0x14c from /home/vossen/programs/root2/lib/libCore.so
0xb78488a5 in TSystem::InnerLoop() + 0x21 from /home/vossen/programs/root2/lib/libCore.so
0xb7848843 in TSystem::Run() + 0x71 from /home/vossen/programs/root2/lib/libCore.so
0xb77c4562 in TApplication::Run(bool) + 0x34 from /home/vossen/programs/root2/lib/libCore.so
0xb680143f in TRint::Run(bool) + 0x39f from /home/vossen/programs/root2/lib/libRint.so
0x08048d17 in main + 0x87 from root.exe
0xb65b5ea2 in __libc_start_main + 0xd2 from /lib/tls/i686/cmov/libc.so.6
0x08048c11 in TApplicationImp::ShowMembers(TMemberInspector&, char*) + 0x31 from root.exe

Hi,

The reason is related to not set properly icon path in root after the installation. We have no kubuntu system to test this case here and an additional information is needed to find out what happened. Please check and provide info about the following items in case you did not use ./configure --prefix=your_root_directory --etcdir=your_root_etc_directory:

  • Do you have $ROOTSYS set?
  • Do you have a .rootrc file located in your home or in your working directory that contains information about ‘Gui.IconPath’ ?
  • If none of .rootrc files above exist what is the setting of ‘Gui.IconPath’ in $ROOTSYS/etc/system.rootrc?
  • Do you have .xpm files in the listed icon path?

If you have configured ROOT with --prfix and --etcdir please check the above items according to both given directories ($ROOTSYS is not needed in that case)

Thank you, Ilka

Hello,
I do have ROOTSYS set, there is no .rootrc in my home and
the line in the $ROOTSYS/etc/system.rootrc reads
Gui.IconPath: $(HOME)/icons:$(ROOTSYS)/icons:.

and there are indeed the *.xpms in this path.

Cheers,

Anselm

Hi Anselm,

Everything looks correct. Please run root with a debugger and provide the backtrace when it crashes. For example, with the gdb debigger: gdb root.exe and later code bt [/code] at the moment of crash.

Thank you, Ilka

Hey Ilka,

I did what you suggested, and here is what the output looks like:

I hope it gives you know what to make of it,

Cheers,

Anselm

[Thread debugging using libthread_db enabled]
[New Thread -1235126592 (LWP 6804)]


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.12/00e 6 September 2006 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      [root.cern.ch](http://root.cern.ch)            *
    
  •                                     *
    

FreeType Engine v2.1.9 used to render TrueType fonts.
Compiled on 15 October 2006 for linuxdeb with thread support.

CINT/ROOT C/C++ Interpreter version 5.16.13, June 8, 2006
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] TBrowser b
Error in : arrow_.xpm not found
Error in : arrow_down.xpm not found
Error in : arrow_
.xpm not found
Error in : arrow_.xpm not found
Error in : arrow_
.xpm not found
Error in : arrow_*.xpm not found
Error in : required pixmap(s) missing

root.exe ERROR: Insufficient memory to create image 540418102x170664497!

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1235126592 (LWP 6804)]
0xb59b36ea in prepare_scanline () from /home/vossen/programs/root2/lib/libASImage.so
(gdb) bt
#0 0xb59b36ea in prepare_scanline () from /home/vossen/programs/root2/lib/libASImage.so
#1 0xb59bd5e7 in start_image_output () from /home/vossen/programs/root2/lib/libASImage.so
#2 0xb59c6833 in fill_asimage () from /home/vossen/programs/root2/lib/libASImage.so
#3 0xb597be20 in TASImage::FillRectangleInternal () from /home/vossen/programs/root2/lib/libASImage.so
#4 0xb597c05f in TASImage::FillRectangle () from /home/vossen/programs/root2/lib/libASImage.so
#5 0xb5fc5258 in TGPictureButton::CreateDisabledPicture () from /home/vossen/programs/root2/lib/libGui.so
#6 0xb5fc4a78 in TGPictureButton::DoRedraw () from /home/vossen/programs/root2/lib/libGui.so
#7 0xb5fc38fd in TGButton::SetState () from /home/vossen/programs/root2/lib/libGui.so
#8 0xb609ae78 in TRootBrowser::ClearHistory () from /home/vossen/programs/root2/lib/libGui.so
#9 0xb60a4d7c in TRootBrowser::CreateBrowser () from /home/vossen/programs/root2/lib/libGui.so
#10 0xb60a5155 in TRootBrowser::TRootBrowser () from /home/vossen/programs/root2/lib/libGui.so
#11 0xb60b1b60 in TRootGuiFactory::CreateBrowserImp () from /home/vossen/programs/root2/lib/libGui.so
#12 0xb7874e25 in TBrowser::TBrowser () from /home/vossen/programs/root2/lib/libCore.so
#13 0xb7a065d3 in G__G__Base1_61_3_0 () from /home/vossen/programs/root2/lib/libCore.so
#14 0xb7481529 in G__call_cppfunc () from /home/vossen/programs/root2/lib/libCint.so
#15 0xb746b285 in G__interpret_func () from /home/vossen/programs/root2/lib/libCint.so
#16 0xb7460285 in G__getfunction () from /home/vossen/programs/root2/lib/libCint.so
#17 0xb74336d8 in G__define_var () from /home/vossen/programs/root2/lib/libCint.so
#18 0xb74ddcf9 in G__defined_type () from /home/vossen/programs/root2/lib/libCint.so
#19 0xb74a3729 in G__exec_statement () from /home/vossen/programs/root2/lib/libCint.so
#20 0xb742ceea in G__exec_tempfile_core () from /home/vossen/programs/root2/lib/libCint.so
#21 0xb742d0d6 in G__exec_tempfile_fp () from /home/vossen/programs/root2/lib/libCint.so
#22 0xb74b04a4 in G__process_cmd () from /home/vossen/programs/root2/lib/libCint.so
#23 0xb793eed3 in TCint::ProcessLine () from /home/vossen/programs/root2/lib/libCore.so
#24 0xb786a354 in TApplication::ProcessLine () from /home/vossen/programs/root2/lib/libCore.so
#25 0xb68a66b3 in TRint::HandleTermInput () from /home/vossen/programs/root2/lib/libRint.so
#26 0xb68a5913 in TTermInputHandler::Notify () from /home/vossen/programs/root2/lib/libRint.so
#27 0xb68a78c4 in TTermInputHandler::ReadNotify () from /home/vossen/programs/root2/lib/libRint.so
#28 0xb79d8db8 in TUnixSystem::CheckDescriptors () from /home/vossen/programs/root2/lib/libCore.so
#29 0xb79d94de in TUnixSystem::DispatchOneEvent () from /home/vossen/programs/root2/lib/libCore.so
#30 0xb78ed8a5 in TSystem::InnerLoop () from /home/vossen/programs/root2/lib/libCore.so
#31 0xb78ed843 in TSystem::Run () from /home/vossen/programs/root2/lib/libCore.so
#32 0xb7869562 in TApplication::Run () from /home/vossen/programs/root2/lib/libCore.so
#33 0xb68a643f in TRint::Run () from /home/vossen/programs/root2/lib/libRint.so
#34 0x08048d17 in m

Hi Anselm,

Please check also the setting of ROOTICONPATH in the $ROOTSYS/include/config.h to make sure that it is correct.

Thank you, Ilka

…it looks correct:
#define ROOTICONPATH “$(ROOTSYS)/icons”

ROOTSYS is also set correctly and I do have the the icons under $ROOTSYS/icons…

Cheers,
Anselm

Hi Anselm,

In that case the problem might be a kubuntu specific one. According to what I found with Google, the kubuntu user directories contain a set of standard folders that programs could anticipate as a convention. The paths for these folders could be reassigned through a preferences utility for those who don’t like the default structure. May be the $ROOTSYS/icons directory should be known for your system. BTW that was the case with $ROOTSYS/fonts for SLC3: the ROOT font directory was known in Red Had 7.3, but passing to SLC3 I was obliged to include its path to /etc/X11/fs/config and to restart the font server.

Cheers, Ilka

I re-read your very first message. What does it mean “the root version 5.12/00, precompiled and installed from source on a kubuntu system”? Which exactly steps did you follow?

Cheers, Ilka

Hi there,

Perhaps you want to check the thread a 3331. It seems that it’s the same problem as this one. Perhaps the original poster should have looked a bit harder to see if a related or similar problem was reported to the forum, before posting.

Ilka wrote:

[quote]kubuntu user directories contain a set of standard folders that programs could anticipate as a convention.
[/quote]

This is not specific to Ubuntu. Any Linux distribution that wants to implement the Linux Standard Base Desktop, should provide this.

The user cannot determine via such a utility how ROOT should look for pixmaps. The only place that can be done, except for in the code, is in ones ~/.rootrc, ./.rootrc, or /etc/root/system.rootrc.

The TTF is an entirely different matter when you use a Font Server. Pixmaps are not found the same way by the X server. It’s entirely up to the application (or application framework) to deal with this. And, you shouldn’t really need to specify the path to the TTFs in the XFS configuration - ROOT finds the font files directly itself, and renders them using the libfreetype library.

Note, that I’ve put a fair amount of work into integrating ROOT with the desktop in the Debian and Red Hat packages. For example, the a menu entry will show up in your start menu, all ROOT files will have a custom icon, ROOT files are associated with the /usr/bin/root, and ROOT files are correctly recognised. Furthermore, the various daemons follow the LSB recommendations for SYSV init services.

The problem at hand - the missing pixmaps - I do not know a lot about. All I can say, is that it doesn’t exists on Debian GNU/Linux ‘sid’ on i386.

Yours,

Christian