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

20031016: make-test-error-on-AIX



Lajos,

> To: address@hidden
> From: Lajos Nagy <address@hidden>
> Subject: make-test-error-on-AIX
> Organization: ?

The above message contained the following:

> We have an IBM Regatta (p690) and I've tried to compile netcdf
> 3.5.1-beta13, but in the last step - nf_test - linkage was failed.
> 
> Can anyone help me?
> 
> We would like to use metview 3.5 (from ECMWF) and its configure file for
> AIX has pwr3 option. Both programs have to be compiled with the same
> flags, so CFLAGS and CXXFLAGS have -qarch=pwr3 and -qtune=pwd3 flags in
> macros.make, too. 
> 
> I hope, the following items help to diagnose my installation problem(s).
> 
> 
> Regards
> Lajos Nagy 

The problem seems to be that the Fortran-77 interface is missing from
the netCDF library:

> Making `test' in directory /users/nala/netcdf-3.5.1-beta13/src/nf_test
...
>       xlf -q64 -o nf_test   test_get.o         test_put.o      nf_error.o     
>  nf_test.o       test_=
> read.o         test_write.o    util.o  fortlib.o ../libsrc/libnetcdf.a  -lm=20
> ld: 0711-317 ERROR: Undefined symbol: .nf_create
> ld: 0711-317 ERROR: Undefined symbol: .nf_strerror
> ld: 0711-317 ERROR: Undefined symbol: .nf_def_dim
...

I note from your "make" output that the Fortran-77 interface modules
do not appear to have been added to the netCDF library:

> Making `all' in directory /users/nala/netcdf-3.5.1-beta13/src/fortran
> 
>       xlc -q64 -c -qstrict -qarch=3Dpwr3 -qtune=3Dpwr3 -I../libsrc  -DNDEBUG 
> for=t-attio.c
...
> Target "all" is up to date.
> 
> Returning to directory /users/nala/netcdf-3.5.1-beta13/src

There should have been an invocation of the ar(1) utility at the end of
the above output in order to add the Fortran-77 interface modules to the
netCDF library.

Lets verify these hypotheses:

    1.  Are the Fortran-77 interface modules in the netCDF library?  
        Go to the top-level source directory and xecute something like 
        the following command:

            ar t libsrc/libnetcdf.A | fgrep fort-

    2.  If not, then why didn't your make(1) utility execute the rule to
        add the Fortran-77 interface modules to the netCDF library.  Go
        into the "fortran" subdirectory and execute the command

            make 

        Does it add object modules to the netCDF library,
        ../libsrc/libnetcdf.a?

        Does the file "FORCE" exist in the "fortran" subdirectory (it
        shouldn't)?

Regards,
Steve Emmerson