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

20010917: McIDAS-X/XCD 7.8 build fail on Solaris 8 using gcc/f2c



>From: "Patrick O'Reilly" <address@hidden>
>Organization: University of Northern Iowa
>Keywords: 200109172140.f8HLeL128622 McIDAS-X 7.80

Patrick,

>I am installing McIDAS-X / XCD on a Sun Sparc running Solaris 8.  I am
>using gcc/f2c compilers to build, and followed instructions on setting
>up that install.  I tried to build and got a couple errors.  I am
>sending a text file with the whole process, and my makelog file, so
>maybe you can spot a problem.

OK.

>I checked my /usr/ucb for cc, since  it
>says that it isn't installed, and it's there.

You do _not_ want to use /usr/ucb/cc since it is a non-ANSI conforming
C compiler, and McIDAS requires use of an ANSI C compiler for building.

>Also, there seems to be
>some problem with the ~mcidas/mcidas7.8/src/mcfc file.

I will address the error seen related to mcfc in the section with output
from it below.

>I am not sure
>where to go, as the mcfc file came with the package, and I think I have
>set up the system correctly.  If you see anything, or have any other
>questions, please let me know.  Thank you!

>[mcidas@blizzard]#make all
>cd ../netcdf && \
>                 sh configure --prefix=/export/home/mcidas
>creating cache ./config.cache
>checking for m4... m4
>checking user-defined C compiler "/usr/local/bin/gcc"
>checking C compiler... works
>checking how to make dependencies... cc -xM
>configure: warning: Empty CXX variable
>configure: warning: The C++ interface will not be built
>checking how to run the C preprocessor... /usr/local/bin/gcc -E
>checking user-defined Fortran compiler =
>"/export/home/mcidas/mcidas7.8/src/mcfc"... configure: warning: =
>/export/home/mcidas/mcidas7.8/src/mcfc failed to compile test program
>configure: warning: The Fortran interface will not be built
>checking for Fortran .F compiler... 
>checking for Fortran preprocessor... /usr/local/bin/gcc -E
>checking for math library
>checking for tanh in -lc... no
>checking for tanh in -lm... yes
>checking for ar... ar
>checking for ranlib... ranlib
>checking for stdlib.h... yes
>checking for sys/types.h... yes
>checking for strerror... yes
>checking for working ftruncate()... yes
>checking for working alloca.h... yes
>checking for alloca... yes
>checking for st_blksize in struct stat... yes
>checking for IEEE floating point format... yes
>checking for ANSI C header files... yes
>checking for size_t... yes
>checking for off_t... yes
>checking for ssize_t... yes
>checking for ptrdiff_t... yes
>checking for uchar... no
>checking whether char is unsigned... no
>checking whether byte ordering is bigendian... yes
>checking size of short... 2
>checking size of int... 4
>checking size of long... 4
>checking size of float... 4
>checking size of double... 8
>checking size of off_t... 4
>checking size of size_t... 4
>checking for catman... catman
>checking for manual-page index command... catman -w -M $(MANDIR)
>checking binary distribution directory... =
>/home/ftp/pub/binary/dummy_system
>updating cache ./config.cache
>creating ./config.status
>creating macros.make
>udcreating fortran/nfconfig.inc
>creating libsrc/ncconfig.h
>cd ../jpeg && \
>                 sh configure --prefix=3D/export/home/mcidas
>checking for gcc... /usr/local/bin/gcc
>checking whether the C compiler (/usr/local/bin/gcc -0 ) works... yes
>checking whether the C compiler (/usr/local/bin/gcc -0 ) is a =
>cross-compiler... no
>checking whether we are using GNU C... yes
>checking how to run the C preprocessor... /usr/local/bin/gcc -E
>checking for function prototypes... yes
>checking for stddef.h... yes
>checking for stdlib.h... yes
>checking for string.h... yes
>checking for size_t... yes
>checking for type unsigned char... yes
>checking for type unsigned short... yes
>checking for type void... yes
>checking for working const... yes
>checking for inline... __inline__
>checking for broken incomplete types... ok
>checking for short external names... ok
>checking to see if char is signed... yes
>checking to see if right shift is signed... yes
>checking to see if fopen accepts b spec... yes
>checking for a BSD compatible install... ./install-sh -c
>checking for ranlib... ranlib
>checking libjpeg version number... 62
>creating ./config.status
>creating Makefile
>creating jconfig.h
>rm -f cal_init; cp cal_init.sh cal_init; chmod 755 cal_init
>rm -f disable_mcidas_gui; cp disable_mcidas_gui.sh disable_mcidas_gui; =
>chmod 755 disable_mcidas_gui
>rm -f enable_mcidas_gui; cp enable_mcidas_gui.sh enable_mcidas_gui; =
>chmod 755 enable_mcidas_gui
>rm -f fx; cp fx.sh fx; chmod 755 fx
>rm -f mcidasx; cp mcidasx.sh mcidasx; chmod 755 mcidasx
>rm -f mcservsh
>Updating mcservsh...
>chmod 755 mcservsh
>rm -f mcar; cp mcar.sh mcar; chmod 755 mcar
>rm -f mccomp; cp mccomp.sh mccomp; chmod 755 mccomp
>rm -f tclcomp
>sh tclcomp.sh /export/home/mcidas/tcl ../tcl ../tk tclcomp
>chmod 755 tclcomp
>rm -f mcfc; cp mcfc.sh mcfc; chmod 755 mcfc
>rm -f mcln; cp mcln.sh mcln; chmod 755 mcln
>rm -f mclog; cp mclog.sh mclog; chmod 755 mclog
>rm -f nav_init; cp nav_init.sh nav_init; chmod 755 nav_init
>rm -f xrefit; cp xrefit.sh xrefit; chmod 755 xrefit
>rm -f mcidas; ln mcstart.gui mcidas


