Hi Rene, have you tried loading libtest.so before executing teststl.C? .L libtest.so .x teststl.C In fact I've used precompiled root 4.00.08 for SLC3. Alessandro Rene Brun wrote: >Hi Alessandro, > >I have no problems with your test on SLC3. Your test script gives: >root [0] .x teststl.C >2 >a[0]=12 >a[1]=1e-05 > >It is likely that you installed ROOT from source and did not run > make cintdlls >that creates the necessary precompiled headers/libs to deal with STL in CINT. > >Rene Brun > >Alessandro Thea wrote: > > >>Hi all, >>I've found a weird behaviour in root command line when I try to use >>std::vectors on a Scientific Linux machine. >>The problem appears when I create a std::vector<double> after having >>loaded a library in which a std::vector<double> is used. >>Needless to say, it works perfecly if I load no libraries. >> >>To reproduce this problem I made a script, teststl.C which creates, >>fills, and reads a std::vector<double>. >>Then I set up class, MyClass which contains just a vector<double>* and I >>created the shared library, libtest.so. >> >>This is what I get just running the script: >> ******************************************* >> * * >> * W E L C O M E to R O O T * >> * * >> * Version 4.00/08 10 July 2004 * >> * * >> * You are welcome to visit our Web site * >> * http://root.cern.ch * >> * * >> ******************************************* >> >>Compiled for linux with thread support. >> >>CINT/ROOT C/C++ Interpreter version 5.15.138, May 23 2004 >>Type ? for help. Commands must be C++ statements. >>Enclose multiple statements between { }. >>root [0] .x teststl.C >>2 >>a[0]=12 >>a[1]=1e-05 >>root [1] >> >>and this is what happens if I load libtest.so, even f i dont' use >>MyClass at all: >> >> ******************************************* >> * * >> * W E L C O M E to R O O T * >> * * >> * Version 4.00/08 10 July 2004 * >> * * >> * You are welcome to visit our Web site * >> * http://root.cern.ch * >> * * >> ******************************************* >> >>Compiled for linux with thread support. >> >>CINT/ROOT C/C++ Interpreter version 5.15.138, May 23 2004 >>Type ? for help. Commands must be C++ statements. >>Enclose multiple statements between { }. >>root [0] .L libtest.so >>root [1] .x teststl.C >>Error: Can't call vector<double,allocator<double> >::push_back(12.) in >>current scope FILE:teststl.C LINE:5 >>Possible candidates are... >>filename line:size busy function type and name (in >>vector<double,allocator<double> >) >>Error: Symbol a is not defined in current scope FILE:teststl.C LINE:5 >>Error: Failed to evaluate a.push_back(12.)Possible candidates are... >>filename line:size busy function type and name >>*** Interpreter error recovered *** >>root [2] >> >>I found that this error appears just on Scientific Linux v3, with gcc >>version 3.2.3 20030502 (Red Hat Linux 3.2.3-39). I've tried with both >>root 4.00.06 and root 4.00.08. >> >>On the contrary, it works perfectly on RedHat 9, gcc 3.2.2 and RedHat >>7.3 gcc 2.96. >>Do you have any idea? >> >>I have attached the code that reproduces the problem. >>Thanks and Regards, >>Alessandro >> >>-- >>__________________________________________________________________________ >> >> Alessandro Thea >> Ph.D. Student >> Dipartimento di Fisica dell'Universita' di Genova and >> Istituto Nazionale di Fisica Nucleare, Sezione di Genova, >> Via Dodecaneso 33, I-16146, Genova, Italia. >> >> Tel : +39 010 3536468 E-Mail: Alessandro.Thea@ge.infn.it >> Cell: +39 349 2724919 >>__________________________________________________________________________ >> >> -------------------------------------------------------------------------------- >> Name: libtest.tgz >> libtest.tgz Type: unspecified type (application/octet-stream) >> Encoding: base64 >> >> -- __________________________________________________________________________ Alessandro Thea Ph.D. Student Dipartimento di Fisica dell'Universita' di Genova and Istituto Nazionale di Fisica Nucleare, Sezione di Genova, Via Dodecaneso 33, I-16146, Genova, Italia. Tel: +39 010 3536468 E-Mail: Alessandro.Thea@ge.infn.it __________________________________________________________________________
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:10 MET