ROOT and DIGITAL C++ V6.0-010 on DIGITAL UNIX V4.0 (Rev. 878)

Frederic Ronga (Frederic.Ronga@iphe.unil.ch)
Fri, 19 Mar 1999 18:06:32 +0100


Dear ROOTers,
I still have problems running ROOT on alpha with the cxx V6.0
compiler and really would like to solve them.

Here's the status:

-- I finally succeeded in compiling my own program (using ROOT)
by setting the right flags for cxx and the loader. Here's how
iit compiles now:
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c
MObject.cxx -o MObject.o
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c
MClusterMaker.cxx -o MClusterMaker.o
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c
MCluster.cxx -o MCluster.o
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c MRun.cxx
-o MRun.o
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c MEvent.cxx
-o MEvent.o
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c
MPedMaker.cxx -o MPedMaker.o
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c
MCMSMaker.cxx -o MCMSMaker.o
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c
MCMSInfo.cxx -o MCMSInfo.o
echo "Generating dictionary..."
(cd /users/fronga/include; /cern/OSF1/root/bin/rootcint -f MicDict.cxx \
-c TTree.h TFile.h MObject.h MClusterMaker.h MCluster.h MRun.h MEvent.h MPedMaker.h
MCMSMaker.h MCMSInfo.h LinkDef.h)
mv -f /users/fronga/include/MicDict.cxx ./
echo "Done..."
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c
MicDict.cxx -o MicDict.o
echo "Linking /users/fronga/lib/libMic.so..."
rm -ef /users/fronga/lib/libMic.so
ld -L/usr/lib/cmplrs/cxx -rpath /usr/lib/cmplrs/cxx \
-expect_unresolved "*" -g0 -O1 \
-shared /usr/lib/cmplrs/cc/crt0.o /usr/lib/cmplrs/cxx/_main.o \
-o /users/fronga/lib/libMic.so MObject.o MClusterMaker.o MCluster.o MRun.o
MEvent.o MPedMaker.o MCMSMaker.o MCMSInfo.o MicDict.o\
-lcxxstd -lcxx -lexc -lots -lc
echo "/users/fronga/lib/libMic.so done..."
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c Main.cxx
-o Main.o
cxx -O -nostdnew -D__osf__ -D__alpha -I/cern/OSF1/root/include -I/users/fronga/include -c
KmaxReader.cxx -o KmaxReader.o
cxx Main.o KmaxReader.o /users/fronga/lib/libMic.so -L/cern/OSF1/root/lib -lNew -lBase -lCint -lClib
-lCont -lFunc -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet -lPostscript -lProof
-lRint -lTree -lUnix -lZip -lGpad -lGui -lGX11 -lX3d -lXpm -lX11 -lm -lPW -o nike

-- When I then (dummy) run my program, I get the following awful message
(I only would like to see the very first line...):

Usage: nike period# run#
Fatal in <operator delete>: storage area overwritten
aborting
Abort (core dumped)
Exit 134

-- Deeply disappointed, I went on Linux platforms,
with good results. The programs compiles and runs correctly, with the
same version of ROOT, but for Linux egcs. So the problem doesn't seem to be
in my program (which of course was the most probable before I tested it
on Linux).

-- But the Linux machines have about 40 ROOTMARKS, whereas our alpha server
gets about 150 (466 MHz bi-processor alpha server with 2G RAM) and I really
need to go faster. That's why I returned to my old problems:

-- I just downloaded the latest greatest production
version of ROOT (2.21/08) for alpha cxx V6.0 .
After setting the ROOTSYS and LD_LIBRARY_PATH
environment variables, I went in the test directory
and ran `gmake'. Here's what I got:

cxx -O -nostdnew -D__osf__ -D__alpha -I/users/fronga/root/include -c Event.cxx
cxx -O -nostdnew -D__osf__ -D__alpha -I/users/fronga/root/include -c EventDict.cxx
cxx -O -nostdnew -D__osf__ -D__alpha -I/users/fronga/root/include -c MainEvent.cxx
ld -L/usr/lib/cmplrs/cxx -rpath /usr/lib/cmplrs/cxx -expect_unresolved "*" \
-g0 -O1 -shared /usr/lib/cmplrs/cc/crt0.o /usr/lib/cmplrs/cxx/_main.o \
-o libEvent.so Event.o EventDict.o -lcxxstd -lcxx -lexc -lots -lc
cxx -g MainEvent.o Event.o EventDict.o -L/users/fronga/root/lib -lNew -lBase -lCint -lClib -lCont
-lFunc -lGraf -lGraf3d -lHist
-lHtml -lMatrix -lMeta -lMinuit -lNet -lPhysics -lPostscript -lProof -lTree -lUnix -lZip -lm -o
Event
ld:
/usr/lib/libcxxstd.a(typeinfo.o): __T_Q13std9type_info: multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::type_info::~type_info(void): multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): __T_Q13std8bad_cast: multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_cast::~bad_cast(void): multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): __T_Q13std10bad_typeid: multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_typeid::~bad_typeid(void): multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_cast::what(void) const : multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_typeid::what(void) const : multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::type_info::operator ==(const std::type_info&) const :
multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::type_info::operator !=(const std::type_info&) const :
multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::type_info::before(const std::type_info&) const : multiply
defined
/usr/lib/libcxxstd.a(typeinfo.o): std::type_info::name(void) const : multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_cast::bad_cast(void): multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_cast::bad_cast(const std::bad_cast&): multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_cast::operator =(const std::bad_cast&): multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_typeid::bad_typeid(void): multiply defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_typeid::bad_typeid(const std::bad_typeid&): multiply
defined
/usr/lib/libcxxstd.a(typeinfo.o): std::bad_typeid::operator =(const std::bad_typeid&): multiply
defined
gmake: *** [Event] Error 1
Exit 2

I already had this kind of messages with my program, but
I thought I knew how to solve them. Anyway, there is obviously
a problem with ROOT running on our alpha server.

Sooo! If anyone has any idea of what is going wrong, please, let
me know! My gratitude would be eternal.

Frederic Ronga

-- 
o---------------------- Frederic RONGA ----------------------o
|          INSTITUT DE PHYSIQUE DES HAUTES ENERGIES          |
|Universite de Lausanne  -  CH-1015 Lausanne  -   SWITZERLAND|
|Bureau : BSP 620                      Tel. ++41 21 692 37 39|
|Frederic.Ronga@iphe.unil.ch  http://www-iphe.unil.ch/~fronga|
o------------------------------------------------------------o