[ROOT] Re: Link problems 2.23.04 on OSF with CXX 6.2

From: Paul Nord (PNORD@exodus.valpo.edu)
Date: Thu Apr 06 2000 - 23:21:37 MEST


Rene,

You're not going to believe this...

The good news is that someone at our university is paying for Compaq support
and they let me use their authorization number to phone the experts.

Here's the story:
	When you install CXX version 6.2 it puts the new libraries in
/usr/lib/cmplrs/cxx.  It does NOT update the copy of libcxx.so in /usr/shlib.  
Adding "-L/usr/lib/cmplrs/cxx -lcxx" to the f90 link command makes it compile
much better.
	The official reason for this, according to the guy at Compaq: "It
doesn't update it because, basically, it doesn't have to."
	Tech support did not fully recomend overwriting the old version since
the new version may cause some other troubles on our slightly dated OS.  When
we install version 4.0F I'll clean that up.

Paul Nord



Rene Brun wrote:
>Hi Paul,
>It is now clear that there is a serious interference between C++ and f90
>on alpha. I think that Compaq should be contacted to get help.
>It is difficult to help from our side.
>
>Rene Brun

Paul Nord wrote:
> 
> Rene,
> 
> To follow up on this old discussion.  I'm now trying it with 2.23/12 and having
> the same problem.  I can get rid of the first of the error:
>         Unresolved:
>                 __vtbl_3std9type_info__3std
> by adding -nortti to ROOTCFLAGS.
> 
> If I add the option -oldcxx, then everything links, but then TPad->Divide()
> doesn't work.
> 
> So, my belief is that the CXX 6.2 compiler is adding references to the
> functions:
>  __vec_new_eh
>  __vec_delete
> when it compiles which cannot be resolved when trying to link with the f90
> linker.
> 
> So, how do I make it stop doing that?  Or, where are these functions in the
> system libraries so that I can include them?
> 
> Paul
> 
> >Hi Paul,
> >The CXX and CXX6.2 versions have been compiled with the same options
> >on two different machines. I did not check if the internal compiler
> >default
> >options were different however.
> >
> >I had several requests to provide a separate distribution for CXX6.2
> >(apparently there are differences in the way exception handling is
> >supported
> >in the two versions).
> >
> >I am a bit disapointed by the evolution of the cxx compiler on alpha.
> >I see more and more people moving to egcs on thsi platform.
> >
> >Rene
> 
> Paul Nord wrote:
> >
> > Hi Rene,
> >
> > Yes, isn't it interesting!  Our collaboration has made the big step toward
> > modern programming techniques with F90.
> >
> > I find no rrti option for F90, unfortunatly (nor rtti, for that matter).
> > However, I do note that I can compile just fine with the CXX6 release of ROOT
> > rather than the CXX6.2 release.  What, may I ask, is the difference?  And, will
> > you continue to support both compiler versions?  And if the CXX6 version will
> > compile with CXX6.2, why are there two version of ROOT?
> >
> > Of course, the simple solution will probably be to link with CXX.... but that
> > may be more of a political matter.
> >
> > Thanks for the prompt and accurate reply,
> > Paul
> >
> > Rene Brun wrote:
> > >Hi Paul,
> > >Interesting! You are the first user that I know calling Root from
> > >a F90 program.
> > >
> > >I assume that you are running on alpha/osf and use the cxx compiler.
> > >Root version 2.23 is compiled with the option -nostdnew
> > >The rrti option is activated by default on this compiler.
> > >
> > >I have no idea of the equivalent options with f90.
> > >
> > >Rene Brun
> >
> > Paul Nord wrote:
> > >
> > > Good Day,
> > >
> > > Got this link error.  Any ideas?
> > >
> > > f90 -o mofia20 -O -Olimit 1500 -extend_source
> > > -L/usr/users/pnord/e614soft/triumf/cfm/2.2/main
> > > -L/usr/users/pnord/e614soft/triumf/bru/1.1
> > > -L/usr/users/pnord/e614soft/triumf/ybos/4.1/library
> > > -L/usr/users/pnord/e614soft/triumf/mofia/2.0/lib
> > > -L/usr/users/pnord/e614soft/gplot -L/gluona/cernlib/98/lib
> > > -L/usr/users/e614/root/lib
> > > /usr/users/pnord/e614soft/triumf/mofia/2.0/source/main/mofia.o precision_mod.o
> > > det_geom_mod.o calibrations_mod.o chambers_mod.o tdcmap_mod.o tdc_mod.o
> > > filters_mod.o hists_mod.o user_hists_mod.o  dplot.o func.o hist.o -lmain
> > > -lphoto -L/usr/users/e614/root/lib -lNew -lCore -lCint -lHist -lGraf -lGraf3d
> > > -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lm
> > > -L/usr/users/e614/root/lib -lNew -lCore -lCint -lHist -lGraf -lGraf3d -lGpad
> > > -lTree -lRint -lPostscript -lMatrix -lPhysics -lGui -lm -lcxx -lX3d -lttf -lcfm
> > > -lybos -lbru -lgplot -lpacklib -lmathlib -lkernlib -ldummy
> > > ld:
> > > Unresolved:
> > > __vtbl_3std9type_info__3std
> > > __vec_new_eh
> > > __vec_delete
> > > f90: Severe: Failed while trying to link.
> > > gmake: *** [mofia] Error 1
> > >
> > > Paul Nord



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:23 MET