Hi Rooters,
I have compiled a 32bit ROOT (5.34.09) on 64 bit linux (I need the 32 bit version because of some library dependencies for my project). If I now try to compile this simple script:
#include "TH1F.h"
void test() {
TH1F h;
h.Print();
}
I get the following error:
Info in TUnixSystem::ACLiC: creating shared library /home/danielr/./test_C.so
/superdata/data/motion/software/root-5.34.09-x86_32/lib/libCint.so: could not read symbols: File in wrong format
collect2: error: ld returned 1 exit status
Error in : Compilation failed!
I do not understand the problem here because: gSystem->GetMakeSharedLib()
gives me:
(const char* 0x9016878)“cd $BuildDir ; g++ -c $Opt -pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -pthread $IncludePath $SourceFiles ; g++ $ObjectFiles -shared -Wl,-soname,$LibName.so -L/superdata/data/motion/share/lib $LinkedLibs -o $SharedLib”
and
file libCint.so
gives me
/superdata/data/motion/software/root-5.34.09-x86_32/lib/libCint.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=0x58af56bd64706e6c6ed95d356c7b3e5bcccf8abb, not stripped
so everything should be 32 bit…does anybody have a clue? can I see the actual compiler and linker calls from ACLIC?
Thanks
Daniel