Hi, We use root with Solaris C++ 5.0 and it works fine. We do recompile but we use the makefile below. The only changes is to use -compat=4. This won't work on Solaris 2.7 in 64bit mode since CC 5.0 doesn't support -compat=4 on 2.7 with 64bit mode. 32 bit mode on 2.7 works fine. The differences are: isdcul7:~/tmp 177> diff ~/ROOT/src/Makefile.solaris ~/ROOT/src/Makefile.solaris~ 5,6c5,6 < CXX = CC < CC = cc --- > CXX = /opt/SUNWspro/bin/CC > CC = /opt/SUNWspro/bin/cc 9c9 < CXXFLAGS = -compat=4 -KPIC -I/usr/openwin/include -D__SunOS_5_6 --- > CXXFLAGS = -KPIC -I/usr/openwin/include -D__SunOS_5_6 11c11 < CINTCXXFLAGS = -compat=4 -KPIC -DG__REGEXP1 -DG__UNIX -DG__OSFDLL \ --- > CINTCXXFLAGS = -KPIC -DG__REGEXP1 -DG__UNIX -DG__OSFDLL \ 18c18 < LDFLAGS = $(OPT) -compat=4 --- > LDFLAGS = $(OPT) Exit 1 isdcul7:~/tmp 178> and the makefile is below: # Makefile of ROOT for Solaris with CC PLATFORM = solaris CXX = CC CC = cc # use this when on Solaris 5.4 #CXXFLAGS = -KPIC -I/usr/openwin/include CXXFLAGS = -compat=4 -KPIC -I/usr/openwin/include -D__SunOS_5_6 CFLAGS = -KPIC -I/usr/openwin/include CINTCXXFLAGS = -compat=4 -KPIC -DG__REGEXP1 -DG__UNIX -DG__OSFDLL \ -DG__SHAREDLIB -DG__ROOT -DG__REDIRECTIO CINTCFLAGS = -KPIC -DG__REGEXP1 -DG__UNIX -DG__OSFDLL \ -DG__SHAREDLIB -DG__ROOT -DG__REDIRECTIO OPT = -O NOOPT = LD = $(CXX) LDFLAGS = $(OPT) -compat=4 SOFLAGS = -G SOEXT = so SYSLIBS = -lm -ldl -lnsl -lsocket -lgen -L/usr/ucblib -lucb SYSXLIBS = -L/usr/openwin/lib -lX11 -lm -lgen -ldl -lsocket XLIBS = $(ROOTSYS)/lib/libXpm.a -L/usr/openwin/lib -lX11 CILIBS = -lm -ltermcap -ldl -L/usr/ccs/lib -lgen ##### MACROS and TARGETS ##### include Make-macros ##### DEPENDENCIES ##### include Make-depend Dave Morrison writes: > Hi all, > > Is anyone else is hoping to use ROOT with Solaris C++ 5.0? The available > Sun/Solaris version of ROOT was built for C++ 4.2, but it looks like it'll > involve more than a simple recompile to update things. One of the first things > that popped up manifested itself like this: > > "/opt/phenix/root/include/TString.h", line 48: Error: A typedef name cannot be > used in an elaborated type specifier.. > > which can be fixed by tweaking RConfig.h (thanks to Kyle Pope): > > --- RConfig.h.orig Thu Sep 2 08:30:24 1999 > +++ RConfig.h.new Thu Sep 2 08:31:15 1999 > @@ -59,6 +59,9 @@ > # define R__UNIX > # define NEED_STRING > # define NEED_SIGJMP > +# if __SUNPRO_CC > 0x420 > +# define R__ANSISTREAM > +# endif > #endif > > #ifdef __sgi > > Any other things like this folks are aware of? (I do imagine autoconf would be a > big help in these kinds of situations :)) > > Dave > > -- > David Morrison Brookhaven National Laboratory phone: 516-344-5840 > Physics Department, Bldg 510 C fax: 516-344-3253 > Upton, NY 11973-5000 email: dave@bnl.gov -- Reality is 80m polygons - Alvy Ray Smith Bruce O'Neel phone: +41 22 950 91 22 (direct) INTEGRAL Science Data Centre +41 22 950 91 00 (switchb.) Chemin d'Ecogia 16 fax: +41 22 950 91 33 CH-1290 VERSOIX e-mail: Bruce.Oneel@obs.unige.ch Switzerland WWW: http://isdc.unige.ch/
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:39 MET