Solaris 2.5 + root + gcc 2.7

From: lijowski@cosray2.wustl.edu
Date: Fri Jan 08 1999 - 20:52:45 MET


  I attempted to recompile the ROOT 2.20/06 source on Solaris 2.5 using
  gcc 2.7.2.3 with no luck.

  Below is a Makefile, I have been using for this purpose.

# Makefile of ROOT for Solaris with gcc

PLATFORM      = solaris

CXX           = g++
CC            = gcc
CXXFLAGS      = -fPIC -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

The linking 

g++ -shared -g -o /data/cern/root/lib/libCint.so CINT_G__setup.o CINT_g__cfunc.o CINT_memtest.o CINT_sizeof.o CINT_auxu.o CINT_gcoll.o CINT_new.o CINT_stdstrct.o CINT_cast.o CINT_global1.o CINT_newlink.o CINT_struct.o CINT_debug.o CINT_global2.o CINT_newsos.o CINT_stub.o CINT_decl.o CINT_ifunc.o CINT_oldlink.o CINT_disp.o CINT_inherit.o CINT_opr.o CINT_tmplt.o CINT_init.o CINT_parse.o CINT_typedef.o CINT_dump.o CINT_input.o CINT_pause.o CINT_val2a.o CINT_end.o CINT_intrpt.o CINT_pcode.o CINT_value.o CINT_error.o CINT_loadfile.o CINT_pragma.o CINT_var.o CINT_expr.o CINT_quote.o CINT_fread.o CINT_macro.o CINT_scrupto.o CINT_func.o CINT_malloc.o CINT_shl.o CINT_Api.o CINT_Class.o CINT_Token.o CINT_Apiif.o CINT_DataMbr.o CINT_Type.o CINT_BaseCls.o CINT_Method.o CINT_Typedf.o CINT_CallFunc.o CINT_MethodAr.o CINT_libstrm.o

  produces a huge number of errors like this 

Text relocation remains			      referenced
    against symbol		    offset	in file
_IO_do_write                        0x58      	/usr/local/lib/libstdc++.a(fileops.o)
_IO_do_write                        0x4b4     	/usr/local/lib/libstdc++.a(stdiostream.o)
_IO_do_write                        0x68c     	/usr/local/lib/libstdc++.a(fileops.o)
_IO_do_write                        0x36c     	/usr/local/lib/libstdc++.a(stdiostream.o)
_IO_do_write                        0xc5c     	/usr/local/lib/libstdc++.a(fileops.o)
_IO_do_write                        0xe8      	/usr/local/lib/libstdc++.a(filebuf.o)
_IO_do_write                        0x5f8     	/usr/local/lib/libstdc++.a(fileops.o)
_IO_do_write                        0x100     	/usr/local/lib/libstdc++.a(fileops.o)
_IO_do_write                        0x64c     	/usr/local/lib/libstdc++.a(fileops.o)
_IO_do_write                        0x5d0     	/usr/local/lib/libstdc++.a(fileops.o)
_IO_file_fopen                      0x264     	/usr/local/lib/libstdc++.a(filebuf.o)
_IO_stdin_buf                       0x20      	/usr/local/lib/libstdc++.a(stdstreams.o)
_IO_stdin_buf                       0x24      	/usr/local/lib/libstdc++.a(stdstreams.o)
free                                0x95c     	/usr/local/lib/libstdc++.a(genops.o)
free                                0xef4     	/usr/local/lib/libstdc++.a(genops.o)
free                                0x568     	/usr/local/lib/libstdc++.a(genops.o)
free                                0x9a0     	/usr/local/lib/libstdc++.a(genops.o)
free                                0x1f8     	/usr/local/lib/libstdc++.a(genops.o)
free                                0x84      	/usr/local/lib/libstdc++.a(floatconv.o)
free                                0x2e4     	/usr/local/lib/libstdc++.a(genops.o)
_vt.11fstreambase.3ios              0x10b8    	/usr/local/lib/libstdc++.a(fstream.o)

At the end there are following messages from stderr

ld: fatal: relocations remain against allocatable but non-writable sections
chmod: /data/cern/root/lib/libCint.so: No such file or directory
ld: fatal: library -lCint: not found
ld: fatal: File processing errors.  No output written to /data/cern/root/bin/cint
gmake: *** [/data/cern/root/bin/cint] Error 1

  I appreciate any hints.

   Michal Lijowski



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