Joe: The permissions on your Overture libraries look funny. ...Bill On 05/04/2012 03:35 PM, Kyle K. Chand wrote:
Hi Joe, Well, it would be nice to build ogen with libOverture.a and libOverture_static.a just to see if Overture has been built correctly. Most of the ogen command files in $Overture/sampleGrids do not use perl, so you could test ogen with those files to make sure things worked. It would also be useful to know how large and Overture executable ends up being. If it is more than 67M for ogen, the there is still work to do to reduce the size of the Overture binaries. Kyle mailto: chand1@xxxxxxxx phoneto: (925) 422 7740 On May 4, 2012, at 1:48 PM, J. P. Bernstein wrote:Roger that, Kyle. I was able to build the static lib using the make lines you send below. I was also about to build the shared lib functionality by using the split build that makes two shared libs (see below; I found the two lib setup lurking in the existing code commented out). That got me past the $Overture/lib make process and into the final, $Overture/bin process which failed: make[1]: Entering directory `/gpfs/home/jpbernst/Code/Overture/ Overture.v24/lib' ar ruv libOverture_static.a ../static/*.o ../boxlib/*.o ar: creating libOverture_static.a <list of o files suppressed> ranlib libOverture_static.a touch lib_date mpixlcxx_r -o libOverture1.so -qmkshrobj ../DataBase/*.o ../ GridFunction/*.o ../templates/*.o \ ../Grid/*.o ../Mapping/*.o rm -rf libOverture1.so.1.0 ln -s libOverture1.so libOverture1.so.1.0 touch libso1_date mpixlcxx_r -o libOverture2.so -qmkshrobj ../Oges/*.o ../ GridGenerator/*.o ../Ogshow/*.o ../mapUtil/*.o \ ../otherStuff/*.o rm -rf libOverture2.so.1.0 ln -s libOverture2.so libOverture2.so.1.0 touch libso2_date touch libso_date ar ruv libOverture.a ../DataBase/*.o ../GridFunction/*.o ../ templates/*.o \ ../Grid/*.o ../Mapping/*.o ../Oges/*.o ../GridGenerator/ *.o ../Ogshow/*.o ../mapUtil/*.o \ ../otherStuff/*.o ar: creating libOverture.a <list of o files suppressed> ranlib libOverture.a touch liba_date touch libso_date mpixlcxx_r -o libOgmg.so -qmkshrobj ../Ogmg/*.o rm -rf libOgmg.so.1.0 ln -s libOgmg.so libOgmg.so.1.0 touch libOgmg_date make[1]: Leaving directory `/gpfs/home/jpbernst/Code/Overture/ Overture.v24/lib' make[1]: Entering directory `/gpfs/home/jpbernst/Code/Overture/ Overture.v24/bin' mpixlcxx_r -w -qarch=450d -qtune=450 -qmaxmem=-1 -qpic - qlanglvl=redefmac -I/home/jpbernst/Code/Overture/Overture.v24/bin/../i nclude -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 -o plotStu ff plotStuffDriver.o plotStuffFunction.o -Wl,-rpath,/home/jpbernst/ Code/Overture/Overture.v24/bin/../lib -L/home/jpbernst/Co de/Overture/Overture.v24/bin/../lib -lOverture1 -lOverture2 - lOverture_static -Wl,-rpath,/soft/apps/hdf5-1.8.0/lib -L/soft/ap ps/hdf5-1.8.0/lib -lhdf5 -ljpeg -lz -Wl,-rpath,/home/jpbernst/Code/ Overture/A++P++-0.8.0/P++/install/lib -L/home/jpbernst/Cod e/Overture/A++P++-0.8.0/P++/install/lib -lPpp -lPpp_static -Wl,- rpath,-L/home/jpbernst/Code/Mesa-7.2/lib -lMesaGL -lMesaG LU -lm /bgsys/drivers/ppcfloor/gnu-linux/powerpc-bgp-linux/bin/ld: cannot find -lOverture1 make[1]: *** [plotStuff] Error 1 make[1]: Leaving directory `/gpfs/home/jpbernst/Code/Overture/ Overture.v24/bin' make: *** [all] Error 2 I find the failure perplexing since the lib in question *is* present: {login3}/home/jpbernst/Code/Overture/Overture.v24>ll lib/libOverture* -rwx------ 1 jpbernst users 67219406 2012-05-04 20:22 lib/ libOverture1.so* lrwxrwxrwx 1 jpbernst users 15 2012-05-04 20:22 lib/ libOverture1.so.1.0 -> libOverture1.so* -rwx------ 1 jpbernst users 29420356 2012-05-04 20:22 lib/ libOverture2.so* lrwxrwxrwx 1 jpbernst users 15 2012-05-04 20:22 lib/ libOverture2.so.1.0 -> libOverture2.so* -rw------- 1 jpbernst users 107487570 2012-05-04 20:22 lib/ libOverture.a -rw------- 1 jpbernst users 1680230 2012-05-04 20:21 lib/ libOverture_static.a I am wondering if this is essentially academic for my implementation, as I interpret your email below as suggesting that I only need the libOverture files above to build CG. That is, that I can possibly dispense with the $Overture/bin make process since I am only going to run CG solvers on the BG/P. Is this correct? Best, Joe ----- Original Message ----- From: "Kyle K. Chand"<chand1@xxxxxxxx> To: overture@xxxxxxxxxxxxx Sent: Friday, May 4, 2012 10:50:14 AM Subject: [overture] Re: Building v24 on Blue Gene P Hi Joe, You basically need everything in libOverture.{so or a} and libOverture_static.a (except, of course, the perl stuff you will remove from $Overture/Ogshow/OvertureParser.C). The libOverture.a option is really really old and may be out of date (well, is out of date if it requires FVO_date). The easiest way to fix this would be in $Overture/lib/Makefile to copy the libso_date target and replace liba_date with: liba_date: $(SO_LIB_DEPENDENCIES) $(DataBase)/DataBase_date \ $(GridFunction)/GridFunction_date \ $(Mapping)/Mapping_date \ $(Oges)/Oges_date \ $(Grid)/Grid_date \ $(GridGenerator)/GridGenerator_date \ $(Ogshow)/Ogshow_date \ $(otherStuff)/otherStuff_date \ $(templates)/ListClasses_date \ $(mapUtil)/mapUtil_date $(AR) $(ARFLAGS) libOverture.a $(DataBase)/*.o $ (GridFunction)/*.o $(templates)/*.o \ $(Grid)/*.o $(Mapping)/*.o $(Oges)/*.o $(GridGenerator)/ *.o $(Ogshow)/*.o $(mapUtil)/*.o \ $(otherStuff)/*.o $(LIBLIBS) $(RANLIB) libOverture.a touch $@ touch libso_date Try this out... In principle you could stick all the libOverture_static stuff in there too, but lets keep it somewhat consistent with the usual setup for now. Kyle mailto: chand1@xxxxxxxx phoneto: (925) 422 7740 On May 4, 2012, at 8:39 AM, J. P. Bernstein wrote:Thanks for the specifics about BG/P and shared libs. I had a qualitative understanding, which is why I have been targeting static libs. Can you please clarify precisly which Overture build prodects are needed by CG? I plan to generate PERL-less command files to feed to CG on BG/P using ogen on a different system, so I only need to build the parts of Overture for BG/P that are needed by CG, e.g., libOverture.a. What else is needed? Regarding the prescription you gave below, here is the result of trying to do "make liba_date" {login3}/home/jpbernst/Code/Overture/Overture.v24/lib>make liba_date make: *** No rule to make target `../FiniteVolumeOperators/ FVO_date', needed by `liba_date'. Stop. Best, Joe ----- Original Message ----- From: "Kyle K. Chand"<chand1@xxxxxxxx> To: overture@xxxxxxxxxxxxx Sent: Friday, May 4, 2012 12:56:10 AM Subject: [overture] Re: Building v24 on Blue Gene P 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.