If I remember correctly a "make clean" removes that file, which has bit me in the past.
On 03/05/2012 03:46 PM, Kyle K. Chand wrote:
Well, that is funny, one of the last things Overture's configure script does (supposed to do!) is write configure.options... There is even a check to make sure it opened correctly. What is the output when you run Overture's configure script? You might want to do this in another build directory so it does not mess up all the dependencies.Kyle mailto: chand1@xxxxxxxx phoneto: (925) 422 7740 On Mar 5, 2012, at 2:37 PM, J. P. Bernstein wrote:Thanks, Kyle.That worked. After several fixes for library location issues, make concluded without errors (is there supposed to be a "success" message)? I will send an email to the list recounting each step that I had to do to build Overture on Mac OSX Lion once I am able to run the tests (see below).When I tried to run check.p, I got: [alcfwl150:local/ztar/Overture.v24] root# ./check.punable to open /usr/local/Overture.v24/configure.options. Check your Overture env variable.1 at ./check.p line 30.The file in question is, indeed, missing from $Overture. Has it been superseded, or something?Best, Joe On Mar 5, 2012, at 12:48 PM, Kyle K. Chand wrote:Hi Joe,I have two fixes for this, one is nice and cryptic. I can't remember what exactly is broken about the configure (I thought it was fixed) but the configure script think you are using a build of Mesa rather than a distribution on the system or Macports (hence the relative directory references in the include file). What is your OpenGL set to?fix 1: Change $Overture/include/OvertureDefines.h so that the OV_USE_MESA variable is set to:#define OV_USE_MESA 2Note you will need to manually change this every time you do a configurefix 2: Build your own copy of the Mesa libraries somewhere and set your OpenGL environment variable accordingly. The nice thing about this fix is that you will get offscreen rendering for hardcopies (and no worries upon re-running configure).Regards, Kyle mailto: chand1@xxxxxxxx phoneto: (925) 422 7740 On Mar 5, 2012, at 9:31 AM, J. P. Bernstein wrote:Hello Kyle,The command you suggested did not work (see below). I was able to work around the issue by doing "sudo tcsh" to open a root shell and making a symbolic line to the Mesa lib (again, see below).The make ran for some time and then failed with: --------------------osRender.C:215:45: error: GL/../../src/mesa/main/context.h: No such file or directoryosRender.C:230: error: 'GLcontext' does not name a typeosRender.C:231: error: ISO C++ forbids declaration of 'GLvisual' with no typeosRender.C:231: error: expected ';' before '*' tokenosRender.C:232: error: ISO C++ forbids declaration of 'GLframebuffer' with no typeosRender.C:232: error: expected ';' before '*' tokenosRender.C:241: error: ISO C++ forbids declaration of 'GLchan' with no typeosRender.C:241: error: expected ';' before '*' tokenosRender.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 ')' tokenosRender.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 ')' tokenosRender.C:322: error: 'struct osmesa_context' has no member named 'gl_ctx' osRender.C:322: error: '_mesa_copy_context' was not declared in this scope 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: *** [all] Error 2 -------------------- Any thoughts? Best, Joe ++++++++++sudo and source issue++++++++++ sudo "source defenv; ./configure darwin useHDF5 FC=gfortran" resulted in: -------------------- usage: sudo -h | -K | -k | -L | -Vusage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [-u user name|#uid] usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U user name] [-u username|#uid] [-g groupname|#gid] [command]usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user name|#uid][-g groupname|#gid] [VAR=value] [-i|-s] [<command>]usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user name|#uid]file ... -------------------- So I tried this: --------------------alcfwl150:Overture.v24 jpbernst$ sudo source defenv; sudo ./configure darwin useHDF5 FC=gfortranPassword: sudo: source: command not found *** configure for machine = darwin **** *** machineType = [x86_64] ****First checking for proper definition of Overture environmental variables:ERROR: environmental variable APlusPlus = DOES NOT EXIST ERROR: environmental variable OpenGL = DOES NOT EXIST ERROR: environmental variable HDF = DOES NOT EXIST ERROR: environmental variable Overture = DOES NOT EXIST ERROR: environmental variable XLIBS = DOES NOT EXIST ERROR: Unable to find OpenGL library libGL or libMesaGL in /lib64 Check the OpenGL environmental variable and try againINFO: I am going to copy my version of the GLw files into Overture/static directoryChecking for the Motif header files in /include/Xm/ Unable to find the Motif or Lesstif file /include/Xm/Xm.hCheck your MOTIF environmental variable, MOTIF=[]. It seems to be incorrect.--------------------I then tried the following, which worked, as far as the env vars are concerned, but uncovered a Mesa location issue:-------------------- alcfwl150:Overture.v24 jpbernst$ sudo tcsh [alcfwl150:/usr/local/Overture.v24] root# source defenv[alcfwl150:/usr/local/Overture.v24] root# ./configure darwin useHDF5 FC=gfortran*** configure for machine = darwin **** *** machineType = [x86_64] ****First checking for proper definition of Overture environmental variables:APlusPlus = /usr/local/A++P++-0.8.0/A++/install OpenGL = /opt/local HDF = /opt/local Overture = /usr/local/Overture.v24 XLIBS = /opt/localERROR: Unable to find OpenGL library libGL or libMesaGL in /opt/local/lib64-------------------- I devised the following fix: -------------------- [alcfwl150:/usr/local/Overture.v24] root# mkdir /opt/local/lib64[alcfwl150:/usr/local/Overture.v24] root# ln -s /opt/local/lib/libOSMesa.7.dylib /opt/local/lib64/libMesaGL.dylib [alcfwl150:/usr/local/Overture.v24] root# ./configure darwin useHDF5 FC=gfortran *** configure for machine = darwin ******* machineType = [x86_64] ****First checking for proper definition of Overture environmental variables:APlusPlus = /usr/local/A++P++-0.8.0/A++/install OpenGL = /opt/local HDF = /opt/local Overture = /usr/local/Overture.v24 XLIBS = /opt/localUsing Mesa `OpenGL' libraries since libMesaGL found in /opt/local/lib64Mesa has GLwDrawA.h in the include dirINFO: I am going to copy my version of the GLw files into Overture/static directoryChecking for the Motif header files in /opt/local/include/Xm/ Using motif. perlloc = [/opt/local/lib/perl5/5.12.3/darwin-multi-2level/CORE]Using perl headers and lib from perllibs=[/opt/local/lib/perl5/5.12.3/darwin-multi-2level/CORE]Will link to the libraries perllibs=[-lperl -ldl -lm -lutil -lc] Using configuration file config/MakeDefs.darwin Using hdf 5Using Compilers: C++=g++, C=gcc, Fortran=gfortran (base version: C++=g++, C=gcc, Fortran=gfortran)Using g++ version g++ (GCC) 4.3.6 gcc lib directory = /opt/local/lib64 **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. -------------------- On Mar 2, 2012, at 5:02 PM, Kyle K. Chand wrote:Joe,The sudo might be breaking it as it probably starts a new shell. You can try this:sudo "source defenv; ./configure darwin useHDF5 FC=gfortran" Note that you will then have to do sudo "source defenv; make"to actually build it, assuming this works. This will not work if the default shell for root is something other than csh. For example, if it is bash then you will need to write a bash version of defenv that you can execute in the sudo command.Or login as root and do the install if you need it to have root ownership.regards, Kyle mailto: chand1@xxxxxxxx phoneto: (925) 422 7740 On Mar 2, 2012, at 2:28 PM, J. P. Bernstein wrote:Thanks, Kyle. That worked with:sudo ./configure --with-CC="/opt/local/bin/gcc -I/usr/include/malloc" --with-CXX="/opt/local/bin/g++ -I/usr/include/malloc" --prefix=`pwd`Moving on to the next step, the enviers set in defenv are not being inherited when trying to build Overture. I have the following set:% cat defenv #! /bin/csh -f # # Define environment variables for Overture ## see the install notes on the web for further explanation or Overture/doc/install.tex# # edit this file and change as appropriate for your system, # then type 'source defenv' # You will need to change the following: setenv XLIBS /opt/local setenv MOTIF /opt/local setenv OpenGL /opt/local setenv HDF /opt/local setenv APlusPlus /usr/local/A++P++-0.8.0/A++/install setenv Overture /usr/local/Overture.v24 but get: % sudo ./configure darwin useHDF5 FC=gfortran Password: *** configure for machine = darwin **** *** machineType = [x86_64] ****First checking for proper definition of Overture environmental variables:ERROR: environmental variable APlusPlus = DOES NOT EXIST ERROR: environmental variable OpenGL = DOES NOT EXIST ERROR: environmental variable HDF = DOES NOT EXIST ERROR: environmental variable Overture = DOES NOT EXIST ERROR: environmental variable XLIBS = DOES NOT EXIST ERROR: Unable to find OpenGL library libGL or libMesaGL in /lib64 Check the OpenGL environmental variable and try againINFO: I am going to copy my version of the GLw files into Overture/static directoryChecking for the Motif header files in /include/Xm/ Unable to find the Motif or Lesstif file /include/Xm/Xm.hCheck your MOTIF environmental variable, MOTIF=[]. It seems to be incorrect.Any thoughts?Sorry for the basic questions; while I am very experienced with linux, I am rather new to mac.Best, Joe On Mar 1, 2012, at 4:52 PM, Kyle K. Chand wrote:Joe,Below are some more recent instructions for a parallel build of Overture on a Mac, including an A++P++ configure line which does not include -mlongcall (that was for older PowerPC macs, I believe). For a serial build, the A++ configure line I currently use (on a OS X 10.5.8 machine) is: % ./configure --with-CC="/Users/chand1/MacPorts/bin/gcc -I/usr/include/malloc" --with-CXX="/Users/chand1/MacPorts/bin/g++ -I/usr/include/malloc" --prefix="/Users/chand1/Overture/A++P++/A++P++-0.7.9d/gcc4.3.3" Note, my MacPorts is not installed in /opt/local, you will need to adjust the configure line appropriately.For Overture, one would use % configure darwin useHDF5 FC=gfortran or something similar. Regards, Kyle mailto: chand1@xxxxxxxx phoneto: (925) 422 7740 Begin forwarded message:From: Kyle K.Chand <chand1@xxxxxxxx> Date: September 24, 2010 3:44:20 PM PDT To: Ramesh Balakrishnan <bramesh@xxxxxxxxxxxx> Cc: "overture@xxxxxxxxxxxxx" <overture@xxxxxxxxxxxxx> Subject: [overture] Parallel Overture on Mac Reply-To: "overture@xxxxxxxxxxxxx" <overture@xxxxxxxxxxxxx> Hi Ramesh,I managed to build Overture on the Mac. There were a few odd things.0) It appears that openmpi is on the mac by default in /usr, I had notknown that. You can also use the openmpi and mpich or lam mpi from macports. 1) the configure line for A++P++ is:./configure --prefix=`pwd` --without-PADRE --disable-shared --disable- mpirun-check --enable-PXX --with-CC="gcc -I/usr/include/malloc" --with-CXX="g++ -I/usr/include/malloc" --with-mpi-libs="-lmpi_cxx -lmpi" 2) To build A++P++, use : make MAKE=make install 3) make sure you have a parallel build of HDF5 4) configure Overture using something like: ./configure darwin parallel useHDF5 FC=gfortran5) Now you need to fix the PFLAGS variable in $Overture/GridFunction/Makefile in order to add -I/usr/include/malloc 6) In the primer directory Makefile, eliminate the -Wl-weak- framework,VecLib option from all the make variables 7) Fix ParallelUtility.C, the bool version of broadCast should be: void broadCast( bool & value, const int & fromProcessor ) { #ifdef USE_PPP if( Communication_Manager::Number_Of_Processors==0 ) return; int tmpValue = value; MPI_Bcast( &tmpValue, 1, MPI_INT, fromProcessor, MPI_COMM_WORLD); value = tmpValue; #endif } 8) Now you should be able to build Overture and also build the examples primer/pppWave and primer/pwaveI was able to build and run pppWave and pwave with two MPI tasks on mymac laptop. We are working the fixes into the next release. Let me know how this works! Kyle mailto: chand1@xxxxxxxx phoneto: (925) 422 7740