Então, estou escrevendo um script para criar e instalar o Netcdf, mas quando eu o forneço, parece que algumas das linhas simplesmente não estão sendo executadas ou estão sendo ignoradas e não tenho certeza do motivo. Quando eu executo o código linha por linha manualmente, no entanto, funciona bem. Aqui está o script:
module purge
module load gnu/5.1.0
module load mvapich2/2.1
module load hdf5/1.8.9
export SRC_DIR=/usr/local/src/netcdf/netcdf-4.3.3.1
export BUILD_DIR=$SRC_DIR/build-gnu
export INSTALL_DIR=/usr/local/netcdf/gnu/5.1/mvapich2/2.1/4.3.3.1/
mkdir -p $INSTALL_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR
CC=mpicc CXX=mpicxx FC=mpif90 CFLAGS='-DpgiFortran -fPIC' CPPFLAGS=-I$HDF5_HOME/include \
FCFLAGS='-DpgiFortran -fPIC' LDFLAGS=-L$HDF5_HOME/lib \
../configure --prefix=$INSTALL_DIR --enable-shared --with-hdf5=$HDF5_HOME
make
make check
make install
make clean
Parece apenas pular direto para o comando configure. Eu corro o script fazendo o sourcing usando o seguinte comando:
. build-netcdf-gnu-5.1 |& tee build-netcdf-gnu-5.1.log
mas quando eu executo, nenhum dos módulos foi carregado e ainda estou no diretório onde iniciei o script quando deveria ter mudado para o diretório de compilação. O estranho é que se eu copiar e colar o código linha por linha, ele funciona bem. Por que esse script não está sendo executado como esperado? Existe alguma coisa simples que eu estou apenas com vista? obrigado por qualquer ajuda, é muito apreciada.