[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[McIDAS #GXX-371849]: self-contained McIDAS-X executable for OS X 12.x (Sierra)

Hi Alex,

> I tired to follow these instructions but there is no use. 


> Since it is
> somewhat nontrivial to build, are you certain there aren't pre-compiled
> binaries available for this software?

I can assure you that neither we nor SSEC make precompiled binary installations
of McIDAS-X available.

One quick question:

- what are your plans for using McIDAS-X?

  What I'm really asking is if you need the low level things that McIDAS-X
  provides IMHO better than other packages, or if your needs are at a
  "higher" (subject to interpretation) level?

  I want to be clear: it is not my intention to dissuade you from using
  McIDAS-X.  I am one of its developers, and I like it better than
  other packages for analyzing satellite imagery.

> This is the output from env:
> WRF_DIR=/Volumes/data_raid/WRFV331wof
> TERM_PROGRAM=Apple_Terminal
> SHELL=/bin/bash
> TERM=dtterm
> RMTPORT=12342
> TMPDIR=/var/folders/qw/m7w0w5551vqddjpf987b2h4c0000gp/T/
> Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.omlg1ZjmhN/Render
> OLDPWD=/Users/alex.fierro/Desktop
> TERM_SESSION_ID=DF2D102A-1343-4605-AAE1-9CF91A85E41D
> NETCDFPATH=/opt/local/netcdf4m64
> WRF_SRC_ROOT_DIR=/Volumes/data_raid/WRFV331wof
> NETCDF_INCDIR=/opt/local/netcdf4m64/include
> USER=alex.fierro
> SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.C7ZdjouyOw/Listeners
> __CF_USER_TEXT_ENCODING=0x1F6:0x0:0x0
> GASCRP=/Users/alex.fierro/Desktop/grads-1.9b4/data
> McINST_ROOT=/Users/alex.fierro/Desktop/mcidas
> PATH=/Users/alex.fierro/bin:/opt/local/openmpi/bin:./:/sw/bin:/bin:/Users/alex.fierro/anaconda3/bin:/Users/alex.fierro/miniconda3/bin:/Users/alex.fierro/bin:/opt/local/openmpi/bin:./:/sw/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin:/sw/lib:.:/opt/local/netcdf4m64/bin:/opt/local/hdf5m64/bin:/usr/local/ncarg/bin:/opt/local/bin:/opt/bin:/usr/local/bin:/usr/X11R6/bin:/usr/bin:/Users/mansell/bin:/opt/local/bin:/sw/bin/:/Users/alex.fierro/Desktop/XLMA_NEW/lma_lib:/Users/alex.fierro/miniconda3/bin:/Users/alex.fierro/bin:/sw/lib:.:/opt/local/netcdf4m64/bin:/opt/local/hdf5m64/bin:/usr/local/ncarg/bin:/opt/local/bin:/opt/bin:/usr/local/bin:/usr/X11R6/bin:/usr/bin:/Users/mansell/bin:/opt/local/bin:/sw/bin/:/Users/alex.fierro/Desktop/XLMA_NEW/lma_lib:/Users/alex.fierro/miniconda3/bin
> PWD=/Users/alex.fierro/Desktop/mcidas/mcidas2016/src
> NCARG_ROOT=/opt/local
> NETCDF_LIBDIR=/opt/local/netcdf4m64/lib
> LANG=en_US.UTF-8
> HOME=/Users/alex.fierro
> NETCDF=/opt/local/netcdf4m64
> LOGNAME=alex.fierro
> GADDIR=/Users/alex.fierro/Desktop/grads-1.9b4/data
> DISPLAY=/private/tmp/com.apple.launchd.7ER4r8lfW0/org.macosforge.xquartz:0
> _=/usr/bin/env

This shows that none of the environment variables needed to define
the environment in which McIDAS-X is built or run have been defined.

> I am confused by these set of instructions:
> VENDOR=-gfortran
> I have used bash for ~ 15 years and frankly do not understand this: why
> setting 'McINST_ROOT' to $HOME to later set it to VENDOR ?

McINST_ROOT defines where the root of the McIDAS installation lives. If
one installs McIDAS-X as the user 'mcidas' (you do not appear to want to
do this) and follows the instructions in the Unidata McIDAS-X User's
Guide, then the root of the McIDAS-X installation will be the HOME
directory of the user 'mcidas'.

If one wants to install McIDAS in a different account, McINST_ROOT's
definition needs to be altered to accurately reflect where the root
of the McIDAS installation will be.

Also, McINST_ROOT does _not_ get redefined to be VENDOR.  The line


says to export the definitions of the environment variables 
McINST_ROOT and VENDOR ... there is no '=' sign in the line.

> I think the correct syntax should be:
> export McINST_ROOT=$HOME
> export VENDOR=-gfortran

Either way works exactly the same as the other.  The only
difference is that 'export McINST_ROOT VENDOR' exports
two environment variables at once.

> None of these work, however.

I build McIDAS-X in the BASH shell as a matter of course.  The approach
I took was to put all of the environment variable setting into a 
script that gets installed in the 'admin' directory of the McIDAS-X
installation, and then inform the user to source the appropriate file.
Since the documentation is written assuming that the user doing the
installation is 'mcidas', and the unpacking of the McIDAS source file
is assumed to be done in ~mcidas, the lines to be added to one's
.bash_profile file would be:

# McINST_ROOT and VENDOR conforming shell defines
# needed to bulid McIDAS

# NOTE: uncomment the next two lines that set MySQL_ROOT if you
#       want to build with MySQL support:
#       - leave the value blank if MySQL is installed in a standard
#         location
#       - specify the value as the root directory of the MySQL
#         installation if MySQL is not installed in a standard
#         location
# export MySQL_ROOT

if [ -e $HOME/admin/mcidas_env.sh ]; then
  . $HOME/admin/mcidas_env.sh

I see now that it would be much better for the logic around sourcing the
environment file would be better written as:

if [ -e $McINST_ROOT/admin/mcidas_env.sh ]; then
  . $McINST_ROOT/admin/mcidas_env.sh

This way one's root of the McIDAS distribution would be completely set
by the McINST_ROOT environment variable.

The documentation should probably say that one needs to source the
environment file 'mcidas_env.sh' for whatever user is building McIDAS-X.
This oversight is a result of the assumption/recommendation that
McIDAS-X be installed in the 'mcidas' account.

> This is perhaps because "make clean' only cleans up the object files in the
> src directory. How can one make a complete clean of all the mcidas
> directories (i.e., libs as well)?.

The clean target adopted by SSEC for McIDAS, and used in the Unidata McIDAS
distribution is:

make clobber

> For instance, WRF has an option to clean everything with "clean -a", which
> I wasn't able to find here.

I would have carried through with use of 'make clean' or 'make distclean',
but I felt I needed to parallel what was adopted by SSEC so that MUG
users that wanted to use the Unidata distribution instead of the one from
SSEC would not find that everything was different.

> Cheers and thanks,

Just so you know, I am happy to login to your machine and (attempt to) build
and install McIDAS-X.


Unidata User Support                                    UCAR Unidata Program
(303) 497-8642                                                 P.O. Box 3000
address@hidden                                   Boulder, CO 80307
Unidata HomePage                       http://www.unidata.ucar.edu

Ticket Details
Ticket ID: GXX-371849
Department: Support McIDAS
Priority: Normal
Status: Closed
NOTE: All email exchanges with Unidata User Support are recorded in the Unidata 
inquiry tracking system and then made publicly available through the web.  If 
you do not want to have your interactions made available in this way, you must 
let us know in each email you send to us.

NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.