Re: [ROOT] Problems when upgrading ROOT with CVS (continued...)

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Apr 17 2003 - 17:29:19 MEST


Hi Daniel,

I have experienced the same problem today on alphas.
I am forwarding the problem to Masa.

Rene Brun

Daniel Cussol wrote:
> 
> Hello everybody,
>  I have sent the follwing message yesterday or two days ago:
> 
> Daniel Cussol wrote:
> >
> > Hello everybody,
> >  I manage to solve my problem (upgrading ROOT from CVS on an alpha TRU64
> > machine, alphacxx6 config) by adding the "-long_double_size 64" flag for
> > the cxx compiler in the Makefile.config file:
> >
> > EXTRA_CXXFLAGS := -Iinclude -long_double_size 64
> >
> > It seems to work fine now.
> > Thanks for your help!
> >
> 
> In fact, the problem has been moved elsewhere! All is ok providing
> iostream manipulators are not used! If in CINT I type the following
> command:
> 
> cout << endl;
> 
> I obtain the following error message:
> 
>  *** Break *** segmentation violation
> Root > Function operator<<() busy flag cleared
> 
> If now I type this:
> 
> cout << "\n";cout.flush();
> 
> all is ok! After some tests and investigations in source and include
> files, it seems that the problem has appeared after the new "long double"
> implementation in CINT (root/cint/inc/longif.h and
> root/cint/src/longif.cxx files). To avoid the compilation problem, with
> the EXTRA_CXXFLAGS set to  -Iinclude only (without the
> -long_double_size 64 option), I had to add the following lines in the
> root/cint/inc/longif.h file:
> 
> ......
> 
> /**************************************************************************
> * HP-UX
> **************************************************************************/
> #elif defined(__hpux) || defined(G__HPUX)
> 
> typedef double G__double92;
> 
> /**************************************************************************
> * D.Cussol : Alpha TRU64                        <---- Added line!
> **************************************************************************/
> #elif defined(__alpha) || defined(R__ALPHA)     <---- Added line!
>                                                 <---- Added line!
> typedef double G__double92;                     <---- Added line!
> 
> /**************************************************************************
> * OTHER
> **************************************************************************/
> #else
> 
> typedef long double G__double92;
> 
> .........
> 
> But I still have the run time error when typing "cout << endl" in CINT
> command line. I have unfortunately not enough time and mainly not enough
> knowledge on ALPHA TRU64 system to solve this problem. Could somebody
> help me (and hence all ALPHA TRU64 users)? I stress that this problem
> appears only after upgrading ROOT V3.05.03 with CVS. On the "original"
> V3.05.03 alphacxx6 version, all works correctly. I have checked that the
> longif.h/cxx files where actually changed in CVS compared to the
> "original" V3.05.03 version. I hope that this will be enough to help ALPHA
> TRU64 experts to fix this problem.
>  Thanks for your help!
> 
>  Daniel CUSSOL
> 
>  LPC Caen
>  Boulevard du Marechal Juin
>  14050 CAEN CEDEX
> 
>  e-mail : cussol@in2p3.fr
>  Tel    : +33-(0)2-31-45-29-73
>  FAX    : +33-(0)2-31-45-25-49



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET