Hello Kyle,
That, indeed, was the problem. After working through a few more build
failures (I will send a complete list with solutions once I succeed in
building Overture and CG for the BG/P backend), I am getting the
following failure very near the end of the Overture build process:
make[1]: Entering directory
`/gpfs/home/jpbernst/Code/Overture/Overture.v24/lib'
ar ruv libOverture_static.a ../static/*.o ../boxlib/*.o
mpixlcxx_r -o libOverture.so -qmkshrobj ../DataBase/*.o
../GridFunction/*.o ../templates/*.o \
../Grid/*.o ../Mapping/*.o ../Oges/*.o
../GridGenerator/*.o ../Ogshow/*.o ../mapUtil/*.o \
../otherStuff/*.o
ar: creating libOverture_static.a
a - ../static/GLwDrawA.o
a - ../static/GLwMDrawA.o
a - ../static/initOvertureGlobalVariables.o
a - ../static/initStaticMappingVariables.o
a - ../static/memoryUsage.o
a - ../static/mogl.o
a - ../static/overlay.o
a - ../static/OvertureInit.o
a - ../static/RapsodiInit.o
a - ../static/ReferenceCounting.o
a - ../static/xColours.o
a - ../boxlib/AliasedDPtr.o
a - ../boxlib/ArithFab.o
a - ../boxlib/aString.o
a - ../boxlib/BArena.o
a - ../boxlib/BoxArray.o
a - ../boxlib/BoxAssoc.o
a - ../boxlib/BoxDomain.o
a - ../boxlib/BoxLib.o
a - ../boxlib/BoxList.o
a - ../boxlib/Box.o
a - ../boxlib/FabConv.o
a - ../boxlib/FArrayBox.o
a - ../boxlib/FPC.o
a - ../boxlib/IndexType.o
a - ../boxlib/IntVect.o
a - ../boxlib/MultiFab.o
a - ../boxlib/OrderedFab.o
a - ../boxlib/Orientation.o
a - ../boxlib/ParmParse.o
a - ../boxlib/Pointers.o
a - ../boxlib/Utility.o
ranlib libOverture_static.a
touch lib_date
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/crtbeginS.o:
In function `__do_global_dtors_aux':
crtstuff.c:(.text+0x4c): relocation truncated to fit: R_PPC_PLTREL24
against symbol `__cxa_finalize@@GLIBC_2.1.3' defined in .text
section in
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/powerpc-bgp-linux//lib/libc.so.6+8000
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/crtbeginS.o:(.fini+0x0):
relocation truncated to fit: R_PPC_LOCAL24PC against `.text'
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/crtendS.o:(.init+0x0):
relocation truncated to fit: R_PPC_LOCAL24PC against `.text'
../DataBase/DataBaseBuffer.o: In function `__init__0()':
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/../../../../include/c++/4.1.2/iostream:76:
relocation truncated to fit: R_PPC_PLTREL24 against undefined symbol
`aString::aString(char const*)'
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/../../../../include/c++/4.1.2/iostream:76:
relocation truncated to fit: R_PPC_PLTREL24 against symbol
`__cxa_atexit@@GLIBC_2.1.3' defined in .text section in
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/powerpc-bgp-linux//lib/libc.so.6
../DataBase/DataBaseBuffer.o: In function `__sinit65535()':
DataBaseBuffer.C:(.text+0x74): relocation truncated to fit:
R_PPC_LOCAL24PC against symbol `_GLOBAL_OFFSET_TABLE_' defined in .got
section in
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/../../../../powerpc-bgp-linux/lib/crti.o+fffffffc
../DataBase/DataBaseBuffer.o: In function `__sinit65535()':
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/../../../../include/c++/4.1.2/iostream:76:
relocation truncated to fit: R_PPC_PLTREL24 against symbol
`_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4' defined in .text section in
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/../../../../powerpc-bgp-linux/lib/libstdc++.so
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/../../../../include/c++/4.1.2/iostream:76:
relocation truncated to fit: R_PPC_PLTREL24 against symbol
`__cxa_atexit@@GLIBC_2.1.3' defined in .text section in
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/powerpc-bgp-linux//lib/libc.so.6
../DataBase/DataBaseBuffer.o: In function
`aString::__dftbdt(std::string*)':
/gpfs/home/jpbernst/Code/Overture/Overture.v24/DataBase/DataBaseBuffer.C:302:
relocation truncated to fit: R_PPC_LOCAL24PC against symbol
`_GLOBAL_OFFSET_TABLE_' defined in .got section in
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/../../../../powerpc-bgp-linux/lib/crti.o+fffffffc
/gpfs/home/jpbernst/Code/Overture/Overture.v24/DataBase/DataBaseBuffer.C:302:
relocation truncated to fit: R_PPC_PLTREL24 against symbol
`_ZNSsD2Ev@@GLIBCXX_3.4' defined in .text section in
/bgsys/drivers/V1R4M2_200_2010-100508P/ppc/gnu-linux/lib/gcc/powerpc-bgp-linux/4.1.2/../../../../powerpc-bgp-linux/lib/libstdc++.so
../DataBase/DataBaseBuffer.o: In function `aString::~aString()':
/gpfs/home/jpbernst/Code/Overture/Overture.v24/DataBase/DataBaseBuffer.C:302:
additional relocation overflows omitted from the output
make[1]: *** [libso_date] Error 1
make[1]: Leaving directory
`/gpfs/home/jpbernst/Code/Overture/Overture.v24/lib'
make: *** [all] Error 2
The static Overture library is present (does the size look
reasonable?),
but the shared one is not:
{login1}/home/jpbernst/Code/Overture/Overture.v24>ll lib/
total 3072
drwx------ 2 jpbernst users 131072 2012-05-03 23:10 ./
drwx------ 29 jpbernst users 131072 2012-05-03 22:37 ../
-rw------- 1 jpbernst users 0 2012-05-03 23:10 lib_date
-rw------- 1 jpbernst users 1680230 2012-05-03 23:10
libOverture_static.a
-rw------- 1 jpbernst users 18478 2012-05-03 22:37 Makefile
-rw------- 1 jpbernst users 11809 2011-05-18 15:21 Makefile.in
-rw------- 1 jpbernst users 10134 2011-05-18 15:21
.#Makefile.in.1.10
-rw------- 1 jpbernst users 10190 2011-05-18 15:21
.#Makefile.in.1.11
-rw------- 1 jpbernst users 10417 2011-05-18 15:21
.#Makefile.in.1.14
-rw------- 1 jpbernst users 10455 2011-05-18 15:21
.#Makefile.in.1.16
-rw------- 1 jpbernst users 11114 2011-05-18 15:21
.#Makefile.in.1.26
{login1}/home/jpbernst/Code/Overture/Overture.v24>
I suspect that the problem above is related to the shared library,
which
I actually do not need. Is there a built-in way to disable creation of
the shared library? I have not found a way and a purely static
build for
the BG/P is fine with me.
Best,
Joe
On 5/2/2012 6:06 PM, Kyle K. Chand wrote:
Hi Joe,
xlcxx does not seem to like to redefine macros without first undefing
them (?). Does your version of the compiler have the
-qlanglvl=redefmac option? You might need to enable this to allow
the
compiler to redefine macros w/o a prior undef.
Kyle
mailto: chand1@xxxxxxxx
phoneto: (925) 422 7740
On May 2, 2012, at 3:11 PM, J. P. Bernstein wrote:
Hello Bill,
I was able to get past the P++ problem by manually removing
hardwired
settings in P++/configure referencing:
/usr/casc/overture/local-i686-redhat-linux/opt/mpich
and hardwired "-lmpich" settings. P++ then built successfully.
With Mesa-7.2, the Overture build progressed for quite some time and
failed due to a macro definition collision between P++ and Mesa:
mpixlcxx_r -qarch=450d -qtune=450 -qmaxmem=16384
-I/home/jpbernst/Code/Overture/Overture.v24/include
-I/home/jpbernst/Code/Overture/A++P++-0.8.0/P++/install/include
-DUSE_MESA
-I/home/jpbernst/Code/Overture/A++P++-0.8.0/P++/install/include
-I/home/jpbernst/Code/Mesa-7.2/include -DBL_USE_DOUBLE -DBL_Solaris
-DUSE_PPP -g -DUSE_PPP -DNO_REAL
-I/soft/apps/hdf5-1.8.0/include -c
ShowFileReader.C
"/home/jpbernst/Code/Mesa-7.2/include/GL/../../src/mesa/main/glheader.h",
line 235.11: 1540-0848 (S) The macro name "INLINE" is already
defined
with a different definition.
"/home/jpbernst/Code/Overture/A++P++-0.8.0/P++/install/include/config.h",
line 66.9: 1540-0425 (I) "INLINE" is defined on line 66 of
"/home/jpbernst/Code/Overture/A++P++-0.8.0/P++/install/include/config.h".
make[1]: *** [osRender.o] Error 1
make[1]: *** Waiting for unfinished jobs....
"/home/jpbernst/Code/Overture/A++P++-0.8.0/P++/install/include/A++.h",
line
1405.21: 1540-1091 (W) The friend declaration "APP_view" specifies a
default argument expression and is not a definition.
. . .
"/home/jpbernst/Code/Overture/A++P++-0.8.0/P++/install/include/p_inline_func.h",
line 465.12: 1540-1103 (W) The address of a local variable or
temporary is used in a return expression.
make[1]: Leaving directory
`/gpfs/home/jpbernst/Code/Overture/Overture.v24/Ogshow'
make: *** [all] Error 2
2021.257u 171.469s 18:52.55 193.6% 0+0k 912+696624io 0pf+0w
Thoughts?
==joe
----- Original Message -----
From: "J. P. Bernstein" <astro@xxxxxxx>
To: overture@xxxxxxxxxxxxx
Sent: Wednesday, May 2, 2012 11:32:53 AM
Subject: [overture] Re: Building v24 on Blue Gene P
Thanks for the quick reply, Bill.
The use of Mesa-7.10.3 was motivated by it's precedent of successful
installation on BG/P. I will give 7.2 a try.
Best,
Joe
----- Original Message -----
From: "Bill Henshaw" <henshaw@xxxxxxxx>
To: overture@xxxxxxxxxxxxx
Sent: Wednesday, May 2, 2012 11:29:45 AM
Subject: [overture] Re: Building v24 on Blue Gene P
Hi Joe,
Your problem with Mesa is likely the newer version you are using. I
am using
Mesa-7.2. Your problem with P++ could very well be a known problem.
...Bill
On 05/02/2012 08:39 AM, J. P. Bernstein wrote:
Thanks, Bill.
Regarding the BG/P build, the P++ build with this configuration:
./configure --enable-PXX --with-CC=mpixlc_r
--with-CFLAGS="-qarch=450d -qtune=450" --with-CXX=mpixlcxx_r
--with-CXXFLAGS="-qarch=450d -qtune=450" --disable-mpirun-check
--with-mpi-libs="" --without-PADRE --prefix=`pwd`
(the new thing is the PADRE option you suggested) is failing with:
mpixlcxx_r -o test2000_01 test2000_01.o
-L/home/jpbernst/Code/Overture/A++P++-0.8.0/P++/install/lib
-L/usr/casc/overture/local-i686-redhat-linux/opt/mpich/lib -lmpich
-L../src -lPpp -lPpp_static -lPpp
-L/usr/casc/overture/local-i686-redhat-linux/opt/mpich/lib -lmpich
-lc -lm
/bgsys/drivers/ppcfloor/gnu-linux/powerpc-bgp-linux/bin/ld: cannot
find -lmpich
gmake[3]: *** [test2000_01] Error 1
gmake[3]: *** Waiting for unfinished jobs....
"../include/A++.h", line 1405.21: 1540-1091 (W) The friend
declaration "APP_view" specifies a default argument expression and
is not a definition.
. . .
gmake[3]: Leaving directory
`/gpfs/home/jpbernst/Code/Overture/A++P++-0.8.0/P++/TESTS'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory
`/gpfs/home/jpbernst/Code/Overture/A++P++-0.8.0/P++'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory
`/gpfs/home/jpbernst/Code/Overture/A++P++-0.8.0/P++'
make: *** [all-recursive] Error 1
Thus, it seems that the:
--disable-mpirun-check --with-mpi-libs=""
configure options are not having the expected result and that some
spurious mpi lib is getting set. P++ builds successfully without
the
PADRE option. Is this a known issue?
On another topic, in support of the BG/P build effort, I took your
advise on trying to build Overture in serial on a more traditional
Linux system. I was able to build A++ and Mesa without much
incident. However, the Overture build, with default configuration,
failed with:
g++ -fPIC -I/home/jpbernst/Code/GEM/Overture.v24/include -I.
-DUSE_MESA
-I/home/jpbernst/Code/GEM/A++P++-0.8.0/A++/install/include
-I/home/jpbernst/Code/GEM/Mesa-7.10.3/include -I/usr/X11R6/include
-DBL_USE_DOUBLE -DBL_Solaris
-I/usr/lib/perl5/5.8.8/x86_64-linux-thread-multi/CORE -g
-I/home/jpbernst/Code/GEM/Mesa-7.10.3/src/mesa/main
-I/home/jpbernst/Code/GEM/Mesa-7.10.3/src/mesa/glapi
-I/home/jpbernst/Code/GEM/Mesa-7.10.3/src/mesa -c osRender.C
In file included from
/home/jpbernst/Code/GEM/Mesa-7.10.3/include/GL/../../src/mesa/main/context.h:53,
from osRender.C:215:
/home/jpbernst/Code/GEM/Mesa-7.10.3/include/GL/../../src/mesa/main/mtypes.h:40:25:
error: glapi/glapi.h: No such file or directory
/home/jpbernst/Code/GEM/Mesa-7.10.3/include/GL/../../src/mesa/main/mtypes.h:1283:
error: ‘_glthread_Mutex’ does not name a type
. . .
osRender.C:230: error: ‘GLcontext’ does not name a type
osRender.C:231: error: ISO C++ forbids declaration of ‘GLvisual’
with no type
osRender.C:231: error: expected ‘;’ before ‘*’ token
osRender.C:232: error: ISO C++ forbids declaration of
‘GLframebuffer’ with no type
osRender.C:232: error: expected ‘;’ before ‘*’ token
osRender.C: In member function ‘int
GL_GraphicsInterface::offScreenRenderMesa(const char*,
GraphicsParameters&)’:
osRender.C:299: error: ‘GLcontext’ was not declared in this scope
osRender.C:299: error: ‘CC’ was not declared in this scope
osRender.C:299: error: expected primary-expression before ‘)’ token
osRender.C:299: error: expected `;' before
‘OSMesaGetCurrentContext’
osRender.C:313: error: ‘oldCC’ was not declared in this scope
osRender.C:313: error: expected primary-expression before ‘)’ token
osRender.C:313: error: ‘struct osmesa_context’ has no member named
‘gl_ctx’
osRender.C:314: error: ‘struct osmesa_context’ has no member named
‘gl_ctx’
osRender.C:314: error: expected primary-expression before ‘)’ token
osRender.C:314: error: expected `;' before ‘CC’
osRender.C:322: error: expected primary-expression before ‘)’ token
osRender.C:322: error: ‘struct osmesa_context’ has no member named
‘gl_ctx’
osRender.C:359: error: ‘struct osmesa_context’ has no member named
‘gl_ctx’
osRender.C:359: error: expected primary-expression before ‘)’ token
osRender.C:359: error: expected `)' before ‘oldCC’
make[1]: *** [osRender.o] Error 1
make[1]: Leaving directory
`/gpfs/home/jpbernst/Code/GEM/Overture.v24/Ogshow'
make: *** [all] Error 2
682.610u 53.347s 12:24.76 98.8% 0+0k 0+550952io 0pf+0w
This is odd since the Mesa build was error-free and mapi/glapi was
included in the Mesa source dirs config. I revisited the Overture
instructions for building Mesa and found that there were no
instructions as to explicitly setting the Mesa source dirs. Thus, I
tried several Mesa rebuilds either without source dirs specified or
with a subsets of them specified followed by an Overture rebuild
for
each. None of the attempts resolved the failure above or
resulted in
a different failure. Are you able to shed any light on this one?
Best,
Joe