This thread is locked.Only browsing is available.
Top Page > Browsing
openmx3.7 installation on Cygwin?
Date: 2013/08/27 20:12
Name: K. Kachrimanis

Dear Prof. Ozaki,
I have been trying to install openmx3.7 on Cygwin (version 2.774) and I keep receiving various errors.
To be more specific, with the following options:

CC = mpicc -openmp -O3 -Dnosse -I/usr/include
FC = mpif90 -openmp -O3 -I/usr/include
LIB = -L/lib -lfftw3 -llapack -lblas -lg2c -static

the compiler failes to build the file openmx.o, together with several other .o files.

When I use the following options:

CC = mpicc -Dnoomp -O3 -Dnosse -I/usr/include
FC = mpif90 -Dnoomp -O3 -I/usr/include
LIB = -L/lib -lfftw3 -llapack -lblas -lg2c -static

the compiler builds everything, but the linker fails with the following error message:
... cannot find -lfftw3
... cannot find -lesmtp
collect2: error: ld return 1 exit status
makefile:205: recipe for target "openmx" failed
make: ***[openmx] Error 1

The libraries libfftw3.dll.a and libesmpt.dll.a are in the specified directory, but I understand thatthe linker is looking for the files libfftw3.a and libesmpt.a, which do not exist. Could provide some help with the installation?
Thank you for your time and consideration.
メンテ
Page: [1]

Re: openmx3.7 installation on Cygwin? ( No.1 )
Date: 2013/08/31 16:39
Name: K. Kachrimanis

Continueing the efforts to compile openmx3.7 on Cygwin (x86 32 bit version), the dependencies have been resolved by compiling libfftw3 and libesmtp from source. Compiling with the following settings:

CC = mpicc -Dnoomp -O3 -Dnosse -I/usr/include
FC = mpif90 -Dnoomp -O3 -I/usr/include
LIB = -L/lib -lfftw3 -llapack -lblas -static

the compiler proceeeds with the creation of the .o files, however there is a series of "undefined references" message, and the linker fails. Here is a copy of the errors:

