Hi Alexander,
this looks like a broken installation of your toolchain. Can you try to compile any C++ program with -m32 using your g++?
Cheers, Axel.
Alexander Mann wrote on 07/28/2010 02:15 PM:
>
> Hi Axel,
>
> I will send the full debug output to you in another mail in order not to
> spam the mailing list.
>
> You are right that indeed the -m32 option is used there. Maybe it's just
> the other way round, i.e. -m64 needs to be used here?
>
> .
> .
> .
> Info in <ACLiC>: cd "/net/ph2/auto/home/mann/Code/PyROOT/." ; g++ -c -O2
> -pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -pthread
> -I$ROOTSYS/include
> -I"/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root/include"
> -I"/net/ph2/auto/home/mann/Code/PyROOT/."
> -I"/net/ph2/auto/home/mann/Code/PyROOT"
> "/net/ph2/auto/home/mann/Code/PyROOT/./Loader_C_ACLiC_dict.cxx" ; g++
> "/net/ph2/auto/home/mann/Code/PyROOT/./Loader_C_ACLiC_dict.o" -shared
> -Wl,-soname,Loader_C.so -m32 -O2
> /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root/lib/libCint.so
> /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root/lib/libCore.so
> /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root/lib/libRint.so
> /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root/lib/libMathCore.so
> -o "/net/ph2/auto/home/mann/Code/PyROOT/./Loader_C.so"
> {standard input}: Assembler messages:
> .
> .
> .
>
> cu,
> Alexander
>
>
>
>
>
> Am 28.07.2010 13:19, schrieb Axel Naumann:
>> Hi Alexander, >> >> Looking at >> /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root/include/compiledata.h >> >> I see that -m32 is passed in all compiler invocations - I don't see how >> it could fail. Can you run >> >> root [0] gDebug=7 >> root [1] .L Loader.C+ >> >> and send the output? (I'll be a few pages...) >> >> Cheers, Axel. >> >> Alexander Mann wrote on 07/28/2010 01:05 PM: >>> >>> Hi Bertrand, >>> >>> good idea, but it did not help :( >>> >>> What I am doing is this: >>> >>> # setting up 32 bit ROOT 5.26.00b >>> source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/i686-slc5-gcc43-opt/setup.sh >>> export >>> ROOTSYS=/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root >>> >>> >>> export >>> PATH=/afs/cern.ch/sw/lcg/external/Python/2.5.4p2/i686-slc5-gcc43-opt/bin:$ROOTSYS/bin:$PATH >>> >>> >>> export >>> LD_LIBRARY_PATH=$ROOTSYS/lib:/afs/cern.ch/sw/lcg/external/Python/2.5.4p2/i686-slc5-gcc43-opt/lib:$LD_LIBRARY_PATH >>> >>> >>> export PYTHONPATH=$PYTHONPATH:$ROOTSYS/lib >>> >>> >>> In ROOT: >>> >>> .L Loader.C+ >>> >>> >>> This is the contents of the file Loader.C: >>> >>> #include<vector> >>> #ifdef __CINT__ >>> #pragma link C++ class vector<vector<float> >; >>> #pragma link C++ class vector<vector<int> >; >>> #pragma link C++ class pair<string,string>; >>> #else >>> template class std::vector<std::vector<float> >; >>> template class std::vector<std::vector<int> >; >>> #endif >>> >>> >>> Gives these error messages: >>> >>> root [0] .L Loader.C+ >>> Info in<TUnixSystem::ACLiC>: creating shared library >>> /net/ph2/auto/home/mann/Code/PyROOT/./Loader_C.so >>> {standard input}: Assembler messages: >>> {standard input}:11: Error: suffix or operands invalid for `push' >>> {standard input}:16: Error: relocated field and relocation type differ >>> in signedness >>> {standard input}:19: Error: suffix or operands invalid for `pop' >>> . >>> . >>> . >>> {standard input}:26058: Error: relocated field and relocation type >>> differ in signedness >>> {standard input}:26077: Error: relocated field and relocation type >>> differ in signedness >>> {standard input}:26096: Error: relocated field and relocation type >>> differ in signedness >>> g++: /net/ph2/auto/home/mann/Code/PyROOT/./Loader_C_ACLiC_dict.o: No >>> such file or directory >>> Error in<ACLiC>: Compilation failed! >>> >>> cu, >>> Alexander >>> >>> >>> >>> Am 28.07.2010 12:56, schrieb Bertrand Bellenot: >>>> Hi Alexander, >>>> >>>> Maybe you could try to setup the compiler: >>>> >>>> From bash: >>>> source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/i686/setup.sh >>>> >>>> From tcshell: >>>> source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/i686/setup.csh >>>> >>>> Cheers, Bertrand. >>>> >>>> -----Original Message----- >>>> From: owner-roottalk_at_root.cern.ch [mailto:owner-roottalk_at_root.cern.ch] >>>> On Behalf Of Alexander Mann >>>> Sent: Wednesday, July 28, 2010 12:47 >>>> To: roottalk_at_root.cern.ch >>>> Subject: [ROOT] .L xyz.C+ with 32bit ROOT version on 64bit machine >>>> >>>> >>>> Hi, >>>> >>>> I have a complicated problem. I need to use the 32 bit version of ROOT >>>> on a 64 bit machine. This seems to cause trouble when I try to compile >>>> macros in CINT with .L xyz.C+, I get lots of assembler errors, probably >>>> related to the 32/64 bit issue: >>>> >>>> {standard input}: Assembler messages: >>>> {standard input}:11: Error: suffix or operands invalid for `push' >>>> {standard input}:16: Error: relocated field and relocation type differ >>>> in signedness >>>> ... >>>> >>>> Is there a way to pass a switch to the assembler that fixes this? >>>> >>>> I am using this root: >>>> /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root/ >>>> >>>> bin/root >>>> >>>> on such a machine: >>>> Linux 2.6.18-194.8.1.el5 #1 SMP Thu Jul 1 19:04:48 EDT 2010 x86_64 >>>> x86_64 x86_64 GNU/Linux >>>> >>>> Any help is much appreciated! >>>> >>>> cu, >>>> Alexander >>>> >>> >>>
This archive was generated by hypermail 2.2.0 : Wed Jul 28 2010 - 17:50:01 CEST