Everything looks OK down to this point.  The fact that configure seemed to
run OK and was using gcc for the C compiler seemingly says that you did
setup environment variables as per the comments in the Notes and Warnings
web document:

http://www.unidata.ucar.edu/packages/mcidas/780/mcx/warnings_mcx.html

>##########################################
>Mon Sep 17 16:12:33 CDT 2001: BUILD BEGIN
>##########################################

>compile convdlmc.c:             FAILED (See =
>'/export/home/mcidas/mcidas7.8/src/makelog' for details.)

>*** Error code 1
>make: Fatal error: Command failed for target `convdlmc.o'
>[mcidas@blizzard]#

A compile of convdlm.c error typically indicates use of a non-ANSI C compiler.

>##########################################
>Mon Sep 17 16:12:33 CDT 2001: BUILD BEGIN
>##########################################
>
>./mccomp -vendor -I. -I../netcdf/libsrc -I../jpeg -I../zlib -c convdlmc.c
>rm -f convdlmc.o
>cc -c -I. -I../netcdf/libsrc -I../jpeg -I../zlib -I/usr/dt/include =
>-I/usr/openwin/include convdlmc.c
>/usr/ucb/cc:  language optional software package not installed
>compile        convdlmc.c:             FAILED

Note the comment about /usr/ucb/cc.  This verifies that you were using this
non-ANSI C compiler at this point.

>##########################################
>Mon Sep 17 16:22:28 CDT 2001: BUILD BEGIN
>##########################################
>
>./mccomp -vendor -I. -I../netcdf/libsrc -I../jpeg -I../zlib -c convdlmc.c
>rm -f convdlmc.o
>cc -c -I. -I../netcdf/libsrc -I../jpeg -I../zlib -I/usr/dt/include =
>-I/usr/openwin/include convdlmc.c
>/usr/ucb/cc:  language optional software package not installed
>compile        convdlmc.c:             FAILED

Same comment here.

>##########################################
>Mon Sep 17 16:43:28 CDT 2001: BUILD BEGIN
>##########################################
>
>./mccomp -gcc -I. -I../netcdf/libsrc -I../jpeg -I../zlib -c convdlmc.c
>rm -f convdlmc.o
>gcc -c -I. -I../netcdf/libsrc -I../jpeg -I../zlib -I/usr/dt/include
>-I/usr/openwin/include convdlmc.c

OK, now you are using gcc.  To get to this point, you should have edited
~mcidas/mcidas7.8/src/makefile and changed the VENDOR= setting.  This
is covered in the gcc/f2c users section of Notes and Warnings:

http://www.unidata.ucar.edu/packages/mcidas/780/mcx/warnings_mcx.html#gcc

>compile        convdlmc.c:             done
>./mccomp -gcc -I. -I../netcdf/libsrc -I../jpeg -I../zlib -c convdlmf.f
>rm -f convdlmf.o
>mcfc -c -I. -I../netcdf/libsrc -I../jpeg -I../zlib -I/usr/dt/include
>-I/usr/openwin/include convdlmf.f
>
>Unable to find f2c.h header file in /usr/local/fc/include
>/usr/local/f2c/include         /usr/local/include/fc   /usr/local/include/f2c 
>/usr/local/include             /usr/include            /usr/include/fc         
>/usr/include/f2c
>Install f2c and add the directory of f2c.h header file to list of
>searched dirctories defined by INCDIR at the top of the file
>mcidas#.###/src/mcfc.sh
>
>compile        convdlmf.f:             FAILED

This is saying that the f2c header file was not found in one of the
locations searched by mcfc.  When you installed f2c on your machine,
where did the f2c include file (f2c.h), library (libf2c.a), and
executable (f2c) get installed?  The recommendation is to make sure to
put these in /usr/local directories as follows:

module    install in directory
---------+--------------------
f2c.h     /usr/local/include
libf2c.a  /usr/local/lib
f2c       /usr/local/bin

Are the files there?  If not, can you move/copy them there and then
continue your build?

Tom