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

[McIDAS #MPH-556293]: Error building mcidas2009 distribution



Hi Angel,

re: login access to your machine
> For anything you want to see you can log in our machine (xxx.xxx.xxx.xxx) to
> the user mcidas with the passw xxxx.

Thanks for the login access.  It helped me to better understand the McIDAS-X
build problem you reported...

re:
> Before migrating to Ubuntu we make a try in OpenSUSE changing, as you
> suggest, from Bash to Bourne shell, however a simpler version called Ash
> shell (unfortunatelly we did't find a full version for OpenSUSE).

I recommend continuing to use 'bash' as it is standard on Linux systems.

re:
> We could not finish the built process but we go much farther (thanks a lot
> for your suggestion) and we get new errors that seems smaller as shown in
> the end of the attached new makelog file.
> 
> As far as we can see, it seems that the make do not find D__64BIT__ program
> but this is an environment variable? it should work if the make looks for
> -D__64BIT__ instead.

After reviewing the environment I found when I logged in as 'mcidas', I
learned that the build procedure detailed in the Unidata McIDAS-X Users Guide
was not followed:

Unidata HomePage
http://www.unidata.ucar.edu

  Software -> McIDAS
  http://www.unidata.ucar.edu/software/mcidas

    Documentation and Training
    http://www.unidata.ucar.edu/software/mcidas/#documentation

      McIDAS user's guide
      http://www.unidata.ucar.edu/software/mcidas/current/users_guide/toc.html

Chapter 1 - Installing and Configuring McIDAS-X
http://www.unidata.ucar.edu/software/mcidas/current/users_guide/InstallingandConfiguringMcIDAS-X.html

  Installing McIDAS-X on Unix or Mac OS X Workstations
  
http://www.unidata.ucar.edu/software/mcidas/current/users_guide/InstallingMcIDAS-XonUnixorMacOSXWorkstations.html

    Preparing the mcidas Account
    
http://www.unidata.ucar.edu/software/mcidas/current/users_guide/PreparingthemcidasAccount.html#22841

The key part included in the 'Preparing the mcidas Account' page is the
instruction for "sourcing" the environment files in the McIDAS distribution.
For Bash shell users, this is essentially:

<while logged in as 'mcidas'>

cd ~mcidas
-- download the Unidata McIDAS-X distribution source file,
   and the 'mcunpack' and 'mcinet2009.sh' scripts
chmod +x mcunpack
export McINST_ROOT=$HOME
./mcunpack

-- edit the .bash_profile (or .bashrc) file and add the following
   defines:

# McINST_ROOT and VENDOR conforming shell defines
# needed to bulid McIDAS
McINST_ROOT=$HOME
VENDOR=-g77
export McINST_ROOT VENDOR

# 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
# MySQL_ROOT=TRUE
# export MySQL_ROOT

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

NB: if you are using the 'gfortran' compiler (you are), you need to change

VENDOR=-g77

to:

VENDOR=-gfortran

At this point you need to "activate" the code added to .bash_profile (.bashrc in
your case).  Typically a user simply logs off and then logs back on.  Since
your 'mcidas' user is currently setup to use the Ash shell instead of Bash,
all I had to do was:

exec /bin/bash

This will result in the entries added to .bashrc being read and, therefore,
"activated" (put them in scope).

At this point, I attempted a clean build of McIDAS-X:

cd ~/mcidas2009/src
make clobber
make

The build proceeded normally until the compilation of mci.c:

compile mci.c:                  FAILED (See 
'/home/mcidas/mcidas2009/src/makelog' for details.)

A quick review of the McIDAS make log file, makelog, reveals that a needed
library/package has not been installed:

gcc -c -g -I. -I../netcdf/libsrc -I../hdf/hdf/src -I../hdf/mfhdf/libsrc 
-I../jpeg -I../libpng -I../zlib -I../tiff/libtiff -I../libgeotiff 
-I../jasper/src/libjasper/include -I../g2clib -I../bzip2 mci.c
In file included from mci.c:76:0:
mci.h:31:33: fatal error: X11/extensions/XShm.h: No such file or directory
compilation terminated.
compile mci.c:                  FAILED

The XShm.h header file and needed libraries are contained in the 
libXext-devel package.  This package is available as an RPM for
OpenSuSE 12.X.  I found the package using 'X11/extensions/XShm.h suse'
in a Google search:

RPM OpenSuSE 12.X libXext-devel 1.3.1 x86_64 rpm
http://rpm.pbone.net/index.php3/stat/4/idpl/18521230/dir/opensuse_12.x/com/libXext-devel-1.3.1-2.1.2.x86_64.rpm.html

Since I do not have 'root' access on your machine, I am unable to install the
package for you.

Comment:

- the point at which the McIDAS-X build failed was almost at the end
  of the build process

  Given this, it is VERY likely that as soon as the libXext-devel package
  is installed, the build can be restarted and will run to completion.

Here are the steps that need to be run now:

-- install the libXext-devel package as 'root'

login as 'mcidas'
exec /bin/bash

** better yet, change the shell of 'mcidas' back to 'bash' and then login
   as 'mcidas'

<as 'mcidas' in the 'bash' shell>
cd ~mcidas/mcidas2009/src
make
make install

re:
> We prefer to install mcidas under a 64 bit architecture instead 32 in order
> to work easily with larger data files.

The executables created during the build I ran are 64-bit.  Here is one
example of how to check this:

cd ~mcidas/mcidas2009
file imgdisp.k
imgdisp.k: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically 
linked (uses shared libs), for GNU/Linux 2.6.32, 
BuildID[sha1]=0xb14f49e4bacdb2a19cc5e832e26c99021f2407e2, not stripped

Again, as soon as the libXext-devel package is installed (must be done as 
'root'),
the McIDAS build should run to completion.

Cheers,

Tom
--
****************************************************************************
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: MPH-556293
Department: Support McIDAS
Priority: Normal
Status: Closed