Hi Marc,
With a recent version of ROOT, the following should work:
TString cmd = gSystem->GetMakeSharedLib(); cmd.ReplaceAll("-m64","-m32"); gSystem->SetMakeSharedLib();
Cheers,
Philippe.
PS. Of course the simpliest and cleanest solution is to use a 32bits ROOT to do the compilation.
On 8/2/10 10:58 AM, Marc Escalier wrote:
> 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 - 18:20:38 CEST
This archive was generated by hypermail 2.2.0 : Wed Aug 04 2010 - 23:50:01 CEST