Trying to bring up root 2.00/09 using the Makefile

From: Fraser Duncan (fduncan@owl.phy.queensu.ca)
Date: Wed Jul 01 1998 - 18:45:41 MEST


A few comments on the Makefile distributed with 2.00/09 source.
I am trying to get root running on what redhat linux 5.1.  To
make things interesting the version of redhat 5.1 that I have is
(I think) slightly nonstandard.  Anyway, I thought that I would
report a couple of things that I found.
  
1/
  First I tried to install root 2.00/09 right out of the box.  The
root interpreter would work fine but when I tried to compile the
test codes in $ROOTSYS/test/ it failed miserably.  I got the following:
  
---------------------------------------------------
[fduncan@cygnus test]$ make
g++ -O -Wall -fPIC -I/home/tools/root/include -c Event.cxx
Generating dictionary ...
Note: operator new() masked 1c
Note: operator delete() masked 1c
class EventHeader in Event.h line 19 original base of virtual func
g++ -O -Wall -fPIC -I/home/tools/root/include -c EventCint.cxx
g++ -O -Wall -fPIC -I/home/tools/root/include -c MainEvent.cxx
g++ -Wl,-soname,libEvent.so -shared -g Event.o EventCint.o -o libEvent.so
g++ -g MainEvent.o Event.o EventCint.o -L/home/tools/root/lib -lNew -lBase
-lCint -lClib -lCont -lFunc -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta
-lMinuit -lNet -lPostscript -lProof -lTree -lUnix -lZip -lg++ -lm -ldl
-rdynamic -o Event
/usr/bin/ld: warning: libstdc++.so.2.7.2, needed by
/home/tools/root/lib/libNew.so, may conflict with libstdc++.so.2.8
Event.o: In function `Event type_info function':
Event.o(.text+0x1308): undefined reference to `TObject type_info function'
Event.o(.text+0x130e): undefined reference to `TObject type_info node'
EventCint.o: In function `Track type_info function':
EventCint.o(.text+0x5084): undefined reference to `TObject type_info
function'
EventCint.o(.text+0x508a): undefined reference to `TObject type_info node'
collect2: ld returned 1 exit status
make: *** [Event] Error 1
[fduncan@cygnus test]$ 
 
---------------------------------------------------
  
I suspected that this is an incompatability with the redhat 5.0 and 5.1
libraries.  I don't know if anybody else has this problem but I am
reporting it just in case it is of interest.  As I said, it may be due
to either the fact that I am using redhat 5.1 or that I have a slightly
nonstandard version.
  

2/  Then I tried using the make file to build root from scratch.  There
  are a couple of things that I wanted to point out that are not big
  problems with the make files but they would tidy things up a bit.
  
  This is what I found:
  
   * I untarred the source tree in a new directory /data1/fduncan/root/
   * I made the link  in src/
              ln -s Makefile.linux Makefile
   * I ran make
   
   Problems:  1)  there were no bin/ and lib/ directories so I created
                  them by hand.
                   Could the standard distribution have these put in?
  
              2)  The make crashed when it couldn't find libXpm.a
                  It took me a while to realize that it is a system
                  library and not supposed to be distributed with root.
                  Part of the confusion was that if I look in old 
                  versions of root, libXpm.a is in $ROOTSYS/lib.
                   
                  Maybe the make file could be changed to not make it
                  look like libXpm.a is supposed to be in $ROOTSYS/lib
                  (Also I guess you need libXpm.so to run applications...)
                   
               3) There was no $ROOTSYS/include directory with the header
                  files in it.  
      
                  Could the make file create and stuff this directory?
  
               4) There was no $ROOTSYS/icons directory.  I stole the
                  directory from the binary distribution of 2.00/09
  
The last problem with building root from scratch is probably my fault.
When I compiled the programs in the test directory I got a warning:
  
---------------------------------------------
g++ -O -Wall -fPIC -I/data1/fduncan/root/include -c hworld.cxx
g++ -g hworld.o -L/data1/fduncan/root/lib -lNew -lBase -lCint -lClib
-lCont -lFunc -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet
-lPostscript -lProof -lTree -lUnix -lZip -lGpad -lGui -lGX11 -lX3d
-L/usr/X11R6/lib -lXpm -lX11 -lg++ -lm -ldl -rdynamic -o hworld
/usr/bin/ld: warning: libstdc++.so.2.7.2, needed by /usr/lib/libg++.so,
may conflict with libstdc++.so.2.8
hworld done
----------------------------------------------
I don't know if this is a problem with my linux installation or if
it is a problem with the way the root libraries are made.
  
  Hope these comments are helpfull.
  
           - Fraser Duncan



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:34 MET