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