thanks Philippe and Axel,
by using a root version 32 bits, as you say, it fixes the problem (there is other problems on the computer that has the version 32 bits of root, but i will try to fix it)
by the way, on the root 64 bits (which is root 5.26/00b) when i did, as suggested by Philippe :
TString cmd = gSystem->GetMakeSharedLib();
cmd.ReplaceAll("-m64","-m32");
gSystem->SetMakeSharedLib(cmd);
i got a problem at the compilation with libCint, even with the "SetMakeSharedLib function" :
==>
/afs/in2p3.fr/system/amd64_sl5/usr/local/root/root_v5.26.00b-gcc3.4/root/lib/libCint.so:
could not read symbols: File in wrong format
example :
root [0] .x CreateDictionnary.C
(cout) before ReplaceAll : cmd=cd $BuildDir ; g++ -c $Opt -pipe
-m64 -Wall -W -Woverloaded-virtual -fPIC -pthread
$IncludePath $SourceFiles ; g++ $ObjectFiles -shared
-Wl,-soname,$LibName.so -m64 -O2 $LinkedLibs -o
$SharedLib
(cout)after ReplaceAll : cmd=cd $BuildDir ; g++ -c $Opt -pipe
-m32 -Wall -W -Woverloaded-virtual -fPIC -pthread
$IncludePath $SourceFiles ; g++ $ObjectFiles -shared
-Wl,-soname,$LibName.so -m32 -O2 $LinkedLibs -o
$SharedLib
Info in <TUnixSystem::ACLiC>: creating shared library
/afs/in2p3.fr/home/e/escalier/public/DiPhotons/4DMatrix/WithSelector/./ComputeCategories_2Steps_C.so
/afs/in2p3.fr/system/amd64_sl5/usr/local/root/root_v5.26.00b-gcc3.4/root/lib/libCint.so:
could not read symbols: File in wrong format
collect2: ld returned 1 exit status
Error in <ACLiC>: Compilation failed!
Error in <TSelector::GetSelector>: file
ComputeCategories_2Steps.C+ does not have a valid class
deriving from TSelector
thanks
> Hi Marc,
>
>
> TString cmd = gSystem->GetMakeSharedLib();
> cmd.ReplaceAll("-m64","-m32");
> gSystem->SetMakeSharedLib();
>
>
>
>> Hello, >> >> i use a program in compiled mode which needs to be in 32 bits. This >> programs need a shared object of a program, that is created "at hand" by >> doing : >> root >> ... >> //create a TChain >> ... >> return mychain_data->Process("myselector.C+"); >> >> ==>it creates myselector_C.so >> >> but when i compile the main project in 32 bits with -m32 (mandatory because >> of some packages only available in 32 bits) >> and use in the compilation the so-called myselector_C.so, i occur the >> following problem at link : >> >> bin/myselector_C.so: could not read symbols: File in wrong format >> >> from google, it would mean an imcompatibility of architecture (typically 32 >> bits versus 64 bits) >> >> would you have an idea ? >> >> thanks >> (unfortunately here, i don't have a minimal program to reproduce the >> problem, but i could try if necessary) >> >Received on Mon Aug 02 2010 - 21:31:04 CEST
This archive was generated by hypermail 2.2.0 : Mon Aug 02 2010 - 23:50:01 CEST