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

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Fri Apr 18 2003 - 00:00:38 MEST


Hello Daniel,

First of all, thank you for reporting this.  I'd appreciate
if you send this message to cint@pcroot.cern.ch for my
convenience.

Now, we get into the issue.
I am not sure what is happening on Alpha platform.  With
'cint << endl', it could be that G__ateval() function has
some problem.   We can check it by turning on trace mode.

 root[0] .T
 root[1]  cout << endl

Will you try this and tell me what you see?

Thank you
Masa Goto




----- Original Message -----
From: "Daniel Cussol" <cussol@in2p3.fr>
To: <roottalk@cern.ch>
Sent: Friday, April 18, 2003 12:12 AM
Subject: [ROOT] Problems when upgrading ROOT with CVS (continued...)


> 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