[overture] Re: Building v24 on Blue Gene P

  • From: "J. P. Bernstein" <astro@xxxxxxx>
  • To: overture@xxxxxxxxxxxxx
  • Date: Wed, 9 May 2012 18:07:00 -0500 (CDT)

Hello All,

Now a funny failure has cropped up. Upon restarting the build in order to 
verify steps taken so far, I got this failure:

mpixlc_r -w -qarch=450d -qtune=450 -qmaxmem=-1 -qpic  
-I/home/jpbernst/Code/Overture/Overture.v24-pmake/include 
-I/home/jpbernst/Code/Overture/A++P++-0.8.0/P++/install/include   -g -DSHM 
-DUSE_PPP -I. -I/include -I/home/jpbernst/Code/Mesa-7.2/include -c overlay.c
"overlay.c", line 9.10: 1506-296 (S) #include file <X11/Xlib.h> not found.
"overlay.c", line 10.10: 1506-296 (S) #include file <X11/Xutil.h> not found.
"overlay.c", line 11.10: 1506-296 (S) #include file <X11/Xmd.h> not found.

I verified that it is now happening after creating a fresh Overture build 
directory from the tarball and trying a build with the following configuration 
command:

./configure bg noX11 parallel

with only the following minimal modifications to the Overture source in order 
to enable a build on BG/P:

1) Removed "-fPIC -Wno-deprecated" from PFLAGS in GridFunction/Makefile.in 
(line 115).

2) Enclosed MPI info lookup code within  "if( $machine ne "bg" ) {}".

3) Adding to configure:

if( $machine eq "bg" && $double ne "" )
{
  $FortranDouble = "-qautodbl=dbl4";
}

I am at a loss as to why this started. Should this not be taken care of by the 
noX11 configure option? I was not getting this build error before. My MakeDefs 
file content is appended below.

Best,

Joe

# IBM CNK with dynamic libraries 

# these next values for compilers will be used unless overridden with an 
argument to configure
cc = mpixlc_r
CC = mpixlcxx_r
FC = mpixlf77_r

# On some 64-bit machines some libraries are in lib64 instead of lib
# this next line will be changed by the configure script
LIB64 = lib 

# Here is the rpath command
OV_RPATH = -Wl,-rpath,

# these next lines will be changed by the configure script
USE_DOUBLE_OR_SINLE = -DOV_USE_FLOAT

A++ = $(APlusPlus)
A+++ = $(APlusPlus)
AppLibraries = $(OV_RPATH)$(APlusPlus)/lib -L$(APlusPlus)/lib -lApp 
-lApp_static 

Include=  -I$(Overture)/include -I$(PPlusPlus)/include 
Lib=      $(Overture)/lib
LibOverture= -lOverture -lOverture_static

LibRapsodi= -lRapsodi -lRapsodi_static 
BOXLIB_DEFS = -DBL_USE_FLOAT -DBL_Solaris

# these next flags are compiler dependent
# *** WARNING *** these next lines are changed by the configure script
cc_FLAGS = -w -qarch=450d -qtune=450 -qmaxmem=-1 -qpic
CC_FLAGS = -w -qarch=450d -qtune=450 -qmaxmem=-1 -qpic -qlanglvl=redefmac
FF_FLAGS = -w -qarch=450d -qtune=450 -qmaxmem=-1 -qpic

# these next values will may be changed by the configure script
C_OPTIMIZATION_FLAG = -O
CPP_OPTIMIZATION_FLAG = -O
FORTRAN_OPTIMIZATION_FLAG = -g

# Use this next flag to optimize files that Bill likes to by default compile 
optimized
STD_OPT_FLAG = -O 

CFLAGS =  $(cc_FLAGS)  $(Include) $(OverturePrecision) $(C_OPTIMIZATION_FLAG) 
-DSHM
# flags for c routines we always optimize (except if debug is on)
CFLAGSO =  $(STD_OPT_FLAG) $(cc_FLAGS)  $(Include) $(OverturePrecision) -DSHM

