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