Re: installing root 5 a user with gcc 4

From: Christian Holm Christensen <cholm_at_nbi.dk>
Date: Mon, 29 May 2006 17:34:52 +0200


Hi Maurizio,

On Mon, 2006-05-29 at 12:59 +0100, Maurizio Panniello wrote:
> Hi, i'm tring to install root 5.10/00 as user but using the gcc 4
> (compiled as user too), so i set these envirmoent before compile root:
>
> gcc4path="/scratch/maurizio/local_install/programs/gcc-4.0.3"
> PATH gcc4path + "/bin"
> LD_LIBRARY_PATH gcc4path + "/lib"
> CPPFLAGS "-I" + gcc4path + "/include"
> LDFLAGS "-L" + gcc4path + "/lib"
> (this is pseudocode, not csh nor bash)
>
> I'm on a RH 3.4 linux.
> Than i configure root and than make, make cintdlls, make install, all as
> user.
>
> It seem like root is stil searching for old std c++ libraries (dlopen
> error: libstdc++.so.3: cannot open shared object file: No such file or
> directory)
> but it should not use thats (isn't it?)

Perhaps a few lines from your build would be good.

Also, try to compile a small program using your private GCC installation, and use the `-V' option to see all the stuff going on. So do something like

        cat > testit.cc <<EOF
        #include <iostream>
        int main()
        {
           std::cout << "Hello, World" << std::endl;
           return 0;
        }
        EOF
        g++ -V testit.cc -o testit
        

(no pseudo-code - the above is executable :-)

And try to run the program. Also check with `ldd' that it depends on the proper Standard C++ library. If any of this fails, it's due to your build of GCC.

> dlopen error: libstdc++.so.3: cannot open shared object file: No such
> file or directory

> Load Error: Failed to load Dynamic link library
> /scratch/maurizio/local_install/programs/root_v5.10.00/root/lib/libASImage.so
> Error in <TGComboBox::TGComboBox>: arrow_down.xpm not found
> Error in <TPluginHandler::SetupCallEnv>: class TASImage not found in
> plugin ASImage
> Error in <TGVScrollBar::TGHScrollBar>: arrow_*.xpm not found
> Error in <TGTreeLBEntry::TGTreeLBEntry>: icon not found for entry

Aha, so it's because libASImage was compiled using the `older' GCC compiler (most likely at least). `ldd' libASImage to see the dependecies. Could be a problem in the ROOT build, or because a sub-shell. Check that you do not set PATH, LD_LIBRARY_PATH, or similar in `.bashrc', `.cshrc', `.tcshrc', or similar. also make sure that none of the system versions of these resets any of these environment variables.

Note to all: Setting environment variables should _only_ be done in login scripts. You may end up messing up your machine if you set environment variables in your `.bashrc', `.cshrc', `.tcshrc', or similar.

Yours,

-- 
 ___  |  Christian Holm Christensen 
  |_| |  -------------------------------------------------------------
    | |  Address: Sankt Hansgade 23, 1. th.  Phone:  (+45) 35 35 96 91
     _|           DK-2200 Copenhagen N       Cell:   (+45) 24 61 85 91
    _|            Denmark                    Office: (+45) 353  25 404
 ____|   Email:   cholm_at_nbi.dk               Web:    www.nbi.dk/~cholm
 | |
Received on Mon May 29 2006 - 17:36:05 MEST

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:58 MET