problema com open-MPI usando o Ubuntu 12.04

1

Eu atualizei o Ubuntu de 10.04 para 12.04 e instalei o open-mpi1.6.1 do site www.open-mpi.org usando o compilador g95 (porque é necessário fazê-lo para executar o modelo de poluição do ar do chimere). Dois anos atrás eu fiz a mesma coisa usando o Ubuntu 10.04 e o open-mpi1.4.1 sem nenhum problema. Agora o programa sempre para com:

/opt/openmpi-1.6.1-g95/bin/mpif90 -o chimere.e -I/usr/local/include -I/include -cpp -O3  -DG95 -fno-second-underscore -i4  -DMPI -ffree-form -ffree-line-length-huge \
                chimere.o integrun.o master_message_subs.o master_locvalues.o \
                chimere_common.o message_defs.o chimere_consts.o chimere_params.o \
                -L.  -linitio -ltools -lmodel -ltools -liso -L/usr/local/lib -lnetcdf -L/lib -L/opt/openmpi-1.6.1-g95/lib/

ld: chimere.o: undefined reference to symbol 'mpi_null_delete_fn_'

ld: note: 'mpi_null_delete_fn_' is defined in DSO /opt/openmpi-1.6.1-g95/lib/libmpi.so.1 so try adding it to the linker command line

/opt/openmpi-1.6.1-g95/lib/libmpi.so.1: could not read symbols: Invalid operation

make: *** [chimere] Error 1

Eu defino links (ln -s) das bibliotecas open-mpi para /usr/lib e

objdump -T /usr/lib/libmpi.so.1 

indicates mpi_null_delete_fn and mpi_null_delete_fn_
O

link descreve um problema semelhante.

Alguém tem uma ideia de como resolver este problema?

    
por Frank 14.09.2012 / 15:31

1 resposta

2

Adicione -lmpi à sua chamada.

Você especificou onde a biblioteca correta está localizada, mas não disse ao vinculador para vinculá-la.

    
por imbaer 14.09.2012 / 15:40