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 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > >