Hi All,I am not 100% positive, but this issue may have been addressed in the patch that I sent, with the following modification to configure:
@@ -1366,6 +1411,14 @@ foreach $dir ( @directories ) while( <MAKE_DEFS> ) { $line = $_; + chomp($line); + + $line =~ s/^(Overture *= *)$/$1 $ENV{Overture}/; + $line =~ s/^(APlusPlus *= *)$/$1 $ENV{APlusPlus}/; + $line =~ s/^(HDF *= *)$/$1 $ENV{HDF}/; + $line =~ s/^(XLIBS *= *)$/$1 $ENV{XLIBS}/; + $line =~ s/^(OpenGL *= *)$/$1 $ENV{OpenGL}/; + # *wdh* $line =~ s/\$\(OverturePrecision\)/$double/g; $line =~ s/\$\(OverturePrecision\)//g; $line =~ s/\$\(FortranDouble\)/$FortranDouble/g; Cheers, -Erik On 04/23/2012 12:17 PM, J. P. Bernstein wrote:
Thanks, Erik. That worked. All, I was finally able to build Mesa7.10.3 without errors. This allowed me to successfully configure Overture v24 on BG/P including disabling the PERL calls in Ogshow/OvertureParser.C. However, I am getting a build failure right away due to A++ no being found even though $APlusPlus is correct (see below). As a basic test, I tried the configure and make with stock Overture v24 (except for the addition of the bgp machine) without PERL excluded. I get the same error. Below is the pertinent terminal output (note that I do *not* get this A++ error when building Overture v24 with the noPERL and noGL-functionality patches from Erik applied). Is this a known problem? I have not been able to solve it upon quick testing. Best, Joe +++++Begin configure output+++++ {login2}/home/jpbernst/Code/Overture/Test/Overture.v24>./configure bgp noX11 Do NOT use X11. *** configure for machine = bgp **** *** machineType = [ppc64] **** First checking for proper definition of Overture environmental variables: APlusPlus = /home/jpbernst/Code/Overture/Test/A++ OpenGL = /home/jpbernst/Code/Mesa-7.10.3 HDF = /soft/apps/hdf5-1.8.0 Overture = /home/jpbernst/Code/Overture/Test/Overture.v24 Using Mesa `OpenGL' libraries since libMesaGL found in /home/jpbernst/Code/Mesa-7.10.3/lib Mesa does not have GLwDrawA.h in the include dir INFO: I am going to copy my version of the GLw files into Overture/static directory perlloc = [/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE] Using perl headers and lib from perllibs=[/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE] Will link to the libraries perllibs=[-lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc] Detected use of hdf5 Using configuration file config/MakeDefs.bgp Using Compilers: C++=mpixlcxx_r, C=mpixlc_r, Fortran=mprixlf77_r (base version: C++=mpixlcxx_r, C=mpixlc_r, Fortran=mprixlf77_r) **Overture will be compiled in double precision debugging turned on, using debugFlag=-g. Checking for bool support bool is supported. Checking for exceptions support exceptions are supported. Checking for STL availability. $STLINC= stl is available using std include format the compiler understands namespaces the compiler understands default template arguments the compiler understands explicit Create the Makefile for directory: mapUtil Create the Makefile for directory: phoneyFiles Create the Makefile for directory: Cad Create the Makefile for directory: DataBase Create the Makefile for directory: Grid Create the Makefile for directory: GridFunction Create the Makefile for directory: GridGenerator Create the Makefile for directory: Mapping Create the Makefile for directory: Oges Create the Makefile for directory: Ogshow Create the Makefile for directory: otherStuff Create the Makefile for directory: bin Create the Makefile for directory: boxlib Create the Makefile for directory: lib Create the Makefile for directory: primer Create the Makefile for directory: sampleGrids Create the Makefile for directory: static Create the Makefile for directory: templates Create the Makefile for directory: examples Create the Makefile for directory: Ogmg Create the Makefile for directory: tests configuration options written to file configure.options Make options saved to file make.options. Build the Makefile in the main directory done configuration. **************************************************************************************************** WARNING: Environment variable LANG=en_US.UTF-8 -- Overture may not work with this language. European languages may reverse the meaning of `.' and ',' in numbers such a 3,14 or 3.14 and then Overture will not parse command files properly. Type `locale' to see your language settings. You may need to change to the language `en_US' **************************************************************************************************** type `make' to build Overture (or 'make -j2' for a parallel make with 2 processes). type `make rapsodi' to build the Rapsodi libraries and rap. +++++End configure output+++++ +++++Begin make output+++++ {login2}/home/jpbernst/Code/Overture/Test/Overture.v24>make ----------------------------------------------------------------------- type<make help> for help. Run the configure script before running make ----------------------------------------------------------------------- rm -rf A++; rm -f OpenGL; rm -f HDF; ln -s /home/jpbernst/Code/Overture/Test/A++ A++; ln -s /home/jpbernst/Code/Mesa-7.10.3 OpenGL; ln -s /soft/apps/hdf5-1.8.0 HDF make[1]: Entering directory `/gpfs/home/jpbernst/Code/Overture/Test/Overture.v24/DataBase' perl ../config/makeDepend -f depend -Y -- -I/home/jpbernst/Code/Overture/Test/Overture.v24/include -I. -DBL_USE_DOUBLE -DBL_Solaris -- GenericDataBase.C HDF_DataBase.C DataBaseBuffer.C run makedepend ... ...done touch depend_date mpixlcxx_r -qarch=450d -qtune=450 -qmaxmem=16384 -I/home/jpbernst/Code/Overture/Test/Overture.v24/include -I. -DBL_USE_DOUBLE -DBL_Solaris -g -DH5_USE_16_API -I/soft/apps/hdf5-1.8.0/include -c GenericDataBase.C HDF_DataBase.C DataBaseBuffer.C GenericDataBase.C: "/home/jpbernst/Code/Overture/Test/Overture.v24/include/GenericDataBase.h", line 14.10: 1540-0836 (S) The #include file "A++.h" is not found. HDF_DataBase.C: "/home/jpbernst/Code/Overture/Test/Overture.v24/include/BoundaryConditionParameters.h", line 4.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/BoundingBox.h", line 4.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ComposeMapping.h", line 4.10: 1540-0836 (S) The #include file<A++.h> is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/DisplayParameters.h", line 4.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/GenericDataBase.h", line 14.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfDoubleArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfDoubleDistributedArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfDoubleSerialArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfIntDistributedArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfIntSerialArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/Mapping.h", line 14.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/MappingP.h", line 4.10: 1540-0836 (S) The #include file<A++.h> is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/MappingWS.h", line 5.10: 1540-0836 (S) The #include file<A++.h> is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/OGgetIndex.h", line 5.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/OvertureTypes.h", line 11.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/arrayGetIndex.h", line 5.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/wdhdefs.h", line 7.10: 1540-0836 (S) The #include file<A++.h> is not found. DataBaseBuffer.C: "/home/jpbernst/Code/Overture/Test/Overture.v24/include/BoundaryConditionParameters.h", line 4.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/BoundingBox.h", line 4.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ComposeMapping.h", line 4.10: 1540-0836 (S) The #include file<A++.h> is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/DisplayParameters.h", line 4.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/GenericDataBase.h", line 14.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfDoubleArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfDoubleDistributedArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfDoubleSerialArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfIntDistributedArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/ListOfIntSerialArray.h", line 3.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/Mapping.h", line 14.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/MappingP.h", line 4.10: 1540-0836 (S) The #include file<A++.h> is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/MappingWS.h", line 5.10: 1540-0836 (S) The #include file<A++.h> is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/OGgetIndex.h", line 5.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/OvertureTypes.h", line 11.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/arrayGetIndex.h", line 5.10: 1540-0836 (S) The #include file "A++.h" is not found. "/home/jpbernst/Code/Overture/Test/Overture.v24/include/wdhdefs.h", line 7.10: 1540-0836 (S) The #include file<A++.h> is not found. make[1]: *** [DataBase_date] Error 1 make[1]: Leaving directory `/gpfs/home/jpbernst/Code/Overture/Test/Overture.v24/DataBase' make: *** [all] Error 2 +++++End make output+++++ +++++Begin A++ variable testing output+++++ {login2}/home/jpbernst/Code/Overture/Test/Overture.v24>ls $APlusPlus ./ ../ config.log config.status include/ lib/ Makefile.user.defs {login2}/home/jpbernst/Code/Overture/Test/Overture.v24>ls $APlusPlus/lib/ ./ ../ libApp.a libApp_static.a {login2}/home/jpbernst/Code/Overture/Test/Overture.v24>ls $APlusPlus/include/ ./ comm_man.h dimension_macros.h lazy_aggregate.h machine.h ../ config.h domain.h lazyarray.h max_array_dim.h A++.h constants.h expression_templates.h lazy_expression.h mdi_typedef.h A++_headers.h data_hash.h index.h lazy_operand.h optimization.h A++_notemplates.h descriptor.h inline_expression_templates.h lazy_statement.h partitioning.h array_domain.h descriptor_notemplates.h inline_func.h lazy_task.h where.h A++_templates.h descriptor_templates.h inline_support.h lazy_taskset.h +++++End A++ variable testing output+++++ ----- Original Message ----- From: "Erik Wilson"<wilsone@xxxxxx> To: overture@xxxxxxxxxxxxx Sent: Wednesday, April 4, 2012 2:47:53 PM Subject: [overture] Re: Building v24 on Blue Gene P Hi Joe, I haven't seen this error before, but I think you need to replace MultigridCompositeGrid::MultigridCompositeGridData::MultigridCompositeGridData& with MultigridCompositeGrid::MultigridCompositeGridData& Cheers, -Erik On 04/04/2012 12:10 PM, J. P. Bernstein wrote:Thanks, Bill. Just be sure, are you saying to replace MultigridCompositeGrid::MultigridCompositeGridData::MultigridCompositeGridData& with: MultigridCompositeGrid:: That results in: "MultigridCompositeGrid.C", line 165.1: 1540-0400 (S) "MultigridCompositeGrid::MultigridCompositeGridData::operator=(const MultigridCompositeGridData&)" has a conflicting declaration. "/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include/MultigridCompositeGrid.h", line 86.29: 1540-0424 (I) "operator=" is declared on line 86 of "/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include/MultigridCompositeGrid.h". "MultigridCompositeGrid.C", line 62.1: 1540-1101 (W) A return value of type "int" is expected. Sorry, I am somewhat new to C++. ----- Original Message ----- From: "Bill Henshaw"<henshaw@xxxxxxxx> To: overture@xxxxxxxxxxxxx Sent: Wednesday, April 4, 2012 1:38:45 PM Subject: [overture] Re: Building v24 on Blue Gene P Hi Joe: You will need to edit that file and remove the duplicate MultigridCompositeGridData::MultigridCompositeGridData This error appears with newer versions of compilers. ...Bill On 04/03/2012 01:32 PM, J. P. Bernstein wrote:Hello Bill, Several include issues later (archived below), led to considerable build progression to the following failure: mpixlcxx_r -qarch=450d -qtune=450 -qmaxmem=16384 -I/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include -I. -I/home/jpbernst/Code/Overture/LLNL-CISM/A++P++-0.8.0/P++/install/include -DBL_USE_DOUBLE -DBL_Solaris -g -DUSE_PPP -c MultigridCompositeGrid.C "/home/jpbernst/Code/Overture/LLNL-CISM/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/LLNL-CISM/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. . . . "/home/jpbernst/Code/Overture/LLNL-CISM/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. . . . "MultigridCompositeGrid.C", line 164.1: 1540-2611 (S) The name "MultigridCompositeGrid::MultigridCompositeGridData::MultigridCompositeGridData" can only be used to declare a constructor. "MultigridCompositeGrid.C", line 62.1: 1540-1101 (W) A return value of type "int" is expected. "/home/jpbernst/Code/Overture/LLNL-CISM/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]: *** [MultigridCompositeGrid.o] Error 1 make[1]: Leaving directory `/gpfs/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/Grid' make: *** [all] Error 2 Is that familiar? Archive: Includes in $Overture/static/Makefile.in are currently (work in progress): # These are for OpenGL and motif #OpenGLInclude = $(OpenGL)/include SystemInclude = /usr/include # -I$(MOTIF)/include/Motif-1.2 for lesstif on red-hat INCLUDE= -I$(OpenGLInclude) # motif includes should come before the xlib includes since xlib may also have motif in it # wdh: put OpenGL includes before motif since on the Dec MOTIF=/usr and there is a /usr/include/GL # *wdh* 041017 fix a problem with P++ and gcc 3.3.3 -- seg faults at completion of the code # *wdh* 041017 CCFLAGS2= $(INCLUDE) -I$(MOTIF)/include -I$(MOTIF)/include/Motif-1.2 $(CCFLAGSG) CCFLAGS2= $(CCFLAGSG) $(INCLUDE) -I$(MOTIF)/include .SUFFIXES: .SUFFIXES:.C .o .f .o .c .o .F .o .C.o:; $(CC) $(CCFLAGS2) -c $*.C .c.o:; $(cc) $(CFLAGS) -I. -I$(MOTIF)/include -I$(SystemInclude) -I/usr/X11R6/include -c $*.c On Apr 3, 2012, at 11:56 AM, Bill Henshaw wrote:Joe: GLfloat, GLdouble are OpenGL variables. You will still need to include the OpenGL header files when compiling, and undo that change you made to moglNull.C ...Bill On 04/03/2012 09:17 AM, J. P. Bernstein wrote:Thanks, Bill. I was able to get around the mogl.o missing target error when I replaced mogl with moglNull in the following: $Overture/Makefile.in:178: static/mog.C static/overlay.c static/initOvertureGlobalVariables.C \ $Overture/lib/Makefile.in:219:RapsodiStaticFiles= ../static/mogl.o ../static/overlay.o ../static/initOvertureGlobalVariables.o \ $Overture/static/Makefile.in:25:Source= mogl.C overlay.C initOvertureGlobalVariables.C initStaticMappingVariables.C \ $Overture/tests/Makefile.in:24:giMain = giMain.o ../static/mogl.o ../static/overlay.o Erik, in particular, can you please take a look at the rest of this message (though comments are most welcome from anyone, of course)? Now the build dies with: -------------------- mpixlcxx_r -qarch=450d -qtune=450 -qmaxmem=16384 -I/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include -I. -I/home/jpbernst/Code/Overture/LLNL-CISM/A++P++-0.8.0/P++/install/include -DBL_USE_DOUBLE -DBL_Solaris -g -DUSE_PPP -I/include -I/GLUT -I/include -c moglNull.C mpixlc_r -qarch=450d -qtune=450 -qmaxmem=16384 -I/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include -I. -g -DSHM -DUSE_PPP -I. -I/include -I/include -c overlay.c "overlay.c", line 236.21: 1506-356 (W) Compilation unit is empty. mpixlcxx_r -qarch=450d -qtune=450 -qmaxmem=16384 -I/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include -I. -I/home/jpbernst/Code/Overture/LLNL-CISM/A++P++-0.8.0/P++/install/include -DBL_USE_DOUBLE -DBL_Solaris -g -DUSE_PPP -I/include -I/GLUT -I/include -c initOvertureGlobalVariables.C "moglNull.C", line 31.10: 1540-0836 (S) The #include file<GL/glu.h> is not found. make[1]: *** [moglNull.o] Error 1 make[1]: *** Waiting for unfinished jobs.... "/home/jpbernst/Code/Overture/LLNL-CISM/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/LLNL-CISM/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/LLNL-CISM/Overture.v24/static' make: *** [all] Error 2 -------------------- I found the solution is to comment out the following in $Overture/static/moglNull.C #include<GL/glu.h> Next, the build fails with: -------------------- mpixlcxx_r -qarch=450d -qtune=450 -qmaxmem=16384 -I/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include -I. -I/home/jpbernst/Code/Overture/LLNL-CISM/A++P++-0.8.0/P++/install/include -DBL_USE_DOUBLE -DBL_Solaris -g -DUSE_PPP -I/include -I/GLUT -I/include -c initStaticMappingVariables.C "/home/jpbernst/Code/Overture/LLNL-CISM/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/LLNL-CISM/Overture.v24/include/mogl.h", line 40.11: 1540-0063 (S) The text "*" is unexpected. "/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include/mogl.h", line 197.42: 1540-0063 (S) The text "left" is unexpected. "/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include/mogl.h", line 201.42: 1540-0063 (S) The text "left" is unexpected. "/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include/mogl.h", line 205.49: 1540-0040 (S) The text "aspectRatio" is unexpected. "GLdouble" may be undeclared or ambiguous. "/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include/mogl.h", line 210.41: 1540-0040 (S) The text "fovy" is unexpected. "GLdouble" may be undeclared or ambiguous. "moglNull.C", line 176.33: 1540-0063 (S) The text "GLdouble" is unexpected. "moglNull.C", line 180.33: 1540-0063 (S) The text "GLdouble" is unexpected. "moglNull.C", line 184.40: 1540-0063 (S) The text "GLdouble" is unexpected. "moglNull.C", line 189.32: 1540-0063 (S) The text "GLdouble" is unexpected. "/home/jpbernst/Code/Overture/LLNL-CISM/A++P++-0.8.0/P++/install/include/P++.h", line 1339.21: 1540-1091 (W) The friend declaration "APP_view" specifies a default argument expression and is not a definition. . . . "/home/jpbernst/Code/Overture/LLNL-CISM/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]: *** [moglNull.o] Error 1 make[1]: *** Waiting for unfinished jobs.... "/home/jpbernst/Code/Overture/LLNL-CISM/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/LLNL-CISM/Overture.v24/static' make: *** [all] Error 2 -------------------- It looks to me that mogl.h still has to be included in order to define things needed to create the empty stubs for mogl functions. Is that correct, Erik? While I continue to look into this, can you please comment on the errors? Best, Joe On Apr 2, 2012, at 5:54 PM, Bill Henshaw wrote:Hi Joe: The Overture/configure script should replace mogl.C with moglNull.C in the Overture/static directory and compile that. mogl.C is the Motif/OpenGL interface and is where all Motif code is located. ...Bill On 04/02/2012 03:20 PM, J. P. Bernstein wrote:Hello Bill, Kyler, Erik, I was able to patch v24 with Erik's patches enabling noGL and noPERL config options in addition to noX11 (I am still working on getting Mesa compiled for the BG/P backend to have the option to go with just noX11 and noPERL). The build runs for many minutes and then dies with: make[1]: Entering directory `/gpfs/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/static' perl ../config/makeDepend -f depend -Y -- -I/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/include -I. -I/home/jpbernst/Code/Overture/LLNL-CISM/A++P++-0.8.0/P++/install/include -DBL_USE_DOUBLE -DBL_Solaris -- mogl.C overlay.C initOvertureGlobalVariables.C initStaticMappingVariables.C xColours.C ReferenceCounting.C OvertureInit.C RapsodiInit.C memoryUsage.C make[1]: *** No rule to make target `mogl.o', needed by `static_date'. Stop. make[1]: *** Waiting for unfinished jobs.... run makedepend ... ...done touch depend_date make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/gpfs/home/jpbernst/Code/Overture/LLNL-CISM/Overture.v24/static' make: *** [all] Error 2 Is mogl related to OpenGL? That is, Erik, is that something that the noGL config option should deprecate? In the $Overture/static, I see moglNull.C. . . Best, Joe ----- Original Message ----- From: "J. P. Bernstein"<astro@xxxxxxx> To: overture@xxxxxxxxxxxxx Sent: Monday, April 2, 2012 3:29:11 PM Subject: [overture] Re: Building v24 on Blue Gene P Hello Bill, Would you be able to send me some information about specific machines Overture has been run on and some performance metrics on those machines? I am putting together an application for discretionary time on the Argonne Blue Gene/P and including such information would be very beneficial. Best, Joe ----- Original Message ----- From: "Bill Henshaw"<henshaw@xxxxxxxx> To: overture@xxxxxxxxxxxxx Sent: Saturday, March 31, 2012 5:36:18 PM Subject: [overture] Re: Building v24 on Blue Gene P Thanks Erik, I had forgot that you had built a null version of OpenGL. ...Bill On 03/29/2012 03:58 PM, Erik Wilson wrote:Similar to the noX11 flag, the patch I sent (attached for everyone else) add options for noGL and noPERL configure flags. OpenGL functionality is removed via a null implementation; just in case Mesa proves too difficult to compile. Cheers, -Erik On 03/28/2012 02:54 PM, J. P. Bernstein wrote:Thanks, Bill. Can you please clarify if those changes are in v24, or if you are referring to changes post v24? Indeed, I am close to compiling Mesa on BG/P. I am getting a failure due to the compiler not being recognized at the latter stage of compiling libmesa itself. I am corresponding with the Mesa folks about that. Thanks for your offer of help regarding the perl script. I am handy with perl, so I agree that that step should not be hard. Best, Joe ----- Original Message ----- From: "Bill Henshaw"<henshaw@xxxxxxxx> To: overture@xxxxxxxxxxxxx Sent: Wednesday, March 28, 2012 4:48:51 PM Subject: [overture] Re: Building v24 on Blue Gene P Hi Joe, As Kyle noted, I have already made the changes to optionally remove the dependencies on X and Motif. My plan was to still link to OpenGL, this should not be a big deal. It is a simple matter to write a perl program that can convert a command file to one that does not need perl. I can help you with that. ...Bill On 03/28/2012 01:07 PM, Chand, Kyle K. wrote:Hi Joe, I think for the OpenGL you can build Mesa without X11 and direct rendering so you will get the library to link against. Here is a VisIt page about how they built Mesa on a BG/P system: http://www.visitusers.org/index.php?title=Building_on_BlueGeneP It is kind of out of date and things might be easier now... Regards, Kyle ________________________________________ From: overture-bounce@xxxxxxxxxxxxx [overture-bounce@xxxxxxxxxxxxx] On Behalf Of J. P. Bernstein [astro@xxxxxxx] Sent: Wednesday, March 28, 2012 12:45 PM To: overture@xxxxxxxxxxxxx Subject: [overture] Re: Building v24 on Blue Gene P Or am I confused. Does CG need the Overture source, Overture compilation products, or both? If only the source, then I better understand your point about really what I need to do is divorce Overture and CG form things. Best, Joe On Mar 28, 2012, at 2:44 PM, J. P. Bernstein wrote:Thanks, Kyle. For Overture on BG/P, there is also the issue of X, MOTIF, and OpenGL. The CISM folks modified a version of Overture in 2008 to strip those things in addition to perl. Building CG alone on BG/P would reduce the problem to the CG divorce from those things at the expense of additionally divorcing CG from Overture. In the end, it comes down to either divorcing Overture and CG from perl, X, MOTIF, and OpenGL, or divorcing Overture from CG and CG from perl, X, MOTIF, and OpenGL (I am not yet sure the extent to which CG even depends on those things). It seems to me that the latter is more sensible, but make that statement as a mere Overture initiate. What do you and the experts say? Best, Joe On Mar 28, 2012, at 2:19 PM, Chand, Kyle K. wrote:Hi Joe, Really you will be divorcing Overture and CG from perl, which is doable. Stripping calls from Overture is easy, you just need to hack/replace Ogshow/OvertureParser.C when building it on the BG/P backend. Generating perl-less command files on your mac will not be that hard though it may involve some adjustments to the way overture's command interpreter records the playback commands. It may also be possible to do it with a simple perl script that reads a command file line by line, interprets each line ending in a semi-colon and string-interpolates the remaining lines, outputting the interpolated lines to a perl-less command file. bpp should not be an issue. It is used to generate code at compile time (only when bpp files have changed) and is never executed at run time. If executing bpp on the frontend when compiling cg is an issue you can just 'touch' all the source files so that the bpp dependencies are not activated in the build system. If that does not work then the build system will have to be adjusted to ignore regeneration of bpp generated source code. Regards, Kyle ________________________________________ From: overture-bounce@xxxxxxxxxxxxx [overture-bounce@xxxxxxxxxxxxx] On Behalf Of J. P. Bernstein [astro@xxxxxxx] Sent: Wednesday, March 28, 2012 11:43 AM To: overture@xxxxxxxxxxxxx Subject: [overture] Re: Building v24 on Blue Gene P Hello Kyle, I have confirmed with ALCF management that building perl on the backend of the Argonne BG/P is not and will not be supported by the facility due to overhead issues. What we are really after is having CG built on the BG/P backend. To us, the most sensible path is to build Overture somewhere else (like my Mac laptop, which has been done), and use it to generate perl-less command files to pass to a CG build on the BG/P backend. Thus, I would like to divorce CG from Overture to the greatest extent possible. How realistic is that goal, from the perspective of the Overture developers? The immediate issue that arises with the above is CG's dependency on BPP. How much does CG depended on the extended capabilities of BPP, relative to CPP. In other words, would building BPP on it's own or reverting CG to work with CPP make more sense? Best, Joe ----- Original Message ----- From: "Kyle K. Chand"<chand1@xxxxxxxx> To: overture@xxxxxxxxxxxxx Sent: Monday, March 5, 2012 4:24:19 PM Subject: [overture] Re: Building v24 on Blue Gene P Hi Joe, Mechanically, it would not be hard to replace the perl interpreter in OvertureParser.C with the python interpreter (or any other interpreter, check out Lua!). However, it may be a great deal of effort to translate all our command files from perl to python. We do not use perl for regular expressions, we use perl for two purposes: 1) writing perl code to parameterize and generate input to our grid generator and solvers, and 2) utilize perl's "string interpolation" mechanism to turn command file lines like: $N=11; number of grid lines $N $N into number of grid lines 11 11 Lately we have been using 1) a lot more, often writing perl loops and including perl modules to parameterize and automate input generation and make things generally more maintainable. The mechanism represented by 2) is how 1) eventually gets used. So, it would be a lot of work to re-write many of our more recent (and future) command files to use another interpreted language. I think the most efficient path would be to strip perl from the BG port of the code. Then use Overture on some other machine to generate perl-less, pure text, input for the problems you want to run. One could even write a (perl :-) script that reads a command file and sends each line ending with a semi-colon to the interpreter and every other line for string interpolation, echoing the interpolated line to a "stripped" command file. You would not even need another copy of Overture for that. Best regards, Kyle mailto: chand1@xxxxxxxx phoneto: (925) 422 7740 On Mar 5, 2012, at 12:09 PM, J. P. Bernstein wrote:Thank you very much, Kyle, for those details. While I am digesting that, would you care to comment on the notion of replacing perl functionality with python? I am not familiar enough with python or Overture to know, of the top of my head, if python offers the capability needed. I ask because python is available on the back end of the BG/P at Argonne. Might such a transformation be of interest to you and the Overture team? My job description would allow me to engage considerably on such a task. Best, Joe On Mar 5, 2012, at 12:42 PM, Kyle K. Chand wrote:Hi Joe, Well, I have some bad news regarding perl. Perl is really an integral part of how we set up problems both for the grid generator as well as CG solver runs. Using Overture w/o perl is kind of like editing C++ files with ed in a terminal window; you can do it but it is not really suggested :-) Overture's graphics/ interpreter interface actually starts a perl interpreter and the text commands are first sent to the interpreter to either get string interpolation performed or perl statements evaluated. You can see an example of how this is used in $Overture/sampleGrids/ squareArg.cmd, which parameterizes an ogen grid generator command file using perl statements. Now, it is probably possible to build Overture without the perl interpreter linked in, you will have to change OvertureParser.C as well as the bin/Makefile to remove references to perl. Then, however, you will need to strip perl from any command files you plan to use. The best way to go would be to compile Perl for BGP. However, if that is not possible for some reason, here is another way to go: 1) Build a "full" version of Overture somewhere you can generate grids and test things out 2) Modify this "full" version to write the "plain text" command files after the perl processing is completed, run any command files you want through it to strip the perl 3) Build a "perl-less" version for BGP on which you can run perl- stripped cg command files The easiest way to "strip" command files of perl might be to intercept the interpolated strings before they get sent to the rest of Overture from OvertureParser, I'll have to think about the least-intrusive way to do that. Regards, Kyle PS, I will try to get to your Mac question later today. mailto: chand1@xxxxxxxx phoneto: (925) 422 7740 On Mar 2, 2012, at 5:58 PM, J. P. Bernstein wrote:Hello Bill, Thank you and Kyle for the quick replies to my emails. Warning headed. I am on assignment from the Argonne Leadership Computing Facility (ALCF) on this effort. There is significant interest at ALCF to at least run the CG solvers on BGP (not necessarily ogen). Nevertheless, I will share your sentiment with my assigners. A question about the perl situation: my initial assessment suggested to me that perl was needed only for configuring the build and running the tests. Since perl is available on the front end, the configuration part should work. Part of my assignment is converting the perl test scripts to, e.g., python. However, your message below makes me doubt my assessment. Are the perl libs, which, as you know, are not available on the back end, needed at run time beyond the test scripts? Best, Joe On 3/2/2012 6:08 PM, Bill Henshaw wrote:Hi Joe, At one time I did get Overture compiled on the BGP front end at ANL with xlc but I was left with the issue that the perl libraries were not available with BGP. We could work around this if necessary but I prefer not too if possible. That said, experience tells me that since we have not run Overture on BGP then you are likely to have problems that will be very hard for you to fix. Therefore this is just a warning that the path you are on may lead to great misery and despair ... ...Bill J. P. Bernstein wrote:Hello, I am trying to build Overture.v24 on Blue Gene P (BG/P). In an attempt to add a BG/P configuration for A++, I looked for the following config file mentioned in the A++ README file: A++/config/config.options but was not able to find the file or the directory mentioned in the A++ directory tree. I was able to build A++ without errors with the following configure command: ./configure --with-CC=mpixlc_r --with-CFLAGS="-qarch=450d - qtune=450" --with-CXX=mpixlcxx_r --with-CXXFLAGS="-qarch=450d -qtune=450" --prefix=`pwd` However, the flags did not seem to be passed: mpixlc_r -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -c `test -f common_func.c || echo './'`common_func.c mpixlcxx_r -o resize resize.o -L/home/jpbernst/Code/Overture/A++P++-0.8.0/A++/install/lib - L../src -lApp -lApp_static -lApp -lm Is this a known issue? Returning to the BG/P config issue, I tried to hack : config/A++P++_common_autoconfig.m4 config.sub in order to add a Bg/P setup without success. Is there documentation available for adding a machine config? I was not able to find any on the Overture webpage. Best, Joe Bernstein...