problems installing 0.9.0
John Tannahill
tannahill1 at llnl.gov
Wed Sep 3 12:01:19 CDT 2003
Rob,
I didn't read far enough into the INSTALL file. I have gotten things to
work and will send details shortly. The one thing I had to do totally
differently is to comment out the MPI-IO check in configure.in, as I
have no idea what the right directory is to set the --with-mpi=
argument to. Off to a 2 hour meeting (lucky me).
John
Rob Ross wrote:
> John,
>
> Please try copying the attached configure.in into the build directory,
> re-running, autoconf, and repeating the script you used below.
>
> Sorry this didn't just work!
>
> Thanks,
>
> Rob
>
> On Wed, 3 Sep 2003, John Tannahill wrote:
>
>
>>Robert,
>>
>>When I execute the following script to install 0.9.0 on NERSC's IBM-SP
>>(seaborg) =>
>>
>>#
>>
>>module load gnu
>>
>>setenv CC xlc
>>setenv FC xlf
>>
>>setenv MPICC mpcc_r
>>setenv MPIF77 mpxlf_r
>>
>>./configure --prefix=/usr/common/homes/j/jrt/tb2/parallel-netcdf-0.9.0 \
>> --with-mpi=/usr/lpp/ppe.poe/bin
>>
>>
>>I get =>
>>
>>loading cache ./config.cache
>>checking for top-level source-directory
>>/u2/jrt/tb2/parallel-netcdf-0.9.0
>>checking for a BSD compatible install... /usr/common/usg/gnu/bin/ginstall -c
>>checking for m4 preprocessor
>>checking for m4... m4
>>checking m4 flags... -B10000
>>checking for gcc... xlc
>>checking whether the C compiler (xlc -O ) works... yes
>>checking whether the C compiler (xlc -O ) is a cross-compiler... no
>>checking whether we are using GNU C... no
>>checking whether xlc accepts -g... yes
>>checking for c++... no
>>checking for g++... no
>>checking for gcc... no
>>checking for CC... no
>>checking for cxx... no
>>checking for cc++... no
>>checking for cl... no
>>checking whether the C++ compiler (gcc ) works... no
>>configure: error: installation or configuration problem: C++ compiler cannot
>>create executables.
>>
>>John
>>
>>--
>>============================
>>John R. Tannahill
>>Lawrence Livermore Nat. Lab.
>>P.O. Box 808, M/S L-103
>>Livermore, CA 94551
>>925-423-3514
>>Fax: 925-423-4908
>>============================
>>
>>
>>
>>
>>------------------------------------------------------------------------
>>
>>AC_REVISION($Id: configure.in,v 1.30 2003/08/11 19:12:24 robl Exp $)dnl
>>dnl -*- Mode: shell-script-mode; -*-
>>dnl Process this file with GNU autoconf(1) to produce a configure script.
>>dnl
>>
>>dnl Defaults:
>>CPPFLAGS=${CPPFLAGS--DNDEBUG}
>>CFLAGS=${CFLAGS--O}
>>FPPFLAGS=${FPPFLAGS-}
>>FFLAGS=${FFLAGS-}
>>
>>AC_INIT(src/lib/ncconfig.in)
>>UD_SRCDIR
>>dnl AC_PREFIX_DEFAULT(`(cd ..; pwd)`)
>>
>>AC_CONFIG_HEADER(src/lib/ncconfig.h:src/lib/ncconfig.in)
>>AC_CONFIG_AUX_DIR(./scripts)
>>
>>AC_ARG_ENABLE(fortran,
>>[--enable-fortran - Turn on support for the Fortran interface. Turn this
>> off if you only need the C interface (on by default)],,enable_fortran=yes)
>>
>>dnl I took the "-ansi" off the CFLAGS for the strict case, as it was
>>dnl preventing PATH_MAX from being defined for some of the test files,
>>dnl and I was having a tough time figuring out how to get it back! -- RobR
>>AC_ARG_ENABLE(strict,[--enable-strict - Turn on strict debugging with gcc],
>>CFLAGS="$CFLAGS -O2 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wpointer-arith -Wbad-function-cast")
>>AC_ARG_ENABLE(echo,
>>[--enable-echo - Turn on strong echoing. The default is enable=no.] ,set -x)
>>
>>AC_PROG_INSTALL
>>
>>UD_PROG_M4
>>AC_PROG_CC
>>dnl AC_PROG_CXX
>>dnl AC_PROG_F77
>>UD_PROG_FC
>>dnl UD_PROG_CC
>>UD_PROG_CC_MAKEDEPEND
>>dnl need a --with-cxx=no and --with-fortran=no
>>dnl UD_PROG_CXX
>>dnl UD_PROG_F90
>># Checking for Fortran types also determines the Fortran name mangling
>># and places the value into FCALLSCSUB as a the C name corresponding
>># to the Fortran name SUB
>>UD_CHECK_FCALLSCSUB
>>UD_CHECK_LIB_MATH
>>UD_PROG_AR()
>>UD_PROG_NM()
>># We could use the PAC check for ranlib (it also makes sure that ranlib works,
>># which is not always true, particularly when GNU tools are installed on
>># a system that doesn't have (or need) ranlib
>>AC_PROG_RANLIB
>>
>>#
>># If we are building the Fortran interface, determine the correct name mapping
>>case $FCALLSCSUB in
>> SUB)
>> AC_DEFINE(F77_NAME_UPPER,,[Define if Fortran names are uppercase])
>> ;;
>> sub_)
>> # This is the hard case. Gcc uses one _ unless the name includes
>> # an underscore, in which case it gets two trailing underscores.
>> # Use essentially the same configure code that the original configure
>> # used to determine SUB
>> AC_MSG_CHECKING(for C-equivalent to Fortran routine \"SUB_A\")
>> cat >conftest.f <<\EOF
>> call sub_a()
>> end
>>EOF
>> doit='$FC -c ${FFLAGS} conftest.f'
>> if AC_TRY_EVAL(doit); then
>> FCALLSCSUBA=`$NM $NMFLAGS conftest.o | awk '
>> /SUB_A_/{print "SUB_A_";exit}
>> /SUB_A/ {print "SUB_A"; exit}
>> /sub_a__/ {print "sub_a__"; exit}
>> /sub_a_/{print "sub_a_";exit}
>> /sub_a/ {print "sub_a"; exit}'`
>> case "$FCALLSCSUBA" in
>> '') AC_MSG_ERROR(not found)
>> ;;
>> *) AC_MSG_RESULT($FCALLSCSUBA)
>> ;;
>> esac
>> else
>> AC_MSG_ERROR(Could not compile conftest.f)
>> fi
>> rm -f conftest*
>> case "$FCALLSCSUBA" in
>> sub_a__)
>> AC_DEFINE(F77_NAME_LOWER_2USCORE,,[Define if Fortran names are lower case with two trailing underscore2])
>> ;;
>> sub_a_)
>> AC_DEFINE(F77_NAME_LOWER_USCORE,,[Define if Fortran names are lower case with one trailing underscore])
>> ;;
>> *)
>> AC_MSG_WARN([Unrecognized Fortran name mapping])
>> ;;
>> esac
>> ;;
>> sub)
>> AC_DEFINE(F77_NAME_LOWER,,[Define if Fortran names are lower case])
>> ;;
>> *)
>> AC_MSG_WARN([Unrecognized Fortran name mapping])
>> ;;
>>esac
>>
>>dnl do the automagic mpi-compiler-checking if MPICC and MPIF77 are not set
>>if test x${MPICC} = x -a x${MPIF77} = x ; then
>> MPICC=$CC
>> AC_MSG_CHECKING(mpi implementation)
>> AC_ARG_WITH(mpi,
>> [ --with-mpi=/path/to/implementation
>> installation prefix for mpi implementation],
>> if test x$withval = xyes; then
>> AC_MSG_ERROR(--with-mpi must be given a pathname)
>> else
>> AC_MSG_RESULT(using $withval)
>> MPICC=${withval}/bin/mpicc
>> if test ! -x "${MPICC}"; then
>> AC_MSG_WARN($MPICC either does not exist or is not executable: falling back to $CC)
>> MPICC="$CC"
>> fi
>> MPIF77=${withval}/bin/mpif77
>> if test ! -x "${MPIF77}"; then
>> AC_MSG_WARN($MPIF77 either does not exist or is not executable: falling back to $FC)
>> MPIF77="$FC"
>> fi
>>
>> fi
>> )
>>fi
>>
>>
>>AC_MSG_CHECKING(MPI-IO support in MPI implementation)
>>saveCC="$CC"
>>CC=$MPICC
>>AC_TRY_COMPILE([#include "mpi.h"], [int a = MPI_MODE_RDWR],
>> AC_MSG_RESULT(yes),
>> AC_MSG_ERROR([mpi implementation does not support MPI-IO])
>>)
>>CC="$saveCC"
>>AC_SUBST(MPICC)
>>AC_SUBST(MPIF77)
>>
>>AC_CHECK_HEADER(stdlib.h, ,AC_DEFINE(NO_STDLIB_H))
>>AC_CHECK_HEADER(sys/types.h, ,AC_DEFINE(NO_SYS_TYPES_H))
>>AC_CHECK_FUNC(strerror, ,AC_DEFINE(NO_STRERROR))
>>UD_CHECK_FTRUNCATE
>>AC_FUNC_ALLOCA
>>AC_STRUCT_ST_BLKSIZE
>>UD_CHECK_IEEE
>>AC_TYPE_SIZE_T
>>
>>dnl Check that sizeof(size_t) == sizeof(int); bail otherwise.
>>dnl
>>dnl This is important because we do some casting in the Fortran
>>dnl bindings based on this assumption. (Needed only for Fortran)
>>if test "$enable_fortran" = "yes" ; then
>> AC_MSG_CHECKING(whether size_t and int size match)
>> AC_TRY_RUN([
>> #include <stdio.h>
>>
>> int main(void)
>> {
>> if (sizeof(size_t) == sizeof(int)) return 0; /* true */
>> else return 1; /* false */
>> }
>>],pac_cv_size_t_within_int=yes,
>>pac_cv_size_t_within_int=no)
>> AC_MSG_RESULT($pac_cv_size_t_within_int)
>> if test "$pac_cv_size_t_within_int" != yes ; then
>> AC_DEFINE(HAVE_SIZET_LARGER_THAN_INT,1,[Define if sizet is larger than int])
>> fi
>>fi
>>
>>AC_TYPE_OFF_T
>>AC_CHECK_TYPE(ssize_t, int)
>>AC_CHECK_TYPE(ptrdiff_t, int)
>>AC_CHECK_TYPE(uchar, unsigned char)
>>AC_C_CHAR_UNSIGNED
>>AC_C_BIGENDIAN
>>AC_CHECK_SIZEOF(short)
>>AC_CHECK_SIZEOF(int)
>>AC_CHECK_SIZEOF(long)
>>AC_CHECK_SIZEOF(float)
>>AC_CHECK_SIZEOF(double)
>>UD_CHECK_SIZEOF(off_t)
>>UD_CHECK_SIZEOF(size_t)
>>UD_FORTRAN_TYPES
>>UD_MAKEWHATIS
>>UD_FTPBINDIR
>>
>>chmod u+x ${srcdir}/scripts/install-sh
>>
>>AC_OUTPUT(macros.make Makefile src/Makefile test/Makefile src/lib/Makefile src/libf/Makefile test/common/Makefile test/test_double/Makefile test/test_double_int/Makefile test/test_float/Makefile test/test_int/Makefile test/nc_test/Makefile test/nf_test/Makefile test/fandc/Makefile)
>
--
============================
John R. Tannahill
Lawrence Livermore Nat. Lab.
P.O. Box 808, M/S L-103
Livermore, CA 94551
925-423-3514
Fax: 925-423-4908
============================
More information about the parallel-netcdf
mailing list