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

[netCDF #DXT-353886]: Attempted 64 bit netcdf classic install on Mas OSX Ver 10.8 with Absoft compiler



Hi Steve,

First, I don't see any obvious problem, but we don't have an Absoft
Fortran problem to test with on OSX here, so I can't reproduce the
problem.

I know it can be built, becausee Absoft advertizes a prebuilt
netCDF-4.0.1 library included on the "Distribution CD" that comes with
their compilers for OSX:

  http://www.absoft.com/Absoft_MacIntel_Compiler.htm

> The following relates to my earlier MAV-429067 problem, which was
> solved by adding the –E argument to sudo. Now it seems that the
> nf_test check is failing in make check, and after a couple of days
> trying different things and looking at the Unidata mailing list
> (e.g. #SKD-481794) I can't figure out how why.  Although the configure
> and make steps seem to go OK, the nf_test check fails with "Undefined
> symbols for architecture x86_64:".
> 
> To recap, I'm trying to install a 'Classic' netcdf with dap disabled
> on OSX Ver. 10.8 (Mountain Lion with Xcode Ver. 4.5.1 ).
> 
> I set the following environment variables before running configure.
> 
> export CC=/usr/bin/gcc
> export CPPFLAGS=-DAbsoftProFortran
> export FFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ -m64'
> export FCFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ –m64'
> export F90=/Applications/Absoft11.5/bin/f90
> export FC=/Applications/Absoft11.5/bin/f90
> export F77=/Applications/Absoft11.5/bin/f77
> export OBJECT_MODE=64

According to past experience, it's enough to just set 

  FC=f90
  FCFLAGS='-YEXT_NAMES=LCS –s –YEXT_SFX=_ –m64'

which will then be used for both the f77 and f90 compiler, so don't
bother to set F77, F90, or FFLAGS.  Also, in at least one case we've
encountered, it worked better to have the path to the compilers in
your PATH, and not in the F90 variable, and I see you have
/Applications/Absoft11.5/bin in your PATH, so don't also include it in
the compiler name.  Also, I don't think you need OBJECT_MODE=64 with
Absoft compilers, I think that's just an AIX thing.

> The following logs are in the attached  zip file:
> 
> The output of env  listing the environment variables is in env.log.
> 
> The output of sudo -E ./configure —prefix=/Applications/local
> —disable-netcdf-4 —disable–dap is in configure.log (the STDOUT output)
> and config.log.
> 
> The output of  sudo -E make  is in make.log.
> 
> The output of  sudo -E make  check is in check.log.
> 
> The netcdf version is -n 4.1.3 , and I'm trying to install it on a Mac
> running OSX Mountain Lion (10.8) with an Absoft Version 11.5 Fortran
> compiler
> 
> This was for aHi Steve,

First, I don't see any obvious problem, but we don't have an Absoft
Fortran problem to test with on OSX here, so I can't reproduce the
problem.

I know it can be built, becasue Absoft advertizes a prebuilt
netCDF-4.0.1 library included on the "Distribution CD" that comes with
their compilers for OSX:

  http://www.absoft.com/Absoft_MacIntel_Compiler.htm

> The following relates to my earlier MAV-429067 problem, which was
> solved by adding the –E argument to sudo. Now it seems that the
> nf_test check is failing in make check, and after a couple of days
> trying different things and looking at the Unidata mailing list
> (e.g. #SKD-481794) I can't figure out how why.  Although the configure
> and make steps seem to go OK, the nf_test check fails with "Undefined
> symbols for architecture x86_64:".
> 
> To recap, I'm trying to install a 'Classic' netcdf with dap disabled
> on OSX Ver. 10.8 (Mountain Lion with Xcode Ver. 4.5.1 ).
> 
> I set the following environment variables before running configure.
> 
> export CC=/usr/bin/gcc
> export CPPFLAGS=-DAbsoftProFortran
> export FFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ -m64'
> export FCFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ –m64'
> export F90=/Applications/Absoft11.5/bin/f90
> export FC=/Applications/Absoft11.5/bin/f90
> export F77=/Applications/Absoft11.5/bin/f77
> export OBJECT_MODE=64

According to past experience, it's enough to just set 

  FC=f90
  FCFLAGS='-YEXT_NAMES=LCS –s –YEXT_SFX=_ –m64'

which will then be used for both the f77 and f90 compiler, so don't
bother to set F77, F90, or FFLAGS.  Also, in at least one case we've
encountered, it worked better to have the path to the compilers in
your PATH, and not in the F90 variable, and I see you have
/Applications/Absoft11.5/bin in your PATH, so don't also include it in
the compiler name.  Also, I don't think you need OBJECT_MODE=64 with
Absoft compilers, I think that's just an AIX thing.

> The following logs are in the attached  zip file:
> 
> The output of env  listing the environment variables is in env.log.
> 
> The output of sudo -E ./configure —prefix=/Applications/local
> —disable-netcdf-4 —disable–dap is in configure.log (the STDOUT output)
> and config.log.
> 
> The output of  sudo -E make  is in make.log.
> 
> The output of  sudo -E make  check is in check.log.
> 
> The netcdf version is -n 4.1.3 , and I'm trying to install it on a Mac
> running OSX Mountain Lion (10.8) with an Absoft Version 11.5 Fortran
> compiler
> 
> This was for a 64 bit install, but because I suspect there were
> problems with that I also tried a 32 bit installation which didn't get
> past the configure step.  The output of sudo -E ./configure
> —prefix=/Applications/local —disable-netcdf-4 —disable–dap when a 32
> bit build was attempted , i.e. no –m64 in the FFLAGS, is in
> configure32.log (the STDOUT output) and config32.log.
> 
> 
> For the 64 bit install attempt check.log (i.e. sudo –E make check >
> check.log ) ends with a long series of undefined symbols messages….
> 
> 
> /bin/sh ../libtool --tag=F77   --mode=link
> /Applications/Absoft11.5/bin/f77 -I../fortran -I../include
> -I../f90 -YEXT_NAMES=LCS -s > -YEXT_SFX=_  -m64    -o nf_test
> test_get.o test_put.o nf_error.o nf_test.o test_read.o test_write.o
> ut> il.o fortlib.o ../fortran/libnetcdff.la  -lm -lcurl
> libtool: link: /Applications/Absoft11.5/bin/f77 -I../fortran
> -I../include -I../f90 -YEXT_NAMES=LCS -s -YEXT_SFX=_ -m64 -o
> .libs/nf_t> esHi Steve,

First, I don't see any obvious problem, but we don't have an Absoft
Fortran problem to test with on OSX here, so I can't reproduce the
problem.

I know it can be built, becasue Absoft advertizes a prebuilt
netCDF-4.0.1 library included on the "Distribution CD" that comes with
their compilers for OSX:

  http://www.absoft.com/Absoft_MacIntel_Compiler.htm

> The following relates to my earlier MAV-429067 problem, which was
> solved by adding the –E argument to sudo. Now it seems that the
> nf_test check is failing in make check, and after a couple of days
> trying different things and looking at the Unidata mailing list
> (e.g. #SKD-481794) I can't figure out how why.  Although the configure
> and make steps seem to go OK, the nf_test check fails with "Undefined
> symbols for architecture x86_64:".
> 
> To recap, I'm trying to install a 'Classic' netcdf with dap disabled
> on OSX Ver. 10.8 (Mountain Lion with Xcode Ver. 4.5.1 ).
> 
> I set the following environment variables before running configure.
> 
> export CC=/usr/bin/gcc
> export CPPFLAGS=-DAbsoftProFortran
> export FFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ -m64'
> export FCFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ –m64'
> export F90=/Applications/Absoft11.5/bin/f90
> export FC=/Applications/Absoft11.5/bin/f90
> export F77=/Applications/Absoft11.5/bin/f77
> export OBJECT_MODE=64

According to past experience, it's enough to just set 

  FC=f90
  FCFLAGS='-YEXT_NAMES=LCS –s –YEXT_SFX=_ –m64'

which will then be used for both the f77 and f90 compiler, so don't
bother to set F77, F90, or FFLAGS.  Also, in at least one case we've
encountered, it worked better to have the path to the compilers in
your PATH, and not in the F90 variable, and I see you have
/Applications/Absoft11.5/bin in your PATH, so don't also include it in
the compiler name.  Also, I don't think you need OBJECT_MODE=64 with
Absoft compilers, I think that's just an AIX thing.

> The following logs are in the attached  zip file:
> 
> The output of env  listing the environment variables is in env.log.
> 
> The output of sudo -E ./configure —prefix=/Applications/local
> —disable-netcdf-4 —disable–dap is in configure.log (the STDOUT output)
> and config.log.
> 
> The output of  sudo -E make  is in make.log.
> 
> The output of  sudo -E make  check is in check.log.
> 
> The netcdf version is -n 4.1.3 , and I'm trying to install it on a Mac
> running OSX Mountain Lion (10.8) with an Absoft Version 11.5 Fortran
> compiler
> 
> This was for a 64 bit install, but because I suspect there were
> problems with that I also tried a 32 bit installation which didn't get
> past the configure step.  The output of sudo -E ./configure
> —prefix=/Applications/local —disable-netcdf-4 —disable–dap when a 32
> bit build was attempted , i.e. no –m64 in the FFLAGS, is in
> configure32.log (the STDOUT output) and config32.log.
> 
> 
> For the 64 bit install attempt check.log (i.e. sudo –E make check >
> check.log ) ends with a long series of undefined symbols messages….
> 
> 
> /bin/sh ../libtool --tag=F77   --mode=link
> /Applications/Absoft11.5/bin/f77 -I../fortran -I../include
> -I../f90 -YEXT_NAMES=LCS -s > -YEXT_SFX=_  -m64    -o nf_test
> test_get.o test_put.o nf_error.o nf_test.o test_read.o test_write.o
> ut> il.o fortlib.o ../fortran/libnetcdff.la  -lm -lcurl
> libtool: link: /Applications/Absoft11.5/bin/f77 -I../fortran
> -I../include -I../f90 -YEXT_NAMES=LCS -s -YEXT_SFX=_ -m64 -o
> .libs/nf_t> est test_get.o test_put.o nf_error.o nf_test.o
> test_read.o test_write.o util.o fortlib.o
> ../fortran/.libs/libnetcdff.dy> lib 
> /Applications/local/share/netcdf-4.1.3/liblib/.libs/libnetcdf.dylib -lm -lcurl
> Undefined symbols for architecture x86_64:
>   "_ignorefpe_", referenced from:
>       _MAIN__ in nf_test.o
>   "_max_double_", referenced from:
>       _internal_min_ in util.o
>       _internal_max_ in util.o

The "ignorefp" and "max_double" are not netCDF functions, but instead
probably runtime library functions for the Absoft Fortran compilers.
The fact that you got these list as undefined makes me wonder if
there's some sort of configuration necessary for the Absoft compilers,
such as running a shell script they provide to say where the runtime
libraries are installed.

> Etc., etc.
> 
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> link failed.
> make[2]: *** [nf_test] Error 1
> make[1]: *** [check-am] Error 2
> make: *** [checHi Steve,

First, I don't see any obvious problem, but we don't have an Absoft
Fortran problem to test with on OSX here, so I can't reproduce the
problem.

I know it can be built, becasue Absoft advertizes a prebuilt
netCDF-4.0.1 library included on the "Distribution CD" that comes with
their compilers for OSX:

  http://www.absoft.com/Absoft_MacIntel_Compiler.htm

> The following relates to my earlier MAV-429067 problem, which was
> solved by adding the –E argument to sudo. Now it seems that the
> nf_test check is failing in make check, and after a couple of days
> trying different things and looking at the Unidata mailing list
> (e.g. #SKD-481794) I can't figure out how why.  Although the configure
> and make steps seem to go OK, the nf_test check fails with "Undefined
> symbols for architecture x86_64:".
> 
> To recap, I'm trying to install a 'Classic' netcdf with dap disabled
> on OSX Ver. 10.8 (Mountain Lion with Xcode Ver. 4.5.1 ).
> 
> I set the following environment variables before running configure.
> 
> export CC=/usr/bin/gcc
> export CPPFLAGS=-DAbsoftProFortran
> export FFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ -m64'
> export FCFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ –m64'
> export F90=/Applications/Absoft11.5/bin/f90
> export FC=/Applications/Absoft11.5/bin/f90
> export F77=/Applications/Absoft11.5/bin/f77
> export OBJECT_MODE=64

According to past experience, it's enough to just set 

  FC=f90
  FCFLAGS='-YEXT_NAMES=LCS –s –YEXT_SFX=_ –m64'

which will then be used for both the f77 and f90 compiler, so don't
bother to set F77, F90, or FFLAGS.  Also, in at least one case we've
encountered, it worked better to have the path to the compilers in
your PATH, and not in the F90 variable, and I see you have
/Applications/Absoft11.5/bin in your PATH, so don't also include it in
the compiler name.  Also, I don't think you need OBJECT_MODE=64 with
Absoft compilers, I think that's just an AIX thing.

> The following logs are in the attached  zip file:
> 
> The output of env  listing the environment variables is in env.log.
> 
> The output of sudo -E ./configure —prefix=/Applications/local
> —disable-netcdf-4 —disable–dap is in configure.log (the STDOUT output)
> and config.log.
> 
> The output of  sudo -E make  is in make.log.
> 
> The output of  sudo -E make  check is in check.log.
> 
> The netcdf version is -n 4.1.3 , and I'm trying to install it on a Mac
> running OSX Mountain Lion (10.8) with an Absoft Version 11.5 Fortran
> compiler
> 
> This was for a 64 bit install, but because I suspect there were
> problems with that I also tried a 32 bit installation which didn't get
> past the configure step.  The output of sudo -E ./configure
> —prefix=/Applications/local —disable-netcdf-4 —disable–dap when a 32
> bit build was attempted , i.e. no –m64 in the FFLAGS, is in
> configure32.log (the STDOUT output) and config32.log.
> 
> 
> For the 64 bit install attempt check.log (i.e. sudo –E make check >
> check.log ) ends with a long series of undefined symbols messages….
> 
> 
> /bin/sh ../libtool --tag=F77   --mode=link
> /Applications/Absoft11.5/bin/f77 -I../fortran -I../include
> -I../f90 -YEXT_NAMES=LCS -s > -YEXT_SFX=_  -m64    -o nf_test
> test_get.o test_put.o nf_error.o nf_test.o test_read.o test_write.o
> ut> il.o fortlib.o ../fortran/libnetcdff.la  -lm -lcurl
> libtool: link: /Applications/Absoft11.5/bin/f77 -I../fortran
> -I../include -I../f90 -YEXT_NAMES=LCS -s -YEXT_SFX=_ -m64 -o
> .libs/nf_t> est test_get.o test_put.o nf_error.o nf_test.o
> test_read.o test_write.o util.o fortlib.o
> ../fortran/.libs/libnetcdff.dy> lib 
> /Applications/local/share/netcdf-4.1.3/liblib/.libs/libnetcdf.dylib -lm -lcurl
> Undefined symbols for architecture x86_64:
>   "_ignorefpe_", referenced from:
>       _MAIN__ in nf_test.o
>   "_max_double_", referenced from:
>       _internal_min_ in util.o
>       _internal_max_ in util.o

The "ignorefp" and "max_double" are not netCDF functions, but instead
probably runtime library functions for the Absoft Fortran compilers.
The fact that you got these list as undefined makes me wonder if
there's some sort of configuration necessary for the Absoft compilers,
such as running a shell script they provide to say where the runtime
libraries are installed.

> Etc., etc.
> 
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> link failed.
> make[2]: *** [nf_test] Error 1
> make[1]: *** [check-am] Error 2
> make: *** [checHi Steve,

First, I don't see any obvious problem, but we don't have an Absoft
Fortran problem to test with on OSX here, so I can't reproduce the
problem.

I know it can be built, becasue Absoft advertizes a prebuilt
netCDF-4.0.1 library included on the "Distribution CD" that comes with
their compilers for OSX:

  http://www.absoft.com/Absoft_MacIntel_Compiler.htm

> The following relates to my earlier MAV-429067 problem, which was
> solved by adding the –E argument to sudo. Now it seems that the
> nf_test check is failing in make check, and after a couple of days
> trying different things and looking at the Unidata mailing list
> (e.g. #SKD-481794) I can't figure out how why.  Although the configure
> and make steps seem to go OK, the nf_test check fails with "Undefined
> symbols for architecture x86_64:".
> 
> To recap, I'm trying to install a 'Classic' netcdf with dap disabled
> on OSX Ver. 10.8 (Mountain Lion with Xcode Ver. 4.5.1 ).
> 
> I set the following environment variables before running configure.
> 
> export CC=/usr/bin/gcc
> export CPPFLAGS=-DAbsoftProFortran
> export FFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ -m64'
> export FCFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ –m64'
> export F90=/Applications/Absoft11.5/bin/f90
> export FC=/Applications/Absoft11.5/bin/f90
> export F77=/Applications/Absoft11.5/bin/f77
> export OBJECT_MODE=64

According to past experience, it's enough to just set 

  FC=f90
  FCFLAGS='-YEXT_NAMES=LCS –s –YEXT_SFX=_ –m64'

which will then be used for both the f77 and f90 compiler, so don't
bother to set F77, F90, or FFLAGS.  Also, in at least one case we've
encountered, it worked better to have the path to the compilers in
your PATH, and not in the F90 variable, and I see you have
/Applications/Absoft11.5/bin in your PATH, so don't also include it in
the compiler name.  Also, I don't think you need OBJECT_MODE=64 with
Absoft compilers, I think that's just an AIX thing.

> The following logs are in the attached  zip file:
> 
> The output of env  listing the environment variables is in env.log.
> 
> The output of sudo -E ./configure —prefix=/Applications/local
> —disable-netcdf-4 —disable–dap is in configure.log (the STDOUT output)
> and config.log.
> 
> The output of  sudo -E make  is in make.log.
> 
> The output of  sudo -E make  check is in check.log.
> 
> The netcdf version is -n 4.1.3 , and I'm trying to install it on a Mac
> running OSX Mountain Lion (10.8) with an Absoft Version 11.5 Fortran
> compiler
> 
> This was for a 64 bit install, but because I suspect there were
> problems with that I also tried a 32 bit installation which didn't get
> past the configure step.  The output of sudo -E ./configure
> —prefix=/Applications/local —disable-netcdf-4 —disable–dap when a 32
> bit build was attempted , i.e. no –m64 in the FFLAGS, is in
> configure32.log (the STDOUT output) and config32.log.
> 
> 
> For the 64 bit install attempt check.log (i.e. sudo –E make check >
> check.log ) ends with a long series of undefined symbols messages….
> 
> 
> /bin/sh ../libtool --tag=F77   --mode=link
> /Applications/Absoft11.5/bin/f77 -I../fortran -I../include
> -I../f90 -YEXT_NAMES=LCS -s > -YEXT_SFX=_  -m64    -o nf_test
> test_get.o test_put.o nf_error.o nf_test.o test_read.o test_write.o
> ut> il.o fortlib.o ../fortran/libnetcdff.la  -lm -lcurl
> libtool: link: /Applications/Absoft11.5/bin/f77 -I../fortran
> -I../include -I../f90 -YEXT_NAMES=LCS -s -YEXT_SFX=_ -m64 -o
> .libs/nf_t> est test_get.o test_put.o nf_error.o nf_test.o
> test_read.o test_write.o util.o fortlib.o
> ../fortran/.libs/libnetcdff.dy> lib 
> /Applications/local/share/netcdf-4.1.3/liblib/.liHi Steve,

First, I don't see any obvious problem, but we don't have an Absoft
Fortran problem to test with on OSX here, so I can't reproduce the
problem.

I know it can be built, becasue Absoft advertizes a prebuilt
netCDF-4.0.1 library included on the "Distribution CD" that comes with
their compilers for OSX:

  http://www.absoft.com/Absoft_MacIntel_Compiler.htm

> The following relates to my earlier MAV-429067 problem, which was
> solved by adding the –E argument to sudo. Now it seems that the
> nf_test check is failing in make check, and after a couple of days
> trying different things and looking at the Unidata mailing list
> (e.g. #SKD-481794) I can't figure out how why.  Although the configure
> and make steps seem to go OK, the nf_test check fails with "Undefined
> symbols for architecture x86_64:".
> 
> To recap, I'm trying to install a 'Classic' netcdf with dap disabled
> on OSX Ver. 10.8 (Mountain Lion with Xcode Ver. 4.5.1 ).
> 
> I set the following environment variables before running configure.
> 
> export CC=/usr/bin/gcc
> export CPPFLAGS=-DAbsoftProFortran
> export FFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ -m64'
> export FCFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ –m64'
> export F90=/Applications/Absoft11.5/bin/f90
> export FC=/Applications/Absoft11.5/bin/f90
> export F77=/Applications/Absoft11.5/bin/f77
> export OBJECT_MODE=64

According to past experience, it's enough to just set 

  FC=f90
  FCFLAGS='-YEXT_NAMES=LCS –s –YEXT_SFX=_ –m64'

which will then be used for both the f77 and f90 compiler, so don't
bother to set F77, F90, or FFLAGS.  Also, in at least one case we've
encountered, it worked better to have the path to the compilers in
your PATH, and not in the F90 variable, and I see you have
/Applications/Absoft11.5/bin in your PATH, so don't also include it in
the compiler name.  Also, I don't think you need OBJECT_MODE=64 with
Absoft compilers, I think that's just an AIX thing.

> The following logs are in the attached  zip file:
> 
> The output of env  listing the environment variables is in env.log.
> 
> The output of sudo -E ./configure —prefix=/Applications/local
> —disable-netcdf-4 —disable–dap is in configure.log (the STDOUT output)
> and config.log.
> 
> The output of  sudo -E make  is in make.log.
> 
> The output of  sudo -E make  check is in check.log.
> 
> The netcdf version is -n 4.1.3 , and I'm trying to install it on a Mac
> running OSX Mountain Lion (10.8) with an Absoft Version 11.5 Fortran
> compiler
> 
> This was for a 64 bit install, but because I suspect there were
> problems with that I also tried a 32 bit installation which didn't get
> past the configure step.  The output of sudo -E ./configure
> —prefix=/Applications/local —disable-netcdf-4 —disable–dap when a 32
> bit build was attempted , i.e. no –m64 in the FFLAGS, is in
> configure32.log (the STDOUT output) and config32.log.
> 
> 
> For the 64 bit install attempt check.log (i.e. sudo –E make check >
> check.log ) ends with a long series of undefined symbols messages….
> 
> 
> /bin/sh ../libtool --tag=F77   --mode=link
> /Applications/Absoft11.5/bin/f77 -I../fortran -I../include
> -I../f90 -YEXT_NAMES=LCS -s > -YEXT_SFX=_  -m64    -o nf_test
> test_get.o test_put.o nf_error.o nf_test.o test_read.o test_write.o
> ut> il.o fortlib.o ../fortran/libnetcdff.la  -lm -lcurl
> libtool: link: /Applications/Absoft11.5/bin/f77 -I../fortran
> -I../include -I../f90 -YEXT_NAMES=LCS -s -YEXT_SFX=_ -m64 -o
> .libs/nf_t> esHi Steve,

First, I don't see any obvious problem, but we don't have an Absoft
Fortran problem to test with on OSX here, so I can't reproduce the
problem.

I know it can be built, becasue Absoft advertizes a prebuilt
netCDF-4.0.1 library included on the "Distribution CD" that comes with
their compilers for OSX:

  http://www.absoft.com/Absoft_MacIntel_Compiler.htm

> The following relates to my earlier MAV-429067 problem, which was
> solved by adding the –E argument to sudo. Now it seems that the
> nf_test check is failing in make check, and after a couple of days
> trying different things and looking at the Unidata mailing list
> (e.g. #SKD-481794) I can't figure out how why.  Although the configure
> and make steps seem to go OK, the nf_test check fails with "Undefined
> symbols for architecture x86_64:".
> 
> To recap, I'm trying to install a 'Classic' netcdf with dap disabled
> on OSX Ver. 10.8 (Mountain Lion with Xcode Ver. 4.5.1 ).
> 
> I set the following environment variables before running configure.
> 
> export CC=/usr/bin/gcc
> export CPPFLAGS=-DAbsoftProFortran
> export FFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ -m64'
> export FCFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ –m64'
> export F90=/Applications/Absoft11.5/bin/f90
> export FC=/Applications/Absoft11.5/bin/f90
> export F77=/Applications/Absoft11.5/bin/f77
> export OBJECT_MODE=64

According to past experience, it's enough to just set 

  FC=f90
  FCFLAGS='-YEXT_NAMES=LCS –s –YEXT_SFX=_ –m64'

which will then be used for both the f77 and f90 compiler, so don't
bother to set F77, F90, or FFLAGS.  Also, in at least one case we've
encountered, it worked better to have the path to the compilers in
your PATH, and not in the F90 variable, and I see you have
/Applications/Absoft11.5/bin in your PATH, so don't also include it in
the compiler name.  Also, I don't think you need OBJECT_MODE=64 with
Absoft compilers, I think that's just an AIX thing.

> The following logs are in the attached  zip file:
> 
> The output of env  listing the environment variables is in env.log.
> 
> The output of sudo -E ./configure —prefix=/Applications/local
> —disable-netcdf-4 —disable–dap is in configure.log (the STDOUT output)
> and config.log.
> 
> The output of  sudo -E make  is in make.log.
> 
> The output of  sudo -E make  check is in check.log.
> 
> The netcdf version is -n 4.1.3 , and I'm trying to install it on a Mac
> running OSX Mountain Lion (10.8) with an Absoft Version 11.5 Fortran
> compiler
> 
> This was for a 64 bit install, but because I suspect there were
> problems with that I also tried a 32 bit installation which didn't get
> past the configure step.  The output of sudo -E ./configure
> —prefix=/Applications/local —disable-netcdf-4 —disable–dap when a 32
> bit build was attempted , i.e. no –m64 in the FFLAGS, is in
> configure32.log (the STDOUT output) and config32.log.
> 
> 
> For the 64 bit install attempt check.log (i.e. sudo –E make check >
> check.log ) ends with a long series of undefined symbols messages….
> 
> 
> /bin/sh ../libtool --tag=F77   --mode=link
> /Applications/Absoft11.5/bin/f77 -I../fortran -I../include
> -I../f90 -YEXT_NAMES=LCS -s > -YEXT_SFX=_  -m64    -o nf_test
> test_get.o test_put.o nf_error.o nf_test.o test_read.o test_write.o
> ut> il.o fortlib.o ../fortran/libnetcdff.la  -lm -lcurl
> libtool: link: /Applications/Absoft11.5/bin/f77 -I../fortran
> -I../include -I../f90 -YEXT_NAMES=LCS -s -YEXT_SFX=_ -m64 -o
> .libs/nf_t> est test_get.o test_put.o nf_error.o nf_test.o
> test_read.o test_write.o util.o fortlib.o
> ../fortran/.libs/libnetcdff.dy> lib 
> /Applications/local/share/netcdf-4.1.3/liblib/.libs/libnetcdf.dylib -lm -lcurl
> Undefined symbols for architecture x86_64:
>   "_ignorefpe_", referenced from:
>       _MAIN__ in nf_test.o
>   "_max_double_", referenced from:
>       _internal_min_ in util.o
>       _internal_max_ in util.o

The "ignorefp" and "max_double" are not netCDF functions, but instead
probably runtime library functions for the Absoft Fortran compilers.
The fact that you got these list as undefined makes me wonder if
there's some sort of configuration necessary for the Absoft compilers,
such as running a shell script they provide to say where the runtime
libraries are installed.

> Etc., etc.
> 
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> link failed.
> make[2]: *** [nf_test] Error 1
> make[1]: *** [check-am] Error 2
> make: *** [check-recursive] Error 1
> 
> This looks like it might be either an include & lib (i.e -L and –I)
> path problem or a 64 bit type problem.  But why wouldn't the configure
> script not know the proper –L and –I destinations?  As for the second
> possibility, taking a closer look at the INSTALL file and adding
> OBJECT_MODE=64 to the environment didn't make any difference
> 
> Any idea what gives here? Any help is greatly appreciated.

Sorry, that's all the ideas I have ...

--Russ
t test_get.o test_put.o nf_error.o nf_test.o
> test_read.o test_write.o util.o fortlib.o
> ../fortran/.libs/libnetcdff.dy> lib 
> /Applications/local/share/netcdf-4.1.3/liblib/.libs/libnetcdf.dylib -lm -lcurl
> Undefined symbols for architecture x86_64:
>   "_ignorefpe_", referenced from:
>       _MAIN__ in nf_test.o
>   "_max_double_", referenced from:
>       _internal_min_ in util.o
>       _internal_max_ in util.o

The "ignorefp" and "max_double" are not netCDF functions, but instead
probably runtime library functions for the Absoft Fortran compilers.
The fact that you got these list as undefined makes me wonder if
there's some sort of configuration necessary for the Absoft compilers,
such as running a shell script they provide to say where the runtime
libraries are installed.

> Etc., etc.
> 
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> link failed.
> make[2]: *** [nf_test] Error 1
> make[1]: *** [check-am] Error 2
> make: *** [check-recursive] Error 1
> 
> This looks like it might be either an include & lib (i.e -L and –I)
> path problem or a 64 bit type problem.  But why wouldn't the configure
> script not know the proper –L and –I destinations?  As for the second
> possibility, taking a closer look at the INSTALL file and adding
> OBJECT_MODE=64 to the environment didn't make any difference
> 
> Any idea what gives here? Any help is greatly appreciated.

Sorry, that's all the ideas I have ...

--Russ
bs/libnetcdf.dylib -lm -lcurl
> Undefined symbols for architecture x86_64:
>   "_ignorefpe_", referenced from:
>       _MAIN__ in nf_test.o
>   "_max_double_", referenced from:
>       _internal_min_ in util.o
>       _internal_max_ in util.o

The "ignorefp" and "max_double" are not netCDF functions, but instead
probably runtime library functions for the Absoft Fortran compilers.
The fact that you got these list as undefined makes me wonder if
there's some sort of configuration necessary for the Absoft compilers,
such as running a shell script they provide to say where the runtime
libraries are installed.

> Etc., etc.
> 
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> link failed.Hi Steve,

First, I don't see any obvious problem, but we don't have an Absoft
Fortran problem to test with on OSX here, so I can't reproduce the
problem.

I know it can be built, becasue Absoft advertizes a prebuilt
netCDF-4.0.1 library included on the "Distribution CD" that comes with
their compilers for OSX:

  http://www.absoft.com/Absoft_MacIntel_Compiler.htm

> The following relates to my earlier MAV-429067 problem, which was
> solved by adding the –E argument to sudo. Now it seems that the
> nf_test check is failing in make check, and after a couple of days
> trying different things and looking at the Unidata mailing list
> (e.g. #SKD-481794) I can't figure out how why.  Although the configure
> and make steps seem to go OK, the nf_test check fails with "Undefined
> symbols for architecture x86_64:".
> 
> To recap, I'm trying to install a 'Classic' netcdf with dap disabled
> on OSX Ver. 10.8 (Mountain Lion with Xcode Ver. 4.5.1 ).
> 
> I set the following environment variables before running configure.
> 
> export CC=/usr/bin/gcc
> export CPPFLAGS=-DAbsoftProFortran
> export FFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ -m64'
> export FCFLAGS='-YEXT_NAMES=LCS   –s   –YEXT_SFX=_ –m64'
> export F90=/Applications/Absoft11.5/bin/f90
> export FC=/Applications/Absoft11.5/bin/f90
> export F77=/Applications/Absoft11.5/bin/f77
> export OBJECT_MODE=64

According to past experience, it's enough to just set 

  FC=f90
  FCFLAGS='-YEXT_NAMES=LCS –s –YEXT_SFX=_ –m64'

which will then be used for both the f77 and f90 compiler, so don't
bother to set F77, F90, or FFLAGS.  Also, in at least one case we've
encountered, it worked better to have the path to the compilers in
your PATH, and not in the F90 variable, and I see you have
/Applications/Absoft11.5/bin in your PATH, so don't also include it in
the compiler name.  Also, I don't think you need OBJECT_MODE=64 with
Absoft compilers, I think that's just an AIX thing.

> The following logs are in the attached  zip file:
> 
> The output of env  listing the environment variables is in env.log.
> 
> The output of sudo -E ./configure —prefix=/Applications/local
> —disable-netcdf-4 —disable–dap is in configure.log (the STDOUT output)
> and config.log.
> 
> The output of  sudo -E make  is in make.log.
> 
> The output of  sudo -E make  check is in check.log.
> 
> The netcdf version is -n 4.1.3 , and I'm trying to install it on a Mac
> running OSX Mountain Lion (10.8) with an Absoft Version 11.5 Fortran
> compiler
> 
> This was for a 64 bit install, but because I suspect there were
> problems with that I also tried a 32 bit installation which didn't get
> past the configure step.  The output of sudo -E ./configure
> —prefix=/Applications/local —disable-netcdf-4 —disable–dap when a 32
> bit build was attempted , i.e. no –m64 in the FFLAGS, is in
> configure32.log (the STDOUT output) and config32.log.
> 
> 
> For the 64 bit install attempt check.log (i.e. sudo –E make check >
> check.log ) ends with a long series of undefined symbols messages….
> 
> 
> /bin/sh ../libtool --tag=F77   --mode=link
> /Applications/Absoft11.5/bin/f77 -I../fortran -I../include
> -I../f90 -YEXT_NAMES=LCS -s > -YEXT_SFX=_  -m64    -o nf_test
> test_get.o test_put.o nf_error.o nf_test.o test_read.o test_write.o
> ut> il.o fortlib.o ../fortran/libnetcdff.la  -lm -lcurl
> libtool: link: /Applications/Absoft11.5/bin/f77 -I../fortran
> -I../include -I../f90 -YEXT_NAMES=LCS -s -YEXT_SFX=_ -m64 -o
> .libs/nf_t> est test_get.o test_put.o nf_error.o nf_test.o
> test_read.o test_write.o util.o fortlib.o
> ../fortran/.libs/libnetcdff.dy> lib 
> /Applications/local/share/netcdf-4.1.3/liblib/.libs/libnetcdf.dylib -lm -lcurl
> Undefined symbols for architecture x86_64:
>   "_ignorefpe_", referenced from:
>       _MAIN__ in nf_test.o
>   "_max_double_", referenced from:
>       _internal_min_ in util.o
>       _internal_max_ in util.o

The "ignorefp" and "max_double" are not netCDF functions, but instead
probably runtime library functions for the Absoft Fortran compilers.
The fact that you got these list as undefined makes me wonder if
there's some sort of configuration necessary for the Absoft compilers,
such as running a shell script they provide to say where the runtime
libraries are installed.

> Etc., etc.
> 
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> link failed.
> make[2]: *** [nf_test] Error 1
> make[1]: *** [check-am] Error 2
> make: *** [check-recursive] Error 1
> 
> This looks like it might be either an include & lib (i.e -L and –I)
> path problem or a 64 bit type problem.  But why wouldn't the configure
> script not know the proper –L and –I destinations?  As for the second
> possibility, taking a closer look at the INSTALL file and adding
> OBJECT_MODE=64 to the environment didn't make any difference
> 
> Any idea what gives here? Any help is greatly appreciated.

Sorry, that's all the ideas I have ...

Except maybe just building the C library from the latest 4.2.1.1 release,
then building the Fortran library separately from the netcdf-fortran-4.2
release as described here:

  http://www.unidata.ucar.edu/netcdf/docs/netcdf-fortran-install.html

--Russ

Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: DXT-353886
Department: Support netCDF
Priority: Normal
Status: Closed