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

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Fri Apr 18 2003 - 22:48:27 MEST


Hello Daniel,

Thank you for the information.  It looks like the problem
occurs in the real ostream operation and  not in the G__ateval().
At this moment, I have no idea why this happens only after
adding 'long double'.   Only other suggestion I have is to
clean-up all root binaries, re-build everything and see what
will happen.  Maybe you have done this already (~_~)

Rene, could you help us on this issue for you have an access
to Alpha.

Masa Goto


----- Original Message -----
From: "Daniel Cussol" <cussol@in2p3.fr>
To: "Masaharu Goto" <MXJ02154@nifty.ne.jp>
Cc: <roottalk@cern.ch>; <cint@pcroot.cern.ch>
Sent: Friday, April 18, 2003 4:39 PM
Subject: [CINT] Re: [ROOT] Problems when upgrading ROOT with CVS
(continued...)


> Hi Masa,
>  Thank you for your help! Here is the result of the test:
>
>   *******************************************
>   *                                         *
>   *        W E L C O M E  to  R O O T       *
>   *                                         *
>   *   Version   3.05/03     17 April 2003   *
>   *                                         *
>   *  You are welcome to visit our Web site  *
>   *          http://root.cern.ch            *
>   *                                         *
>   *******************************************
>
> FreeType Engine v2.1.3 used to render TrueType fonts.
> Compiled for alphacxx6.
>
> CINT/ROOT C/C++ Interpreter version 5.15.83, Apr 6 2003
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
>
> root [0] .T
>
> Trace mode on 1
> root [1] cout << endl
> {cout << endl;
> # _iostream
> 3    operator<<(std::ostream& ostr,std::G__CINT_ENDL& i)
> 4       {return(std::endl(ostr));}
>
>  *** Break *** segmentation violation
> Root > Function operator<<() busy flag cleared
>
> root [2]  cout << hex << 42 << endl
> {cout << hex << 42 << endl;
> # _iostream
> 15   operator<<(std::ostream& ostr,std::G__CINT_HEX& i) {
> 16   #pragma ifndef G__TMPLTIOS
> 17     ostr.unsetf(ios::dec);
>  *** Break *** segmentation violation
> Root > Function operator<<() busy flag cleared
>
>
> root [3]
>
>
>
>
> I hope this will help you!
>
> Thank you again
>
> Daniel Cussol
>
> > 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
> > >
> > >
> > >
> >
> >
>
> 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