Thanks, Bill.Below is the MakeDefs file that I am using that is based on the MakeDefs.linux file that came with Overture.v24. The Include variable setting, indeed, does not include A++. Adding a -I pointing to $(APlusPlus/include) results in other immediate problems. Can you please send me a MakeDefs file for vanilla linux that is known working?
Thanks, Joe +++++MakeDefs.bgp (based on MakeDefs.linux+++++ # linux 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 = mprixlf77_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, #xlc OV_RPATH = -R # these next lines will be changed by the configure script USE_DOUBLE_OR_SINGLE = -DOV_USE_FLOAT #xlc USE_DOUBLE_OR_SINGLE = -WF,-DOV_USE_FLOAT A++ = $(APlusPlus) A+++ = $(APlusPlus) # AppLibraries = -L$(APlusPlus) -lA++ -lA++_static AppLibraries = $(OV_RPATH)$(APlusPlus)/lib -L$(APlusPlus)/lib -lApp -lApp_static Include= -I$(Overture)/include -I. Lib= $(Overture)/lib LibOverture= -lOverture -lOverture_static # Make 2 dynamic libs for ibm: #xlc LibOverture= -lOverture1 -lOverture2 -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 = -qarch=450d -qtune=450 -qmaxmem=16384 CC_FLAGS = -qarch=450d -qtune=450 -qmaxmem=16384 FF_FLAGS = -qarch=450d -qtune=450 -qmaxmem=16384 # Turn off warnings from intel f95 compiler #ifc FF_FLAGS = -fPIC -w # 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) #*wdh* temporarily add -Wno-deprecated -- fix these later # ** CC_INCLUDES_FOR_DEPEND = $(Include) $(OverturePrecision) -I$(APlusPlus)/include $(BOXLIB_DEFS) -Wno-deprecated CC_INCLUDES_FOR_DEPEND = $(Include) $(OverturePrecision) $(BOXLIB_DEFS) STL_INCLUDE = # HAS_MODFL_PROTO is for a perl compile error of OvertureParser.C for gcc 3.4.3 # CC_INCLUDES = $(CC_FLAGS) $(CC_INCLUDES_FOR_DEPEND) $(STL_INCLUDE) # CC_FLAGS = -fPIC -DHAS_MODFL_PROTO # wdh 081212 -- remove HAS_MODFL_PROTO since it fails with xlc 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) # The ifort compiler can take for-ever if we use -g so use -O instead #ifort FFLAGSG = $(FF_FLAGS) $(OverturePrecision) $(FortranDouble) -O $(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) HDF_LIBS = $(OV_RPATH)$(HDF)/lib -L$(HDF)/lib -lmfhdf -ldf -ljpeg -lz #xlc HDF_LIBS = $(OV_RPATH)$(HDF)/lib -L$(HDF)/lib -lmfhdf -ldf -lz FORTRAN_LIBS = #gcc FORTRAN_LIBS =-lnsl -lg2c #gfortran FORTRAN_LIBS =-lgfortran # This next line will be used with the Portland group compiler (the configure script will set the next line) # 080623: aio_read etc. are found in /usr/lib/librt.so PGI_LIB = #pgf77 FORTRAN_LIBS = $(OV_RPATH)$(PGI_LIB) -L$(PGI_LIB) -lpgftnrtl -lpgmp -lpgc -lrt -lstd # This next line will be used with the intel fortran compiler. (the configure script will set the next line) # g2c may be needed by lapack (for cg) IFORT_LIB = #ifc FORTRAN_LIBS = $(OV_RPATH)$(IFORT_LIB) -L$(IFORT_LIB) -lF90 -lIEPCF90 -lg2c # old ifc FORTRAN_LIBS = -Wl,-rpath,/opt/intel/compiler60/ia32/lib -L/opt/intel/compiler60/ia32/lib -lF90 -lIEPCF90 -L/usr/lib/gcc-lib/i386-redhat-linux/2.96 -lg2c # Here are the libraries for the new intel compiler (called ifort instead of ifc) (use "ifort -dryrun" to see libraries needed) #ifort FORTRAN_LIBS = $(OV_RPATH)$(IFORT_LIB) -L$(IFORT_LIB) -lifcoremt # Libraries using xlf and linux #xlf FORTRAN_LIBS = -L/opt/ibmcmp/xlf/bg/11.1/bglib -lxlopt -lxl -lxlf90 -lxlfmath -L/opt/ibmcmp/xlsmp/bg/1.7/bglib/ -lxlomp_ser LIB_TARGETS= lib_date libso_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 = -shared #xlc SOFLAGS = -qmkshrobj -qnostaticlink # the next line is changed by the configure script OpenGLibs= GLIBS= $(OV_PERL_LIBRARIES) $(OV_RPATH)$(OPENGL_LIB) -L$(OPENGL_LIB) $(OpenGLibs) $(OV_MOTIF_LIBRARIES) $(OV_X_LIBRARIES) -lm # On Don's machine the pgi libraries need to follow the mpi libraries : # FLIBS= $(OV_RPATH)$(Overture)/lib $(LDFLAGS)$(Overture)/lib $(LibOverture) $(HDF_LIBS) $(FORTRAN_LIBS) $(AppLibraries) 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 On 4/23/2012 7:07 PM, Bill Henshaw wrote:
Hi Joe:If you look at the compile line you will see no -I that points to A++.h -- this should help you track downthe problem. ...Billmpixlcxx_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.COn 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 noX11Do 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.v24Using Mesa `OpenGL' libraries since libMesaGL found in /home/jpbernst/Code/Mesa-7.10.3/libMesa does not have GLwDrawA.h in the include dirINFO: I am going to copy my version of the GLw files into Overture/static directoryperlloc = [/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.bgpUsing 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.14and 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.Crun makedepend ... ...done touch depend_datempixlcxx_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.CGenericDataBase.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"