Hi Jonathan, I have introduced a Makefile for Solaris 2.6 with egcs 1.1 in the new production release of Root 2.20/06. For Solaris 2.5, you will still have to apply your patches. Rene Brun Jonathan Hays wrote: > > Hi, > > So after too many Christmas parties I have managed to compile the > 2.20/05 version from yesterday... > > Here are all the steps I took to compile and install ROOT using > egcs-2.91.60 19981201 (egcs-1.1.1 release) on a Sparc-Station20 > under SunOS 5.5.1 (i.e. the CMSWGS at CERN) > > 1. Create the root ROOT directory i.e. where you want to install everything > > 2. Download file root_v2.20.source.tar and unpack in this directory > this contains directories src/, cint/, test/ and tutorials/ > > 3. Download file root_v2.20.SunOS.5.4.tar and upack in same directory > this contains directory root > > 4. mv src root/ > > 5. Setup environment variables > cd root > setenv ROOTSYS $PWD > setenv PATH $(PATH):$ROOTSYS/bin > setenv LD_LIBRARY_PATH $(LD_LIBRARY_PATH):$ROOTSYS/lib > Make sure that no entries in the paths exist from previous > ROOT installations. > > 6. Change makefile > cd src > ln -s Makefile.solaris Makefile > now edit and change to use the following lines > > # Makefile of ROOT for Solaris with egcs > PLATFORM = solaris > CXX = g++ > CC = gcc > CXXFLAGS = -fPIC -fno-rtti -fno-exceptions -I/usr/openwin/include > CFLAGS = -fPIC -I/usr/openwin/include > CINTCXXFLAGS = -fPIC -DG__REGEXP1 -DG__UNIX -DG__OSFDLL \ > -DG__SHAREDLIB -DG__ROOT -DG__REDIRECTIO > CINTCFLAGS = -fPIC -DG__REGEXP1 -DG__UNIX -DG__OSFDLL \ > -DG__SHAREDLIB -DG__ROOT -DG__REDIRECTIO > OPT = -g > NOOPT = > LD = $(CXX) > LDFLAGS = $(OPT) > SOFLAGS = -shared > SOEXT = so > SYSLIBS = -lm -ldl > SYSXLIBS = -L/usr/openwin/lib -lX11 -lm -lgen -ldl -lsocket > XLIBS = $(ROOTSYS)/lib/libXpm.a -L/usr/openwin/lib -lX11 -lsunmath > CILIBS = -lm -ltermcap -ldl -L/usr/ccs/lib -lgen > > ##### MACROS and TARGETS ##### > > include Make-macros > > ##### DEPENDENCIES ##### > > include Make-depend > > # end of Makefile > > I am not sure whether the -fno-rtti and -fno-exceptions options are > completely neccessary... but they were used in the Linux-egcs makefile > which I used as a template. > > 7. The following files need changing in directory $ROOTSYS/src > UNIX_UnixSystem.cxx > ROOTX_rootx.cxx > > In file UNIX_UnixSystem.cxx go to line 398 > and change the lines > > #if defined(R__SOLARIS) && !defined(R__I386) && !defined(__SunOS_5_6) > sigact.sa_handler = (void (*)())SIG_IGN; > > To the following: > > #if defined(R__SOLARIS) && !defined(R__I386) && !defined(__SunOS_5_6) > sigact.sa_handler = (void (*)(int))SIG_IGN; > > Do the same for the lines around 1777 also. > Change: > > #if defined(R__SOLARIS) && !defined(R__I386) && !defined(__SunOS_5_6) > sigact.sa_handler = (void (*)())sighandler; > > To: > > #if defined(R__SOLARIS) && !defined(R__I386) && !defined(__SunOS_5_6) > sigact.sa_handler = (void (*)(int))sighandler; > > The process is similar for ROOTX_rootx.cxx... > > >From line 269: > Change: > > #if defined(__sun) && !defined(__i386) && !defined(__SunOS_5_6) > ignore.sa_handler = (void (*)())SIG_IGN; > > To: > > #if defined(__sun) && !defined(__i386) && !defined(__SunOS_5_6) > ignore.sa_handler = (void (*)(int))SIG_IGN; > > >From line 281: > > Change: > > #if defined(__sun) && !defined(__i386) && !defined(__SunOS_5_6) > handle.sa_handler = (void (*)())SigUsr1; > > To: > > #if defined(__sun) && !defined(__i386) && !defined(__SunOS_5_6) > handle.sa_handler = (void (*)(int))SigUsr1; > > 7.5 If you want the TTF stuff.... download this now and unpack it in the $ROOTSYS directory > > 8. Make sure you are in the $ROOTSYS/src directory and do > gmake clean > > 9. followed by > gmake > > 10. Go and have a cup of tea... > > Maybe it would be nicer to modify the source files UNIX_UnixSystem.cxx and > ROOTX_rootx.cxx to somehow pick up automatically the SunOS version? > One might assume that __SunOS_5_5 might be defined automatically somewhere > but this does not appear to be the case on the installation I am using > on the CMSWGS at CERN... I guess you could just put something in the > makefile? > > NB I have not yet tried to compile the utilities h2root g2root etc > > Cheers, > > Jon. > > ===================================================== > Jonathan Hays > > Studio 103 CERN - HC/EP > 36 Rue De L'Athenee E27900 > 1206 Geneve 1211 Geneve 23 > Suisse Suisse > +41 22 7671546 > =====================================================
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:41 MET