Redhat에서는 언제부터 f95가 사용가능했었는지 궁금합니다.
안녕하세요.
요즘에 mpi에 관련해서 이런저런 공부를 해보려고 하는데 제가 돌리려고 하는 mpi예제가 f95로 작성된 것이더군요.
전에 fedora core 4.0에서는 lam_mpi를 최신버전으로 업데이트 한 후에
mpif77 sample.f -I/usr/local/include
하니 아무 문제 없이 실행파일이 나옵니다.
그런데 제가 꼭 redhat 8.0을 써야하는 PC가 하나가 있는데 거기에는 f95가 없어 처음에는 위와같이 컴파일을 하려고 하니 에러가 뜨더군요
이후 http://www.g95.org 에서 g95를 받아 깔고
mpif77 -showme 를 하니
g77 -I/usr/local/include -pthread -L/usr/local/lib -llammpio -llamf77mpi -lmpi -llam -laio -laio -lutil -ldl
라 이걸
g95 -I/usr/local/include -pthread -L/usr/local/lib -llammpio -llamf77mpi -lmpi -llam -laio -laio -lutil -ldl
라고 컴파일을 하니
[electra@tp1 mpi_test]$ g95 -I/usr/local/include -pthread -L/usr/local/lib -lla
mmpio -lmpi -llam -laio -laio -lutil -ldl jacob00.f
In file jacob00.f:104
call MPI_BCAST(Converged,1,MPI_LOGICAL,0,MPI_COMM_WORLD,ierr)
1
In file jacob00.f:32
call MPI_BCAST(n,1,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)
2
Warning (155): Inconsistent types (LOGICAL(4)/INTEGER(4)) in actual argument lis
ts at (1) and (2)
/tmp/cc0CVjWX.o: In function `MAIN_':
/tmp/cc0CVjWX.o(.text+0x6e): undefined reference to `mpi_init__'
/tmp/cc0CVjWX.o(.text+0x9a): undefined reference to `mpi_comm_rank__'
/tmp/cc0CVjWX.o(.text+0xc6): undefined reference to `mpi_comm_size__'
/tmp/cc0CVjWX.o(.text+0x208): undefined reference to `mpi_bcast__'
/tmp/cc0CVjWX.o(.text+0xd91): undefined reference to `mpi_bcast__'
/tmp/cc0CVjWX.o(.text+0xf34): undefined reference to `mpi_send__'
/tmp/cc0CVjWX.o(.text+0xfb4): undefined reference to `mpi_recv__'
/tmp/cc0CVjWX.o(.text+0x104d): undefined reference to `mpi_send__'
/tmp/cc0CVjWX.o(.text+0x10d1): undefined reference to `mpi_recv__'
/tmp/cc0CVjWX.o(.text+0x1152): undefined reference to `mpi_recv__'
/tmp/cc0CVjWX.o(.text+0x11be): undefined reference to `mpi_send__'
/tmp/cc0CVjWX.o(.text+0x1253): undefined reference to `mpi_recv__'
/tmp/cc0CVjWX.o(.text+0x12c3): undefined reference to `mpi_send__'
/tmp/cc0CVjWX.o(.text+0x152e): undefined reference to `mpi_finalize__'
/tmp/cc0CVjWX.o(.data+0x0): undefined reference to `mpi_comm_dup_fn__'
/tmp/cc0CVjWX.o(.data+0x4): undefined reference to `mpi_comm_null_delete_fn__'
/tmp/cc0CVjWX.o(.data+0x8): undefined reference to `mpi_comm_null_copy_fn__'
/tmp/cc0CVjWX.o(.data+0xc): undefined reference to `mpi_dup_fn__'
/tmp/cc0CVjWX.o(.data+0x10): undefined reference to `mpi_null_copy_fn__'
/tmp/cc0CVjWX.o(.data+0x14): undefined reference to `mpi_null_delete_fn__'
/tmp/cc0CVjWX.o(.data+0x18): undefined reference to `mpi_type_null_delete_fn__'
/tmp/cc0CVjWX.o(.data+0x1c): undefined reference to `mpi_type_null_copy_fn__'
/tmp/cc0CVjWX.o(.data+0x20): undefined reference to `mpi_type_dup_fn__'
/tmp/cc0CVjWX.o(.data+0x24): undefined reference to `mpi_win_dup_fn__'
/tmp/cc0CVjWX.o(.data+0x28): undefined reference to `mpi_win_null_copy_fn__'
/tmp/cc0CVjWX.o(.data+0x2c): undefined reference to `mpi_wtick__'
/tmp/cc0CVjWX.o(.data+0x30): undefined reference to `pmpi_wtick__'
/tmp/cc0CVjWX.o(.data+0x34): undefined reference to `pmpi_wtime__'
/tmp/cc0CVjWX.o(.data+0x38): undefined reference to `mpi_wtime__'
/tmp/cc0CVjWX.o(.data+0x48): undefined reference to `mpi_win_null_delete_fn__'
라고 에러를 던지면서 죽어버리는군요.
아예 깔끔하게 f95가 깔린버전에서 다시 시도해보려고 하는데
질문이 아래 두가지 입니다.
1. 위의 에러를 어떻게 해결할 수 있을까요? (제가 프로그래밍은 익숙치 않아서...)
2. 혹시 어떻게 에러를 고칠 수 있는 상황이 아니라면 Redhat 9.0 혹은 Fedora core 몇 버전을 깔아쓰면 될까요?
고수님들의 답변 기다리겠습니다.
댓글 달기