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.p unable 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 2 > Note you will need to manually change this every time you do a configure > > fix 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 >> directory >> 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:241: error: ISO C++ forbids declaration of 'GLchan' with no type >> osRender.C:241: 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: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 | -V >> usage: 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 >> user >> name|#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=gfortran >> Password: >> 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 again >> INFO: I am going to copy my version of the GLw files into Overture/static >> directory >> Checking for the Motif header files in /include/Xm/ >> Unable to find the Motif or Lesstif file /include/Xm/Xm.h >> Check 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/local >> ERROR: 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/local >> Using Mesa `OpenGL' libraries since libMesaGL found in /opt/local/lib64 >> Mesa has GLwDrawA.h in the include dir >> INFO: I am going to copy my version of the GLw files into Overture/static >> directory >> Checking 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 5 >> Using 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.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. >> -------------------- >> >> 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 again >>>> INFO: I am going to copy my version of the GLw files into Overture/static >>>> directory >>>> Checking for the Motif header files in /include/Xm/ >>>> Unable to find the Motif or Lesstif file /include/Xm/Xm.h >>>> Check 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 not >>>>>> known 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=gfortran >>>>>> >>>>>> 5) 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/pwave >>>>>> >>>>>> I was able to build and run pppWave and pwave with two MPI tasks on my >>>>>> mac laptop. We are working the fixes >>>>>> into the next release. >>>>>> >>>>>> Let me know how this works! >>>>>> Kyle >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> mailto: chand1@xxxxxxxx >>>>>> phoneto: (925) 422 7740 >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > >