[overture] Re: Installing Overture.v24 on Mac OSX Lion

  • From: "J. P. Bernstein" <astro@xxxxxxx>
  • To: overture@xxxxxxxxxxxxx
  • Date: Mon, 5 Mar 2012 16:37:09 -0600

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
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 


Other related posts: