Re: Compiling gccxml

From: Brett Viren <bv_at_bnl.gov>
Date: Thu, 24 May 2007 10:24:58 -0400


Stefan Roiser <stefan.roiser_at_cern.ch> writes:

> Hi Brett,

Greetings Stefan. I was told I might contact you for guidance on this. Thanks for the response.

> As a first attempt I would ask you to try out if maybe the slc4
> version would run for you. gccxml is used as an executable in the
> dictionary building process and as such simply called on the system
> level (no include, linking is involved).

Yes, I tried this first. I tried the slc4_ia32_gcc34 version from LCGCMT. During the building of GaudiPython using this version there is a complaint from genreflex about missing C builtin functions:



/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_x86_gcc4/root/bin/genreflex /home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/GaudiPython/dict/kernel.h -o ../debian_x86_gcc4/dict/GaudiPython/kernel_dict.cpp --no_templatetypedefs -I/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/Python/2.4.2/debian_x86_gcc4/include/python2.4 --select=../dict/selection_kernel.xml --rootmap=/home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/InstallArea/debian_x86_gcc4/lib --rootmap-lib=libGaudiPythonDict.so --gccxmlpath=/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/gccxml/0.6.0_patch3/debian_x86_gcc4/bin -D_GNU_SOURCE -I"/home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/GaudiPython" -I"/home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/InstallArea/include" -I"/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_x86_gcc4/root/include" -I"/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_
x86_gcc4/root/include" -I"/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/Boost/1.33.1/debian_x86_gcc4/include/boost-1_33_1" -I"/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/AIDA/3.2.1/share/src/cpp"
In file included from /home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_x86_gcc4/root/include/Math/GenVector/Cartesian3D.h:26,
                 from /home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_x86_gcc4/root/include/Math/Point3D.h:11,
                 from /home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/InstallArea/include/GaudiKernel/Point3DTypes.h:19,
                 from /home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/GaudiPython/GaudiPython/TupleDecorator.h:36,
                 from /home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/GaudiPython/dict/kernel.h:48:
/usr/include/c++/4.0.3/cmath: In function `float std::acos(float)': /usr/include/c++/4.0.3/cmath:103: error: `__builtin_acosf' undeclared (first

   use this function)
/usr/include/c++/4.0.3/cmath:103: error: (Each undeclared identifier is

   reported only once for each function it appears in.) /usr/include/c++/4.0.3/cmath: In function `long double std::acos(long double)': /usr/include/c++/4.0.3/cmath:107: error: `__builtin_acosl' undeclared (first

   use this function)
/usr/include/c++/4.0.3/cmath: In function `float std::asin(float)': ...
(many more)
...


> If the execution, just
> calling the "gccxml" executable, works fine on your distribution
> there should not be any problems with it.

> You may get the binaries
> either from afs
>
> /afs/cern.ch/sw/lcg/external/gccxml/0.6.0_patch3/
>
> or 
>
> http://service-spi.web.cern.ch/service-spi/external/distribution/
>
> Otherwise you have already gone the right way with applying patch2
> before the build and patch1/3 after the build. For the LCG s/w we
> have used cmake 1.8.3 maybe try this version for the build. For Mac
> OSX we have built the binary with gcc 4.0.1 so it should be
> possible.

Ah, I thought the cmake version might be an issue. I will try 1.8.3.

> Apologies for the inconveniences, building the patch version of
> gccxml is not always trivial. We are currently moving back to
> version which is available from the CVS gccxml repository, which
> should be available soon.

I tried using Debian's gccxml 0.7.0+cvs20070318-1. Genreflex warns about the version mismatch and then fails:



/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_x86_gcc4/root/bin/genreflex /home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/GaudiPython/dict/kernel.h -o ../debian_x86_gcc4/dict/GaudiPython/kernel_dict.cpp --no_templatetypedefs -I/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/Python/2.4.2/debian_x86_gcc4/include/python2.4 --select=../dict/selection_kernel.xml --rootmap=/home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/InstallArea/debian_x86_gcc4/lib --rootmap-lib=libGaudiPythonDict.so --gccxmlpath=/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/gccxml/0.6.0_patch3/debian_x86_gcc4/bin -D_GNU_SOURCE -I"/home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/GaudiPython" -I"/home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/InstallArea/include" -I"/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_x86_gcc4/root/include" -I"/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_ x86_gcc4/root/include" -I"/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/Boost/1.33.1/debian_x86_gcc4/include/boost-1_33_1" -I"/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/AIDA/3.2.1/share/src/cpp"
--->> genreflex: INFO: Parsing file /home.local/bviren/work/dayabay/gaudi-from-source/GAUDI/GaudiPython/dict/kernel.h with GCC_XML OK
--->> genreflex: WARNING: gccxml versions differ. Used version: 0.7.0. Recommended version: 0.6.0_patch3.
--->> genreflex: WARNING: gccxml binary used: /home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/gccxml/0.6.0_patch3/debian_x86_gcc4/bin/gccxml
--->> genreflex: INFO: Generating Reflex Dictionary
Traceback (most recent call last):
  File "/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_x86_gcc4/root/bin/../lib/python/genreflex/genreflex.py", line 338, in ?     l.process_files()
  File "/home/bviren/work/dayabay/gaudi-from-source/sw/lcg/external/root/5.14.00e/debian_x86_gcc4/root/bin/../lib/python/genreflex/genreflex.py", line 293, in process_files dg.parse(xmlfile)   File "/home.local/bviren/work/dayabay/gaudi-from-source/external/root/5.14.00e/debian_x86_gcc4/root/lib/python/genreflex/gendict.py", line 140, in parse     if self.genTypeName(n['id']) == self.selectionname :   File "/home.local/bviren/work/dayabay/gaudi-from-source/external/root/5.14.00e/debian_x86_gcc4/root/lib/python/genreflex/gendict.py", line 841, in genTypeName     if attrs['name'] != '::' : s += attrs['name'] KeyError: 'name'
make[3]: *** [../debian_x86_gcc4/dict/GaudiPython/kernel_dict.cpp] Error 1

-Brett. Received on Thu May 24 2007 - 16:25:23 CEST

This archive was generated by hypermail 2.2.0 : Thu May 24 2007 - 17:50:01 CEST