Hi Art, I hope that you had as great a Christmas as I had! On to building the ldm-mcidas decoders under Solaris 11... First, I believe that your intention is to build everything in 64-bit mode: - this works nicely for the LDM as Steve has engineered the LDM configure script to build in 64-bit mode on 64-bit machines - this does not, however, work for McIDAS. McIDAS is built in 32-bit mode by default. A quick check of your McIDAS v2007 build confirms that your installation was built in 32-bit mode: /usr/local/ldm/etc% file ~mcidas/bin/imgdisp.k /export/home/mcidas/bin/imgdisp.k: ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, stripped Second, since the ldm-mcidas package requires linking against both the McIDAS and LDM libraries, I immediately ran into a problem since the LDM was built in 64-bit mode and McIDAS was built in 32-bit mode. Third, since I only had the login as 'ldm', I decided to build a 32-bit version of ldm-6.6.5 and use it in the build of the ldm-mcidas package. In the process of creating executables for ldm-mcidas-2006 (I downloaded an as yet unreleased version of ldm-mcidas for use on your system), I did the following: - create the ~ldm/ldm-mcidas directory - move ~ldm/ldm-mcidas-2004/ and ~ldm/ldm-mcidas-2004.tar.gz to ~ldm/ldm-mcidas - copy ldm-mcidas-2006.tar.gz from my development directory at the UPC to ~ldm/ldm-mcidas - create needed environment variable definitions in ~ldm/.cshrc needed to build the LDM in 32-bit mode and to build ldm-mcidas-2006. These defines are now commented out AND commented in your .cshrc file: # Defines for building 32-bit ldm-mcidas # # Notes: 20071226 (TCY/Unidata) # # 1) must specify CC as /usr/bin/cc to force 32-bit LDM build # # 2) must specify CFLAGS as '-m32' to force 32-bit LDM build # # 3) must specify LDFLAGS as '-m32' to force 32-bit LDM build # # 4) after specifying CC, CFLAGS, and LDFLAGS, build and install # the LDM in 32-bit mode. # # 5) since we want to run the LDM as a 64-bit application, but # link ldm-mcidas against the 32-bit library and use 32-bit-specific # include files, you need to copy the 32-bit LDM library to a # separate location. I chose: # # /usr/local/ldm/32bit/include # /usr/local/ldm/32bit/lib # # 6) uncomment the following definitions and 'source .cshrc' before # attempting to build the ldm-mcidas-2006 decoders from source # (location: /usr/local/ldm/ldm-mcidas/ldm-mcidas-2006/src) # setenv CC /usr/bin/cc # setenv CFLAGS -m32 # setenv LDFLAGS -m32 # setenv CPP_LDM -I/usr/local/ldm/32bit/include # setenv LD_LDM '-L/usr/local/ldm/32bit/lib -lldm' # setenv CPP_MCIDAS -I/export/home/mcidas/mcidas2007/src # setenv LD_MCIDAS '-L/export/home/mcidas/lib -lmcidas' # setenv CPP_NETCDF -I/export/home/mcidas/mcidas2007/netcdf/libsrc # setenv LD_NETCDF '-L/export/home/mcidas/mcidas2007/netcdf/libsrc -lnetcdf' - build a 32-bit version of LDM-6.6.5: source ~ldm/.cshrc cd ~ldm/ldm-6.6.5-Unidata-fixed/src make distclean ./configure --disable-max-size make make install - save the 32-bit versions of the LDM library and include files needed for linking the ldm-mcidas package: mkdir ~ldm/32bit mkdir ~ldm/32bit/include mkdir ~ldm/32bit/lib cp ~ldm/ldm-6.6.5-Unidata-fixed/include/* ~ldm/32bit/include cp ~ldm/ldm-6.6.5-Unidata-fixed/lib/* ~ldm/32bit/lib cd ~ldm/ldm-6.6.5-Unidata-fixed/src make distclean - build the ldm-mcidas-2006 distribution: cd ~ldm/ldm-mcidas zcat ldm-mcidas-2006.tar.gz | tar xvf - cd ldm-mcidas-2006/src ./configure make make test make install cd ~ldm/ldm-mcidas ln -s ldm-mcidas-2006 runtime ln -s runtime/* . - comment all environment variable definitions in ~ldm/.cshrc that were strictly needed for the 32-bit ldm-mcidas build - logoff and then log back on - rebuild the LDM distribution in ~ldm/ldm-6.6.5-Unidata-fixed: cd ~ldm/ldm-6.6.5-Unidata-fixed/src ./configure make make install As I finish this email, you have newly built 32-bit versions of ldm-mcidas decoders in the ~ldm/ldm-mcidas/bin directory. You should now: - copy the ones you want to use to the ~ldm/decoders directory - copy ~ldm/ldm-mcidas/etc/SATANNOT and ~ldm/ldm-mcidas/etc/SATBAND to ~ldm/etc - copy ~ldm/ldm-mcidas/etc/SCHEMA to the directory in which ldm-mcidas POINT decoders (e.g., nldn2md and proftomd) are to write their output - uncomment any actions that use ldm-mcidas decoders in one or more of your LDM pattern-action files in ~ldm/etc - stop and restart your LDM to active the new changes - monitor your log files to make sure that everything is working OK If you want to try building the ldm-mcidas decoders in 64-bit (not needed), you must first build McIDAS in 64-bit mode. This should be done _after_ downloading the latest Unidata McIDAS addendum (currently v2007h) and after making a modification to your shell-specific configuration file (e.g., .cshrc for C Shell; .bash_profile for BASH; etc.) for the user 'mcidas'. The modification to make is the addition of the environment variable XARCH as follows (C shell example): # McINST_ROOT and VENDOR non-conforming shell defines # needed to build McIDAS setenv McINST_ROOT /export/home/mcidas setenv VENDOR -vendor # NOTE: uncomment the line that sets 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 setenv MySQL_ROOT /usr/local/mysql setenv XARCH "-xarch=amd64 -U__x86_64__" unsetenv MCPATH if ( -e $HOME/solaris/admin/mcidas_env.csh ) then source $HOME/solaris/admin/mcidas_env.csh endif After making this change, you can try building McIDAS in 64-bit mode: <as 'mcidas'> cd ~mcidas -- make changes to .cshrc as indicated above source .cshrc cd mcidas2007/update -- download the v2007h addendum: mcupdate.tar.gz, mcupdate.list.2007h ./mcupdate cd ../src make clobber make all If your 64-bit McIDAS build goes smoothly, then you could try building the ldm-mcidas decoders in 64-bit. Since I have not tried this, I can not state what problems you may run into. 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: BHL-779615 Department: Support ldm-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.