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