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

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

That must be it.

Kyle, the output says it wrote the file. I just did a reconfig, and the file 
was there. Indeed, I did not make clean before.

Best,

Joe


On Mar 5, 2012, at 4:52 PM, Erik Wilson wrote:

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