instalando erro com um código-fonte chamado Titan2d

0

Estou instalando um softawre Titan2d (da Universidade de Buffalo, Grupo de Fluxo de Massa Geofísica) no cygwin, eu faço um diretório titan-3.0.0 (3.0.0 é a última versão), sob este diretório eu corro $ sh install- titan.sh

Esse script verificará automaticamente a instalação de MPI e HDF5. Se MPI não for encontrado em seu local padrão, o usuário será solicitado a inserir seu caminho absoluto ou encerrar a instalação. Se este script não conseguir localizar o HDF5, o usuário será solicitado a digitar seu caminho absoluto ou continuar sem instalar o HDF5.

Durante o processo de instalação, recebi este erro:

$ sh install-titan.sh 
/usr 
checking for a BSD-compatible install... /usr/bin/install -c 
checking whether build environment is sane... yes 
checking for gawk... gawk 
checking whether make sets $(MAKE)... yes 
checking for C++ compiler default output file name... a.exe 
checking whether the C++ compiler works... yes 
checking whether we are cross compiling... no 
checking for suffix of executables... .exe 
checking for suffix of object files... o 
checking whether we are using the GNU C++ compiler... yes 
checking whether /usr/local/bin/mpiCC accepts -g... yes 
checking for style of include used by make... GNU 
checking dependency style of /usr/local/bin/mpiCC... gcc3 
checking for gcc... /usr/local/bin/mpicc 
checking whether we are using the GNU C compiler... yes 
checking whether /usr/local/bin/mpicc accepts -g... yes 
checking for /usr/local/bin/mpicc option to accept ANSI C... none needed 
checking dependency style of /usr/local/bin/mpicc... gcc3 
checking for g77... g77 checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g77 accepts -g... yes 
checking how to run the C preprocessor... /usr/local/bin/mpicc -E 
checking for a BSD-compatible install... /usr/bin/install -c 
checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for ranlib... ranlib checking how to get verbose linking output from g77... -v checking for Fortran libraries of g77... -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../.. -lfrtbegin -lg2c -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 
checking for special C compiler options needed for large files... no 
checking for _FILE_OFFSET_BITS value needed for large files... no 
checking for _LARGE_FILES value needed for large files... no 
checking build system type... i686-pc-cygwin 
checking host system type... i686-pc-cygwin 
checking for pthread_create in -lpthread... yes 
checking for pkg-config... /usr/local/bin/pkg-config 
checking pkg-config is at least version 0.9.0... yes 
checking for MPICH2... configure: error: Package requirements (mpich2-ch3) were not met:

Variable 'exec_prefix' not defined in '/usr/local/lib/pkgconfig/mpich2-ch3.pc'

Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.

Alternatively, you may set the environment variables MPICH2_CFLAGS and MPICH2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.

make: * No targets specified and no makefile found. Stop. make: Nothing to be done for 'install'.

Eu instalei o openmpi a partir da instalação do cygwin, escolhi a instalação completa do pacote para que uma série de pacotes mpi seja baixada e instalada automaticamente, assim como baixei o último lançamento do mpich-3.0.2 e um release antigo mpich2 -1.2.1p1 e instalei no cygwin com configure, make, make install. No entanto, o erro de instalação titan2d me diz que os requisitos do pacote (mpich2-ch3) não foram atendidos. Sei do guia do usuário titan2d que "Se houver várias cópias de MPI em sua máquina, esse script encontrará e usará a primeira em seu caminho". Eu não entendo porque minha instalação vem com esse erro. Qualquer ajuda será muito apreciada

    
por Nick Pisano 23.02.2013 / 07:47

1 resposta

0

Você deve tentar exportar o env var, use export MPICH2_LIBS="/usr/lib" . Às vezes, as bibliotecas de pacotes do cygwin são colocadas em / usr / lib e / usr / local / lib dependendo do sistema de configuração envolvido. Se ele também não encontrar "include" (pasta de cabeçalho), ele deverá informar a env env para definir como antes.

Você também pode editar o install.sh e descobrir onde ele é executado configure e adicionar o seguinte switch %código% O prefixo deve definir o abaixo e mais para %código% Em vez de ser "/ usr / local". No entanto, essa é uma opção mais global, portanto, se determinados arquivos estiverem disponíveis em / usr / local / *, eles podem não estar disponíveis em / usr / *, portanto, você terá invertido seu problema. Melhor resolver individualmente para um ou outro, visto que / usr ou / usr / local podem ter mais pacotes que você precisa. Mas eu não sou especialista!

para que a linha no install.sh seja parecida com --prefix=/usr

Para a maior parte, configure irá enviar as opções acima como corretas make flags no Makefile.

    
por 11.12.2013 / 21:13

Tags