Open avarpow opened 2 years ago
Hi, I have the same issue with you. But as I compiled without posix and papi. It becomes a little more difficult for me to build the *.so files as it comes out the following outputs
/usr/bin/ld: .libs/libipm_la-GEN.wrapper_mpi.o: warning: relocation against
ompi_mpi_comm_world' in read-only section
.text' /usr/bin/ld: .libs/libipm_la-calltable.o: relocation R_X86_64_PC32 against symbol `ipm_calltable' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: bad value
Do you have any idea how to fix it?
never seen before. whats ur env?maybe mpi version different
An openmpi@4.0.5 built with spack and ucx. I don't think that makes a big difference though
I install openmpi and ucx using spack, and then I install IPM using spack also. I find that the IPM could work well when I use mpicc to compile C code and generate output. But when it comes to fortran code, it's different. I compile fortran code with options '-lipm -lipmf', and use ldd
to check. However, it didn't generate the output.
my env:
configure:
1.The generated file src/Makefile
FC =
is empty,I add it manually. 2.Commands in src/Makefile target libipm.la and libipmf.la shoud change fromrpath
to-Wl,rpath=
Then it can be compiled and libipm.a and libipmf.a generated in src/.libs. but libipm.so and libipmf.so not be generated.I compile libipm.so and libipmf.so manually using the following command. libipm.so
libipmf.so
I test with my openmpi@4.1.1 and it works well.
Is there any way to correct the configure script to fix the wrong makefile? Why shared library not being generated?