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

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

Sorry all. I mean that I DID do make clean before.

On Mar 5, 2012, at 4:56 PM, J. P. Bernstein wrote:

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