openmx.o:openmx.c:(.text.startup+0x180): undefined reference to `omp_set_num_threads'
truncation.o:truncation.c:(.text+0x29b): undefined reference to `omp_get_thread_num'
truncation.o:truncation.c:(.text+0x2a2): undefined reference to `omp_get_num_threads'
truncation.o:truncation.c:(.text+0x2b1): undefined reference to `omp_get_num_procs'
truncation.o:truncation.c:(.text+0x6bb): undefined reference to `omp_get_thread_num'
truncation.o:truncation.c:(.text+0x6c2): undefined reference to `omp_get_num_threads'
truncation.o:truncation.c:(.text+0x6ce): undefined reference to `omp_get_num_procs'
truncation.o:truncation.c:(.text+0x4cfc): undefined reference to `omp_get_thread_num'
truncation.o:truncation.c:(.text+0x4d08): undefined reference to `omp_get_num_threads'
truncation.o:truncation.c:(.text+0x4d14): undefined reference to `omp_get_num_procs'
truncation.o:truncation.c:(.text+0x71eb): undefined reference to `omp_get_thread_num'
truncation.o:truncation.c:(.text+0x71f2): undefined reference to `omp_get_num_threads'
truncation.o:truncation.c:(.text+0x7205): undefined reference to `omp_get_num_procs'
truncation.o:truncation.c:(.text+0xa475): undefined reference to `omp_get_thread_num'
truncation.o:truncation.c:(.text+0xa483): undefined reference to `omp_get_num_threads'
truncation.o:truncation.c:(.text+0xa48c): undefined reference to `omp_get_num_procs'
truncation.o:truncation.c:(.text+0xa6e7): undefined reference to `omp_get_thread_num'
truncation.o:truncation.c:(.text+0xa6ee): undefined reference to `omp_get_num_threads'
truncation.o:truncation.c:(.text+0xa6fa): undefined reference to `omp_get_num_procs'
/usr/lib/gcc/i686-pc-cygwin/4.7.3/../../../../i686-pc-cygwin/bin/ld: truncation.o: bad reloc address 0x20 in section `.eh_frame'
collect2: error: ld returned 1 exit status
makefile:205: recipe for target `openmx' failed
make: *** [openmx] Error 1

Are there any suggestions?
メンテ
Re: openmx3.7 installation on Cygwin? ( No.2 )
Date: 2013/09/02 16:17
Name: T.V.T. Duy  <duytvt@jaist.ac.jp>

Hi,

Please modify CC, FC, and LIB as below and try again.

CC = mpicc -fopenmp -O3 -Dnosse -I/usr/include
FC = mpif90 -O3 -I/usr/include
LIB = -L/lib -lfftw3 -llapack -lblas -static -lgfortran

Best regards,
T.V.T. Duy
メンテ
Re: openmx3.7 installation on Cygwin? ( No.3 )
Date: 2013/09/02 16:58
Name: K. Kachrimanis

Dear Dr. Duy,

Thank you for your reply. Unfortunately, this doesn't work. I still receive a long list of undefined references (too long to post here), after the .o files are created. Here is the final error message:

/usr/lib/gcc/i686-pc-cygwin/4.7.3/../../../../i686-pc-cygwin/bin/ld: elpa1.o: bad reloc address 0x20 in section `.eh_frame'
collect2: error: ld returned 1 exit status
makefile:208: recipe for target `openmx' failed
make: *** [openmx] Error 1

Kind Regards,

K.Kachrimanis
メンテ
Re: openmx3.7 installation on Cygwin? ( No.4 )
Date: 2013/09/02 17:13
Name: T.V.T. Duy  <duytvt@jaist.ac.jp>

Hi,

Please post a few first error messages so that I can figure out the problem.

I used similar settings of CC, FC, and LIB and could compile successfully in cygwin on my computer.

Best regards,
T.V.T. Duy
メンテ
Re: openmx3.7 installation on Cygwin? ( No.5 )
Date: 2013/09/02 17:27
Name: K. Kachrimanis

Here is the full list of the undefined references:

elpa1.o:elpa1.f90:(.text+0x5a5): undefined reference to `mpi_recv_'
elpa1.o:elpa1.f90:(.text+0x695): undefined reference to `mpi_send_'
elpa1.o:elpa1.f90:(.text+0x746): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x813): undefined reference to `mpi_sendrecv_replace_'
elpa1.o:elpa1.f90:(.text+0x85c): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0xa04): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0xe26): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xe4b): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xe6d): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xe8f): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x1507): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x15b2): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x1763): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x1cf0): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0x1dcd): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x1deb): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x1e0d): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x1e28): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x2484): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x252f): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x26eb): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x2bcd): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0x3201): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x3226): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x324b): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x3270): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x434c): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x4482): undefined reference to `mpi_recv_'
elpa1.o:elpa1.f90:(.text+0x454f): undefined reference to `mpi_send_'
elpa1.o:elpa1.f90:(.text+0x5912): undefined reference to `mpi_sendrecv_replace_'
elpa1.o:elpa1.f90:(.text+0x5e88): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x5f91): undefined reference to `mpi_send_'
elpa1.o:elpa1.f90:(.text+0x5fe7): undefined reference to `mpi_recv_'
elpa1.o:elpa1.f90:(.text+0x632a): undefined reference to `mpi_send_'
elpa1.o:elpa1.f90:(.text+0x63c6): undefined reference to `mpi_send_'
elpa1.o:elpa1.f90:(.text+0x6460): undefined reference to `mpi_recv_'
elpa1.o:elpa1.f90:(.text+0x655d): undefined reference to `mpi_recv_'
elpa1.o:elpa1.f90:(.text+0x6608): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0x67d6): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0x68b6): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x68cd): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x6cdb): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x6daf): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x7045): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x7685): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x76a4): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x76c9): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x76e7): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x7961): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0x839c): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x83c1): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x83e6): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x8404): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x8b0f): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x9054): undefined reference to `mpi_reduce_'
elpa1.o:elpa1.f90:(.text+0x952c): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x9551): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x9576): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x959b): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x9bfa): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x9f4e): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0xa1d7): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0xa6a8): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xa6cd): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xa6f2): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xa710): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xadff): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0xb2e9): undefined reference to `mpi_reduce_'
elpa1.o:elpa1.f90:(.text+0xb75f): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xb784): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xb7a7): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xb7c5): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xbe58): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0xc197): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0xc3f1): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0xc7a5): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xc7c7): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xc7e5): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xc803): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xca86): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0xce5f): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xce84): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xcea2): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xceb9): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xd62b): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0xd996): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0xdf6a): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0xe02a): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0xe10f): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xe134): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xe152): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xe169): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xe905): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0xecc5): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0xf2d8): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0xf395): undefined reference to `mpi_abort_'
elpa1.o:elpa1.f90:(.text+0xf477): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xf495): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xf4b3): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xf4d1): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xf8d5): undefined reference to `mpi_reduce_'
elpa1.o:elpa1.f90:(.text+0xfb65): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xfb83): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0xfba8): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0xfbc6): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x10325): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x1086e): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x10986): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x10e92): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x110fd): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x111ad): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x1125d): more undefined references to `mpi_allreduce_' follow
elpa1.o:elpa1.f90:(.text+0x1185c): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x11881): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x1189f): undefined reference to `mpi_comm_rank_'
elpa1.o:elpa1.f90:(.text+0x118bd): undefined reference to `mpi_comm_size_'
elpa1.o:elpa1.f90:(.text+0x12031): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x1218d): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x1223d): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x122ed): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x12392): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x12604): undefined reference to `mpi_bcast_'
elpa1.o:elpa1.f90:(.text+0x12bc5): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x12d35): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x134f1): undefined reference to `mpi_allreduce_'
elpa1.o:elpa1.f90:(.text+0x13791): undefined reference to `mpi_bcast_'
/usr/lib/gcc/i686-pc-cygwin/4.7.3/../../../../i686-pc-cygwin/bin/ld: elpa1.o: bad reloc address 0x20 in section `.eh_frame'
collect2: error: ld returned 1 exit status
makefile:208: recipe for target `openmx' failed
make: *** [openmx] Error 1
メンテ
Re: openmx3.7 installation on Cygwin? ( No.6 )
Date: 2013/09/02 17:41
Name: T.V.T. Duy  <duytvt@jaist.ac.jp>

These error messages indicate that you need to provide the MPI Fortran library.
If you are using mpich, you will need the library libfmpich in lib of the root folder of mpich. You can add -lfmpich and try again.

LIB = -L/lib -lfftw3 -llapack -lblas -static -lgfortran -lfmpich


メンテ
Re: openmx3.7 installation on Cygwin? ( No.7 )
Date: 2013/09/03 02:07
Name: K. Kachrimanis

Dear Dr. Duy,

Thank you very much for the useful instructions. After installing mpich2 (version 3.0.4), openmx compiled normally.
I assume it is safe to ignore the following warnings?

liberi-091216/source/eri.c: In function ‘ERI_Overlap’:
liberi-091216/source/eri.c:133:5: warning: passing argument 5 of ‘ERI_LL_Overlap_d’ from incompatible pointer type [enabled by default]
In file included from liberi-091216/source/eri.c:14:0:
liberi-091216/source/eri.h:527:6: note: expected ‘const double **’ but argument is of type ‘double **’
liberi-091216/source/eri.c:133:5: warning: passing argument 7 of ‘ERI_LL_Overlap_d’ from incompatible pointer type [enabled by default]
In file included from liberi-091216/source/eri.c:14:0:
liberi-091216/source/eri.h:527:6: note: expected ‘const double **’ but argument is of type ‘double **’
liberi-091216/source/eri.c: In function ‘ERI_Integral’:
liberi-091216/source/eri.c:229:23: warning: passing argument 3 of ‘ERI_Integral_GL_d’ from incompatible pointer type [enabled by default]
In file included from liberi-091216/source/eri.c:14:0:
liberi-091216/source/eri.h:571:6: note: expected ‘double (*)[3][2]’ but argument is of type ‘double *’
liberi-091216/source/eri.c:229:23: warning: passing argument 6 of ‘ERI_Integral_GL_d’ from incompatible pointer type [enabled by default]
In file included from liberi-091216/source/eri.c:14:0:
liberi-091216/source/eri.h:571:6: note: expected ‘const double **’ but argument is of type ‘double **’
liberi-091216/source/eri.c:229:23: warning: passing argument 7 of ‘ERI_Integral_GL_d’ from incompatible pointer type [enabled by default]
In file included from liberi-091216/source/eri.c:14:0:
liberi-091216/source/eri.h:571:6: note: expected ‘const double **’ but argument is of type ‘double **’

With Kind Regards,

Kyriakos Kachrimanis.
メンテ
Re: openmx3.7 installation on Cygwin? ( No.8 )
Date: 2013/09/03 07:37
Name: K. Kachrimanis

I would like to add that I had to recompile mpich2 after configuring with the CPPFLAGS=-DNDEBUG option, in order to make the openmx executable work properly with the examples.
Again, many thanks for your help.
メンテ
Re: openmx3.7 installation on Cygwin? ( No.9 )
Date: 2013/09/03 11:47
Name: T.V.T. Duy  <duytvt@jaist.ac.jp>

Dear Dr. Kachrimanis,

I am glad to hear that you have successfully compiled and executed OpenMX.
I guess you can safely ignore the warnings with liberi.

Best regards,
T.V.T. Duy
メンテ

Page: [1]