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

20050311: McIDAS build error (cont.)



>From: "Mark J. Laufersweiler" <address@hidden>
>Organization: OU
>Keywords: 200503111622.j2BGM8v2022849 McIDAS Fedora Core 2 64-bit

Hi again Mark,

I'm back...

>I seem to  be having an issue with Fedora 2 and 64 bit AMD procs
>when building Mcida. I am not sure what to munge to get this to
>build and I found nothing in the archive that addresses this issue.

I just made a run at building McIDAS-X v2004 on one of our dual Opteron
machines running Fedora Core 3 64-bit, and ran into what I now remember
was the same thing I ran into just before the AMS show:

- the failure you show is in the HDF portion of the distribution.  I 
  downloaded the latest HDF4 release from NCSA and used it in place
  of the version currently bundled with McIDAS v2004:

<as 'mcidas'>
cd ~mcidas/mcidas2004
ftp ftp.ncsa.uiuc.edu
<user> anoymous
<pass> email address
cd /HDF/HDF/HDF_Current/src
binary
get HDF4.2r1.tar.gz

mv hdf hdv.2004
gunzip -c HDF4.2r1.tar.gz | tar xvf -
mv HDF4.2r1 hdf

cd src

make mcx

  This fixed the configure step for the HDF build, but:

- the build failed when compiling a simple McIDAS Fortran function:

./mccomp -O -g77 -I. -I../netcdf/libsrc -I../hdf/hdf/src -I../hdf/mfhdf/libsrc 
-I../jpeg -I../zlib -I../tiff/libtiff -I../libgeotiff -c mnmx.for
mccomp: Using default optimizations
rm -f mnmx.o
g77 -c -Wuninitialized -fno-automatic -ff90-intrinsics-hide -O -I. 
-I../netcdf/libsrc -I../hdf/hdf/src -I../hdf/mfhdf/libsrc -I../jpeg -I../zlib 
-I../tiff/libtiff -I../libgeotiff mnmx.f
mnmx.f: In function `mnmx':
In file included from mnmx.f:0:
mnmx.f:108: internal compiler error: in gen_reg_rtx, at emit-rtl.c:819
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.
compile mnmx.for:               FAILED

  As you can see, the function mnmx.for tickled a bug in the g77 compiler.
  Line 108 is a RETURN before the final line in the file, END.

I tried several code modifications in mnmx.for, but none got around the
weird compiler failure.  I was able, however, to compile it by turning
optimization off.  Since mnmx.for compiles on all other platforms
including at least 3 64-bit ones (IRIX64, OSF/1, and FreeBSD 5.3), I am
left with the conclusion that there really is a bug in the g77 compiler
that mnmx.for somehow exercises.

The next error I ran into was:

cd ../hdf && make allnofortran
make[1]: Entering directory `/home/mcidas/mcidas2004/hdf'
make[1]: *** No rule to make target `allnofortran'.  Stop.
make[1]: Leaving directory `/home/mcidas/mcidas2004/hdf'
make: *** [../hdf/hdf/src/libdf.a] Error 2

The 'allnofortran' object is not included in the latest HDF Makefile.in
template.

- I edited ~mcidas/mcidas2004/src/makefile and changed the 'allnofortran'
  target for HDF makes to 'all' and restarted the build.  The next error
  was an undefined reference to 'sqrt' when linking hdiff:

gcc  -O -O3 -fomit-frame-pointer   -o hdiff  hdiff.o hdiff_array.o hdiff_gr.o 
hdiff_list.o hdiff_main.o hdiff_mattbl.o hdiff_gattr.o hdiff_misc.o hdiff_sds.o 
hdiff_table.o hdiff_vs.o ../libsrc/libmfhdf.a ../../hdf/src/libdf.a -ljpeg -lz  
-ljpeg -lz 
hdiff_array.o(.text+0x1109): In function `array_diff':
: undefined reference to `sqrt'
collect2: ld returned 1 exit status
make[3]: *** [hdiff] Error 1

  I got around this by defining the Unix environment variable LIBS:

setenv LIBS -lm

  and then rebuilding:

cd ~/mcidas2004/hdf
make distclean

cd ~/mcidas2004/src
make mcx

- the next problem I ran into was the linker not finding the libXext.a library

- the next problem after that was not finding the libjpeg.a library that is
  built as part of the HDF distribution in the McIDAS release.

>Any help would be grand. Thanks.

So, it appears that SSEC must have done some packaging work to get the HDF
build integrated into McIDAS.  I will touch base with the developer(s) there
to find out what the best way to proceed is.

Cheers,

Tom

>[mcidas@mandelbrot src]$ make all
>make: NOTICE: VENDOR compiler selection: -vendor
>if [ `uname -s` = "IRIX64" ]; then      \
>                        DO32="mips-sgi-irix6_32"        \
>                ; fi                                    \
>                ; cd ../hdf && \
>                  sh configure $DO32 --prefix=/usr/local/mcidas
>Configuring for a x86_64-unknown-linux-gnu host.
>Invalid configuration `x86_64-unknown-linux-gnu': machine
>`x86_64-unknown' not recognized
>Unrecognized host system name x86_64-unknown-linux-gnu.
>make: *** [../hdf/config.status] Error 1
>
>
>
>Environment:
>[mcidas@mandelbrot src]$ env
>HOSTNAME=mandelbrot.metr.ou.edu
>SHELL=/bin/bash
>TERM=vt100
>HISTSIZE=1000
>CPPFLAGS=-DNDEBUG -Df2cFortran
>MCHOME=/usr/local/mcidas
>QTDIR=/usr/lib64/qt-3.3
>OLDPWD=/usr/local/mcidas
>USER=mcidas
>McINST_ROOT=/usr/local/mcidas
>MCTABLE_WRITE=/usr/local/mcidas/data/ADDESITE.TXT
>PATH=/usr/local/mcidas/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr
> /X11R6/bin:/usr/local/mcidas/bin
>F90=
>INPUTRC=/etc/inputrc
>PWD=/usr/local/mcidas/mcidas2004/src
>LANG=en_US.UTF-8
>CXX=
>SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
>MCDATA=/usr/local/mcidas/workdata
>SHLVL=1
>HOME=/usr/local/mcidas
>MCTABLE_READ=/usr/local/mcidas/workdata/MCTABLE.TXT;/usr/local/mcidas/data/ADD
> ESITE.TXT
>CFLAGS=-O
>FC=g77
>LOGNAME=mcidas
>XCD_disp_file=/usr/local/mcidas/workdata/DECOSTAT.DAT
>MCGUI=/usr/local/mcidas/bin
>LESSOPEN=|/usr/bin/lesspipe.sh %s
>MCPATH=/usr/local/mcidas/workdata:/usr/local/mcidas/data:/usr/local/mcidas/hel
> p
>CC=gcc
>DISPLAY=localhost:11.0
>G_BROKEN_FILENAMES=1
>FFLAGS=-O -Wuninitialized -fno-automatic -ff90-intrinsics-hide
>_=/bin/env
>
>-- 
>--------------------------------------------------------------------
>  Dr. Mark J. Laufersweiler     |
>  School of Meteorology         |     Those who give up essential
>  University of Oklahoma        |   liberties for temporary safety
>  address@hidden                | deserve neither liberty nor safety.
>  (405) 325-6032                |             - Benjamin Franklin
>  (405) 325-7689  (fax)         |
>
--
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.