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