[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 961125: not working on SGI r10000
- Subject: Re: 961125: not working on SGI r10000
- Date: Mon, 25 Nov 1996 11:12:25 -0700
>To: address@hidden
>From: Harvey Seim <address@hidden>
>Subject: not working on SGI r10000
>Organization: .
>Keywords: 199611251550.AA10544
Hi Harvey,
> I have tried to build the libraries several ways and can't get
> things to work right. If I do a default installation (just leaving
> FFLAGS and CFLAGS as -O) I get the following message when I try to
> compile my code that uses the netCDF commands:
>
> f77 -col120 -64 -r4 -mips4 -r10000 -O3 cfd.o prefactor.o
> integration_weights.o set_BC_flag.o read_ICS.o read_metrics.o
> derivs_1.o derivs_2.o divergence.o filters_4.o grad2_pd.o grad2_u.o
> grad2_v.o grad2_w.o diss.o set_eddy_viscosity.o set_K_fringe.o
> gradient.o init_mud.o project.o apply_BCS.o psolve_mud.o rhs_1.o
> rhs_2.o rhs_3.o rhs_4.o step_AB2.o step_E1.o MUD_3.o filter4.o
> energetics.o io_fluxes.o set_inflow.o write3D_nc.o writeXZ_nc.o
> writeXY_nc.o writeYZ_nc.o read_restart_file.o write_restart_file.o
> stretchz.o -lnetcdf -o cfd.x
> ld64: FATAL 12: Expecting /usr/local/lib64/libnetcdf.a objects:
> ld64: Segmentation fault. Removing output file...
> f77 ERROR: /usr/lib64/cmplrs/ld64 returned non-zero status 1
> *** Error code 1 (bu21)
If you do a default installation, does your "make test" work for the
Fortran interface? If so, the f77 flags used in that test are they way
to compile and link Fortran code with the netcdf library. I just tried
building and testing netCDF 2.4.3 on an irix64 6.2 platform, and the
Fortran test worked OK with no f77 flags set. (The ncdump test failed,
however. I'll be investigating that ...).
In your environment, you have
> FFLAGS=-64 -mips4 -r10000
> CFLAGS=-64 -mips4 -r10000
set. We haven't tested netcdf with this combination, but one problem is
that the way the netCDF Fortran jackets are generated (using the m4
macro processor and the definitions in netcdf/fortran/irix64.m4) takes no
account of the FFLAGS or CFLAGS environment variables, so may be
inconsistent with these if they are not the default. There is more
discussion of the SGI compile flag issues in a support message you can
see at
http://www.unidata.ucar.edu/glimpse/netcdf/1946
In general, we have begun to recommend using "cc -n32" for C compiles
and unadorned "f77" for Fortran when building the netCDF library on
SGI's, but the configure script for irix64 platforms doesn't provide the
"-n32" flag. I'm CC:ing Steve Emmerson, who maintains the configure
script, in case he can provide more insight on this.
_____________________________________________________________________
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
> Trying to compile my source as new 32bit code made me think the
> library was old 32bit output. So I tried specifying the flags to
> force compilation to be 64 bit, mips4, on an r10000 (see env output
> below). Then the make for netcdf bombs. I'd appreciate any
> suggestions you might have on how to proceed. Thanks.
>
> Harvey Seim
>
> Here's the output you requested:
>
> from uname -a: IRIX64 remora 6.2 06101031 IP28
>
> from env:
>
> DISPLAY=:0.0 HOME=/usr/people/harvey HOST=remora HOSTTYPE=iris4d
> LM_LICENSE_FILE=/usr/local/matlab/etc/license.dat LOGNAME=harvey
> MAIL=/usr/mail/harvey
> MANPATH=/usr/share/catman:/usr/share/man:/usr/catman:/usr/man:/usr/local/man
> MATLAB=/usr/local/matlab
> MATLABPATH=/usr/people/harvey/matlab/seawater:/usr/people/harvey/matlab/seawater_gregg:/usr/people/harvey/matlab/contour
> MSGVERB=text:action NOMSGLABEL=1 NOMSGSEVERITY=1
> PATH=/usr/sbin:/usr/bsd:/sbin:/usr/bin:/bin:/etc:/usr/etc:/usr/bin/X11:/usr/local/bin:/usr/people/harvey/bin
> PWD=/usr/local/src/netcdf-2.4.3/src SHELL=/bin/tcsh SHLVL=1
> TERM=iris-ansi TZ=EST5EDT USER=harvey
> XUSERFILESEARCHPATH=/usr/people/harvey/.desktop-remora/%N:/usr/people/harvey/%N:/usr/people/harvey/%L/%N%C:/usr/people/harvey/%l/%N%C:/usr/people/harvey/%N%C:/usr/people/harvey/%L/%N:/usr/people/harvey/%l/%N
> WINDOWID=46137348 PS1=#
> FFLAGS=-64 -mips4 -r10000
> CFLAGS=-64 -mips4 -r10000
>
> output from configure:
>
> loading cache ./config.cache
> checking for catman... no
> checking for fill-value usage... new usage
> checking the installation prefix... /usr/local
> checking the installation exec-prefix... /usr/local
> checking for cc... (cached) cc
> checking type of operating system... irix64
> checking for ranlib... (cached) :
> checking how to run the C preprocessor... (cached) cc -E
> checking the C preprocessor... works
> checking for f77... (cached) f77
> checking for CC... (cached) CC
> checking for yacc... (cached) yacc
> checking for neqn... (cached) cat
> configure: warning: ./configure: Can't find program `neqn'; setting to `cat'
> checking for tbl... (cached) cat
> configure: warning: ./configure: Can't find program `tbl'; setting to `cat'
> checking for ar... (cached) ar
> checking for makeinfo... no
> checking for tar flags... -chof
> checking for dependency generation mechanism... cc -M
> checking for C position-independent-code compile-option...
> checking whether cross-compiling... (cached) no
> checking size of int... (cached) 4
> checking size of long... (cached) 8
> checking type of nclong... int
> checking endianess... big endian
> checking type of netlong... int
> checking type of internal netlong... long
> checking for XDR header-file... -I/usr/include/rpc
> checking for XDR library...
> checking for xdr_long in default library... yes
> checking XDR implementation... ok
> checking type pointed to by inline XDR function... long
> checking XDR structure xdr_ops for x_getint member... yes
> checking which XDR module to use... xdrposix
> checking for function prototype... yes
> checking for working const... yes
> checking for variadic function support... yes
> checking for strerror... (cached) yes
> checking compiler options for IEEE arithmetic...
> checking for size of block buffer... 8192
> checking for float.h... (cached) yes
> checking for stdlib.h... (cached) yes
> checking C header file <stdlib.h> for function malloc()... declared
> checking for package version... 2.4
> checking binary distribution directory... /home/ftp/pub/binary/ip28-irix64
> creating ./config.status
> creating Makefile
> creating xdr/Makefile
> creating libsrc/Makefile
> creating fortran/Makefile
> creating cxx/Makefile
> creating ncgen/Makefile
> creating ncdump/Makefile
> creating nctest/Makefile
> creating doc/Makefile
> creating port/master.mk
> creating port/Makefile
> creating libsrc/local_nc.h
> libsrc/local_nc.h is unchanged
> expanding `include's in file `Makefile'
> expanding `include's in file `xdr/Makefile'
> expanding `include's in file `libsrc/Makefile'
> expanding `include's in file `fortran/Makefile'
> expanding `include's in file `cxx/Makefile'
> expanding `include's in file `ncgen/Makefile'
> expanding `include's in file `ncdump/Makefile'
> expanding `include's in file `nctest/Makefile'
> expanding `include's in file `doc/Makefile'
> expanding `include's in file `port/master.mk'
> expanding `include's in file `port/Makefile'
>
> the config.log:
>
> This file contains any messages produced by compilers while
> running configure, to aid debugging if configure makes a mistake.
>
> configure:1197: cc -E conftest.c >/dev/null 2>conftest.out
> configure:1684: cc -c -64 -mips4 -r10000 conftest.c 1>&5
> configure:1845: cc -o conftest -64 -mips4 -r10000 conftest.c 1>&5
> configure:1875: cc -o conftest -64 -mips4 -r10000 conftest.c 1>&5
> configure:1960: cc -o conftest -64 -mips4 -r10000 conftest.c 1>&5
> configure:2169: cc -o conftest -64 -mips4 -r10000 conftest.c 1>&5
> configure:2218: cc -c -64 -mips4 -r10000 conftest.c 1>&5
> configure:2259: cc -c -64 -mips4 -r10000 conftest.c 1>&5
> configure:2292: cc -c -64 -mips4 -r10000 conftest.c 1>&5
> configure:2332: cc -c -64 -mips4 -r10000 conftest.c 1>&5
> "configure", line 2322: warning(1116): non-void function "t" (declared at line
> 2320) should return a value
> }
> ^
>
> configure:2510: cc -c -64 -mips4 -r10000 conftest.c 1>&5
> "configure", line 2502: error(1143): declaration is incompatible with
> "void *malloc(size_t)" (declared at line 154 of
> "/usr/include/stdlib.h")
> extern struct {int a; int b;} *malloc();
> ^
>
> 1 error detected in the compilation of "conftest.c".
>
>
> and the output from the make:
>
>
> making `all' in directory /usr/local/src/netcdf-2.4.3/src/port
>
>
> returning to directory /usr/local/src/netcdf-2.4.3/src
>
>
> making `all' in directory /usr/local/src/netcdf-2.4.3/src/xdr
>
>
> returning to directory /usr/local/src/netcdf-2.4.3/src
>
>
> making `all' in directory /usr/local/src/netcdf-2.4.3/src/libsrc
>
> cc -c -64 -mips4 -r10000 array.c
> cc -c -64 -mips4 -r10000 attr.c
> cc -c -64 -mips4 -r10000 cdf.c
> cc -c -64 -mips4 -r10000 dim.c
> cc -c -64 -mips4 -r10000 file.c
> cc -c -64 -mips4 -r10000 iarray.c
> cc -c -64 -mips4 -r10000 error.c
> cc -c -64 -mips4 -r10000 globdef.c
> cc -c -64 -mips4 -r10000 putget.c
> cc -c -64 -mips4 -r10000 putgetg.c
> cc -c -64 -mips4 -r10000 sharray.c
> case `uname -sv` in \
> 'AIX 3') \
> CFLAGS=`echo -64 -mips4 -r10000 | sed 's/-O[23]//g;s/-O//g'`; \
> cc -c $CFLAGS string.c; \
> ;; \
> *) \
> cc -c -64 -mips4 -r10000 string.c; \
> ;; \
> esac
> cc -c -64 -mips4 -r10000 var.c
> cc -c -64 -mips4 -r10000 xdrposix.c
> ar rcuv libnetcdf.a array.o attr.o cdf.o dim.o file.o iarray.o error.o
> globdef.o putget.o putgetg.o sharray.o string.o var.o xdrposix.o
> a - array.o
> a - attr.o
> a - cdf.o
> a - dim.o
> a - file.o
> a - iarray.o
> a - error.o
> a - globdef.o
> a - putget.o
> a - putgetg.o
> a - sharray.o
> a - string.o
> a - var.o
> a - xdrposix.o
> case "" in \
> '') ;; \
> *) ar rucv libnetcdf.a ;; \
> esac
> : libnetcdf.a
>
> returning to directory /usr/local/src/netcdf-2.4.3/src
>
>
> making `all' in directory /usr/local/src/netcdf-2.4.3/src/fortran
>
> ./fortc -L . -O irix64 common.inc > netcdf.inc
> ./fortc -L . -O irix64 jackets.src > jackets.c
> cc -c -64 -mips4 -r10000 -I../libsrc jackets.c
> ar rcuv ../libsrc/libnetcdf.a jackets.o
> a - jackets.o
> : ../libsrc/libnetcdf.a
>
> returning to directory /usr/local/src/netcdf-2.4.3/src
>
>
> making `all' in directory /usr/local/src/netcdf-2.4.3/src/ncdump
>
> cc -c -64 -mips4 -r10000 -I../libsrc ncdump.c
> cc -c -64 -mips4 -r10000 -I../libsrc vardata.c
> cc -c -64 -mips4 -r10000 -I../libsrc dumplib.c
> cc -o ncdump -64 -mips4 -r10000 ncdump.o vardata.o dumplib.o
> ../libsrc/libnetcdf.a
>
> returning to directory /usr/local/src/netcdf-2.4.3/src
>
>
> making `all' in directory /usr/local/src/netcdf-2.4.3/src/ncgen
>
> cc -c -64 -mips4 -r10000 -I../libsrc main.c
> cc -c -64 -mips4 -r10000 -I../libsrc load.c
> lex ncgen.l
> 496/8000 nodes(%e), 1695/6000 positions(%p), 234/4000 (%n), 14134 transitions,
> 301/20000 packed char classes(%k), 962/16000 packed transitions(%a),
> 1151/24000 output slots(%o)
> mv lex.yy.c ncgenyy.c
> yacc -d ncgen.y
> mv y.tab.c ncgentab.c
> mv y.tab.h ncgentab.h
> cc -c -64 -mips4 -r10000 -I../libsrc ncgentab.c
> "ncgen.l", line 40: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 42: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 43: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 44: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 45: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 46: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 47: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 49: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 51: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 52: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 53: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 66: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 70: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 74: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 82: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 93: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 100: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 107: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 142: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 157: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 161: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 165: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 169: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 186: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 190: warning(1110): statement is unreachable
> break;
> ^
>
> "ncgen.l", line 1177: warning(1167): pointer points outside of underlying
> object
> yycrank+-1, 0, 0,
> ^
>
> "ncgen.l", line 1178: warning(1167): pointer points outside of underlying
> object
> yycrank+-66, yysvec+1, 0,
> ^
>
> "ncgen.l", line 1182: warning(1167): pointer points outside of underlying
> object
> yycrank+-144, 0, yyvstop+8,
> ^
>
> "ncgen.l", line 1183: warning(1167): pointer points outside of underlying
> object
> yycrank+-185, 0, yyvstop+10,
> ^
>
> "ncgen.l", line 1217: warning(1167): pointer points outside of underlying
> object
> yycrank+-2, yysvec+6, 0,
> ^
>
> "ncgen.l", line 1219: warning(1167): pointer points outside of underlying
> object
> yycrank+-480, 0, 0,
> ^
>
> "ncgen.l", line 1228: warning(1167): pointer points outside of underlying
> object
> yycrank+-598, 0, yyvstop+113,
> ^
>
> "ncgen.l", line 1387: warning(1167): pointer points outside of underlying
> object
> yycrank+-1028, 0, 0,
> ^
>
> "ncgen.l", line 1396: warning(1167): pointer points outside of underlying
> object
> yycrank+-281, yysvec+211, yyvstop+442,
> ^
>
> cc -c -64 -mips4 -r10000 -I../libsrc escapes.c
> cc -c -64 -mips4 -r10000 -I../libsrc getfill.c
> cc -c -64 -mips4 -r10000 -I../libsrc init.c
> cc -c -64 -mips4 -r10000 -I../libsrc close.c
> cc -c -64 -mips4 -r10000 -I../libsrc genlib.c
> cc -o ncgen -64 -mips4 -r10000 main.o load.o ncgentab.o escapes.o getfill.o
> init.o close.o genlib.o ../libsrc/libnetcdf.a
>
> returning to directory /usr/local/src/netcdf-2.4.3/src
>
>
> making `all' in directory /usr/local/src/netcdf-2.4.3/src/nctest
>
> cc -c -64 -mips4 -r10000 -I../libsrc varget.c
> cc -c -64 -mips4 -r10000 -I../libsrc vargetg.c
> cc -c -64 -mips4 -r10000 -I../libsrc varput.c
> cc -c -64 -mips4 -r10000 -I../libsrc varputg.c
> cc -c -64 -mips4 -r10000 -I../libsrc vardef.c
> cc -c -64 -mips4 -r10000 -I../libsrc vartests.c
> cc -c -64 -mips4 -r10000 -I../libsrc vputget.c
> cc -c -64 -mips4 -r10000 -I../libsrc vputgetg.c
> cc -c -64 -mips4 -r10000 -I../libsrc driver.c
> cc -c -64 -mips4 -r10000 -I../libsrc cdftests.c
> cc -c -64 -mips4 -r10000 -I../libsrc dimtests.c
> cc -c -64 -mips4 -r10000 -I../libsrc rec.c
> cc -c -64 -mips4 -r10000 -I../libsrc atttests.c
> cc -c -64 -mips4 -r10000 -I../libsrc misctest.c
> cc -c -64 -mips4 -r10000 -I../libsrc add.c
> cc -c -64 -mips4 -r10000 -I../libsrc error.c
> cc -c -64 -mips4 -r10000 -I../libsrc emalloc.c
> cc -c -64 -mips4 -r10000 -I../libsrc val.c
> cc -c -64 -mips4 -r10000 -I../libsrc slabs.c
> cc -o nctest -64 -mips4 -r10000 varget.o vargetg.o varput.o varputg.o
> vardef.o vartests.o vputget.o vputgetg.o driver.o cdftests.o dimtests.o rec.o
> atttests.o misctest.o add.o error.o emalloc.o val.o slabs.o
> ../libsrc/libnetcdf.a
>
> returning to directory /usr/local/src/netcdf-2.4.3/src
>
>
> making `all' in directory /usr/local/src/netcdf-2.4.3/src/cxx
>
> CC -c -I../libsrc netcdf.cc
> CC -c -I../libsrc ncvalues.cc
> ar rcuv libnetcdf_c++.a netcdf.o ncvalues.o
> a - netcdf.o
> a - ncvalues.o
> case "" in \
> '') ;; \
> *) ar rucv libnetcdf_c++.a ;; \
> esac
> : libnetcdf_c++.a
> CC -c -I../libsrc nctst.cc
> CC nctst.o -L. -lnetcdf_c++ -L../libsrc -lnetcdf -o nctst
> ld:
> Archive: ../libsrc/libnetcdf.a has no table of contents (not searched)
> add one with 'ar ts'
> Unresolved:
> ncopen
> nccreate
> ncinquire
> ncdimid
> ncvarid
> ncvardef
> ncsetfill
> ncsync
> ncclose
> ncabort
> ncredef
> ncendef
> ncdiminq
> ncdimrename
> ncdimdef
> ncvarinq
> ncvarget
> ncvarput
> ncattput
> ncvarrename
> ncattname
> ncattinq
> ncattget
> ncattrename
> ncattdel
> ncopts
> ncerr
> nctypelen
> *** Error code 1 (bu21)
> *** Error code 1 (bu21)
>
>
> ------- End of Forwarded Message
>