Re: Compilation with gcc under Solaris 2.5 cont ...

Fons Rademakers (Fons.Rademakers@cern.ch)
Wed, 06 May 1998 20:09:52 +0200


Hi Michal,

dlfcn.c is only for IBm AIX, vcstrm.cxx only for MS VC++ Win95/NT, bcstrm.cxx
only for Borland on NT, and fakestrm.cxx only for machines for which libstrm.cxx
does not work. So only compile and use CINT_libstrm.cxx on Solaris. Once we
have the makefiles this will be taken care of.

Cheers, Fons.

lijowski@cosray2.wustl.edu wrote:
>
> Hello,
>
> I still have problems with compilation of some CINT files
> with GNU C/C++ compiler. Below are the messages which I got.
>
> CINT_dlfcn.c:26: sys/ldr.h: No such file or directory
> CINT_dlfcn.c:27: a.out.h: No such file or directory
> CINT_dlfcn.c:28: ldfcn.h: No such file or directory
>
> CINT_vcstrm.cxx: In function `int G__ifstream_setbuf_5_0(struct G__value *, char *, struct G__param *, int)':
> CINT_vcstrm.cxx:997: aggregate value used where an integer was expected
> CINT_vcstrm.cxx: In function `int G__ifstream_fd_8_0(struct G__value *, char *, struct G__param *, int)':
> CINT_vcstrm.cxx:1013: no member function `ifstream::fd()' defined
> CINT_vcstrm.cxx: In function `int G__ofstream_setbuf_5_0(struct G__value *, char *, struct G__param *, int)':
> CINT_vcstrm.cxx:1124: aggregate value used where an integer was expected
> CINT_vcstrm.cxx: In function `int G__ofstream_fd_8_0(struct G__value *, char *, struct G__param *, int)':
> CINT_vcstrm.cxx:1140: no member function `ofstream::fd()' defined
> CINT_vcstrm.cxx: In function `int G__fstream_setbuf_5_0(struct G__value *, char *, struct G__param *, int)':
> CINT_vcstrm.cxx:1248: aggregate value used where an integer was expected
> CINT_vcstrm.cxx: In function `int G__fstream_fd_8_0(struct G__value *, char *, struct G__param *, int)':
> CINT_vcstrm.cxx:1264: no member function `fstream::fd()' defined
> CINT_vcstrm.cxx: In function `int G__istrstream_str_4_0(struct G__value *, char *, struct G__param *, int)':
> CINT_vcstrm.cxx:1425: no member function `istrstream::str()' defined
>
> When I ifdef out the offending calls in CINT_vcstrm.cxx with
>
> #if defined(R__SOLARIS) && defined(R__GNU)
>
> and did not compile CINT_dlfcn.c the compilation went through
> but the linker complained about multiply defined symbols
> in files CINT_bcstrm.o, CINT_fakestrm.o, CINT_libstrm.o,
> and CINT_vcstrm.o.
>
> I attempted not to include CINT_bcstrm.o, CINT_fakestrm.o, and
> CINT_vcstrm.o in libCint.so but when I tried to compile/link
> programs in root/test directory I got messages about undefined
> symbols. Below is a partial list of those messages.
>
> /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2.3/cc1plus /var/tmp/cca001bu.ii -quiet -dumpbase MainEvent.cc -O -version -fPIC -o /var/tmp/cca001bu.s
> GNU C++ version 2.7.2.3 (sparc) compiled by GNU C version 2.7.2.3.
> /usr/ccs/bin/as -V -Qy -s -K PIC -o MainEvent.o /var/tmp/cca001bu.s
> /usr/ccs/bin/as: SC4.0 dev 15 Feb 1995
> Undefined first referenced
> symbol in file
> _vt.13strstreambase.3ios /data/cern/root/src/libCint.so
> cout MainEvent.o
> _vt.7istream.3ios /data/cern/root/src/libBase.so
> write__7ostreamPCci /data/cern/root/src/libBase.so
> init_dynamic__12strstreambufPFUi_PvPFPv_vi /data/cern/root/src/libCint.so
> get__7istreamPcic /data/cern/root/src/libBase.so
> __9streambufi /data/cern/root/src/libCint.so
> __7ostreamiP9streambufP7ostream /data/cern/root/src/libCint.so
> clog /data/cern/root/src/libCint.so
> __uflow /data/cern/root/src/libBase.so
> __13strstreambaseiPcii /data/cern/root/src/libBase.so
> _vt.8ofstream.3ios /data/cern/root/src/libCint.so
> __ls__7ostreamP9streambuf /data/cern/root/src/libCint.so
> pword__3iosi /data/cern/root/src/libCint.so
> _IO_sgetn /data/cern/root/src/libCint.so
> __rs__7istreamPc /data/cern/root/src/libCint.so
> get__7istreamR9streambufc /data/cern/root/src/libCint.so
> ignore__7istreamii /data/cern/root/src/libCint.so
> __rs__7istreamRs /data/cern/root/src/libCint.so
> endl__FR7ostream MainEvent.o
> _vt.7ostream.3ios /data/cern/root/src/libBase.so
> __rs__7istreamRc /data/cern/root/src/libCint.so
> __rs__7istreamRd /data/cern/root/src/libCint.so
> __rs__7istreamRf /data/cern/root/src/libCint.so
> __rs__7istreamRi /data/cern/root/src/libCint.so
> __rs__7istreamRl /data/cern/root/src/libCint.so
> __rs__7istreamRUi /data/cern/root/src/libCint.so
> __rs__7istreamRUl /data/cern/root/src/libCint.so
> open__11fstreambasePCcii /data/cern/root/src/libCint.so
> __7filebufi /data/cern/root/src/libCint.so
> _skip_ws__7istream /data/cern/root/src/libCint.so
> __10istrstreamiPCci /data/cern/root/src/libBase.so
> cerr /data/cern/root/src/libBase.so
>
> Thank you for any help.
>
> Regards,
>
> Michal Lijowski
>
> ----------------------------------------------------------------------------
>
> Michal Lijowski Washington University
> Research Associate St. Louis, MO 63130-4899, USA
> Department of Physics phone: 314-935-6285
> Campus Box 1105 email: lijowski@cosray2.wustl.edu
>
>
> ----- End Included Message -----

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland          Phone: +41 22 7679248
E-Mail: Fons.Rademakers@cern.ch              Fax:   +41 22 7677910