# do not include some paths, such as STL in the places searched by makedepend 
(takes too long)
CC_INCLUDES_FOR_DEPEND =  $(Include) $(OverturePrecision) -DUSE_MESA 
-I$(APlusPlus)/include -I$(OpenGL)/include $(BOXLIB_DEFS)

STL_INCLUDE = 
CC_INCLUDES = $(CC_FLAGS) $(CC_INCLUDES_FOR_DEPEND) $(STL_INCLUDE)
#CC_FLAGS = -fPIC 

CCFLAGS= $(CC_INCLUDES) $(CPP_OPTIMIZATION_FLAG)

# things that are always compiled with optimization use this flag (except if 
debug is on)
CCFLAGSO= $(CC_INCLUDES) $(STD_OPT_FLAG)

# things that are always compiled with lots of optimization use this flag 
(except if debug is on)
CCFLAGSF= $(CC_INCLUDES) $(STD_OPT_FLAG)

# things that need to be compiled with no optimization use the following
CCFLAGSG= $(CC_INCLUDES) -g

# Notes: There seems to be problems using -O with g77
#        Some older versions of the egcs compiler also had trouble with -fPIC, 
removing it seemed to work.
FFLAGS=    $(FF_FLAGS) $(OverturePrecision)  $(FortranDouble) 
$(FORTRAN_OPTIMIZATION_FLAG) $(Include)
# single precision always:
FFLAGSS=  $(FF_FLAGS) $(OverturePrecision) $(FORTRAN_OPTIMIZATION_FLAG)  
$(Include)
FFLAGSSO = ${FF_FLAGS} $(OverturePrecision) $(Include) $(STD_OPT_FLAG)
FFLAGSO = $(FF_FLAGS) $(OverturePrecision) $(FortranDouble) $(STD_OPT_FLAG) 
$(Include)
FFLAGSG = $(FF_FLAGS) $(OverturePrecision) $(FortranDouble) -g $(Include)
FFLAGSG2 = $(FF_FLAGS) $(OverturePrecision) $(FortranDouble) -g $(Include)

# things that are always compile with optimization use these flags (except if 
debug is on)
FFLAGSO= $(STD_OPT_FLAG) $(FF_FLAGS) $(OverturePrecision) $(FortranDouble)  
$(FLAGS) $(Include) 
FFLAGSSO= $(STD_OPT_FLAG) $(OverturePrecision) $(FF_FLAGS)  $(FLAGS) $(Include)

# Here we add a path to the compiler lib directory (this is sometimes needed so 
that we find the correct
# version of the compiler libraries if they are different from the the ones in 
/usr/lib for e.g.)
OV_COMPILER_LIBS = $(OV_RPATH)$(COMPILER_LIB_DIRECTORY) 
-L$(COMPILER_LIB_DIRECTORY)

# here are the hdf libraries (the configure script will change this line for 
use with hdf5)
Z_LIB = /soft/apps/zlib-1.2.3/lib
HDF_LIBS = $(OV_RPATH)$(HDF)/lib -L$(HDF)/lib -lmfhdf -ldf -L$(Z_LIB) -lz

FORTRAN_LIBS = 
PGI_LIB =
IFORT_LIB = 
LIB_TARGETS= lib_date libso_date liba_date
LIB_DEPENDENCIES= ../lib/lib_date
TEMPLATES= 
RAPTEMPLATES=

# The KCC compiler should be used to build the static library (for templates)
AR = ar
#KCC AR = KCC
ARFLAGS = ruv  
#KCC ARFLAGS = -o 

LD = $(CC)
LDFLAGS = -L
RANLIB = ranlib
SOFLAGS = -qmkshrobj
# the next line is changed by the configure script
OpenGLibs=
OPENGL_LIB= $(OpenGL)/lib
GLIBS=   $(OV_RPATH)$(OPENGL_LIB) -L$(OPENGL_LIB) $(OpenGLibs) -lm

FLIBS= $(OV_RPATH)$(Overture)/lib $(LDFLAGS)$(Overture)/lib $(LibOverture) 
$(OV_COMPILER_LIBS) $(HDF_LIBS) $(AppLibraries) $(FORTRAN_LIBS)

OGMGLIB = $(OV_RPATH)$(Overture)/lib $(LDFLAGS)$(Overture)/lib -lOgmg

----- Original Message -----
From: "Erik Wilson" <wilsone@xxxxxx>
To: overture@xxxxxxxxxxxxx
Sent: Saturday, May 5, 2012 11:51:22 AM
Subject: [overture] Re: Building v24 on Blue Gene P

Hi All,

On the plus side there is shared library support for BG/P, where there 
wasn't on BG/L. Here are some instructions I found on compiling shared 
libraries and linking:
http://www2.fz-juelich.de/jsc/jugene/usage/shared_libraries/
http://www.alcf.anl.gov/faq-page/how-do-i-compile-and-link-shared-library

Also, the P++ flag should be --with-mpi-libs=" " (notice there is a 
space between the quotes).

Cheers,
  -Erik

On 05/03/2012 10:56 PM, Kyle K. Chand wrote:
> Hi Joe,
>
> I found the following info about BG/P:
> Shared Library Constraints:
>
>     • BG/P is optimized for static executables:
>         • 32-bit static linking is the default
>         • Executable shared among MPI tasks
>         • Efficient loading/memory use
>         • Caveat: executables are limited to 67MB in size. Use the 
> size a.out command and check that the text segment is under 67,108,864.
>
>     • BG/P has minimum shared library support:
>         • Shared libraries are not shared among processes
>         • Entire shared library loaded into memory
>         • No demand paging in of shared library
>         • Cannot unload shared library to free memory
>         • Used by a few apps; avoid if you can
>
> So, basically you need to build the static libOverture.a library by 
> going into $Overture/lib and doing a "make liba_date".  Then you will 
> need to modify the $Overture/lib/Makefile so that the default compile 
> builds lib_date and liba_date (skipping libso_date).  Hopefully this 
> should build a statically linked version of ogen.  Now then, will the 
> binaries fit within 67Mb...  We shall see...
>
> Kyle
>
> mailto: chand1@xxxxxxxx
> phoneto: (925) 422 7740
>
>
>
> On May 3, 2012, at 9:56 PM, J. P. Bernstein wrote:
>
>> Hello Kyle,
>>
>> Thanks for the suggestion. Correct, that was from "make -j2" -- sorry
>> for the confusion. Here is the output of "make":
>>
>> make[1]: Entering directory
>> `/gpfs/home/jpbernst/Code/Overture/Overture.v24/lib'
>> 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
>> /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
>>
>>
>> On 5/3/2012 11:39 PM, Kyle K. Chand wrote:
>>> Hi Joe,
>>>
>>> Are you doing a parallel make?  It seems that the ar command is issued
>>> and then the command to build the shared object is called and then you
>>> have the output from ar and then the output from mpixlcxx_r ?
>>> It is a little confusing.  The size of the static lib seems correct.
>>> However, you will need the stuff in the shared object library since
>>> Overture programs link to both the dynamic shared library and the
>>> static library.  The split between the two libraries came about from
>>> the need to reliably handle the initialization of static objects so
>>> some Overture things are in libOverture_static, but most of Overture
>>> actually sits in libOverture.so.  You can try doing
>>> % make liba_date
>>> in the $Overture/lib directory to make a static version of
>>> libOverture, that will contain everything we normally put into
>>> libOverture.so.
>>>
>>> Kyle
>>>
>>>
>>>
>>> mailto: chand1@xxxxxxxx
>>> phoneto: (925) 422 7740
>>>
>>>
>>>
>>> On May 3, 2012, at 7:14 PM, J. P. Bernstein wrote:
>>>
>>>> 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
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Other related posts: