MUMPS Library Linking

Discussion about building and installing Elmer
hazelsct
Posts: 153
Joined: 05 Oct 2009, 17:02
Location: Boston, MA, USA
Contact:

Re: MUMPS Library Linking

Post by hazelsct »

Hello Aizat,

Simply type:
ldd [libraryfilename]
and it will tell you exactly where the library gets all of dependencies, if they were linked. It only works with executables and shared libraries though; if you have static libraries then you will need to do a symbol-by-symbol check in each library to see where each is. See the man pages for ldd and nm.

How recently did you try to build? I added a MUMPS test to configure a couple of weeks ago; does it pass that test?

-Adam
udeng85
Posts: 45
Joined: 20 Sep 2010, 06:23

Re: MUMPS Library Linking

Post by udeng85 »

Hi Adam,

Thanks for the answer. The compilation of MUMP library is completed(finally), however, the compilation of FEM folder(in Elmer) requires compilation of BLACS with -fPIC, which I think is already included in the makefile( mpicc -fPIC). Can you check whether I am doing the right thing in the make file(blue coloured font):


Elmer(BLACS) error

relocation R_X86_64_32 against `BI_AuxBuff' can not be used when making a shared object; recompile with -fPIC
home/aizat/BLACS/LIB/blacs_MPI-LINUX-0.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[3]: *** [libelmersolver.so] Error 1
make[3]: Leaving directory `/home/aizat/trunk/fem/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/aizat/trunk/fem/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/aizat/trunk/fem'
make: *** [all] Error 2



Makefile(BLACS, Bmake.inc)

F77 = mpif77
F77NO_OPTFLAGS =
F77FLAGS = $(F77NO_OPTFLAGS) -fPIC -O
F77LOADER = $(F77)
F77LOADFLAGS =
CC = mpicc
CCFLAGS = -O3 -fPIC
CCLOADER = $(CC)
CCLOADFLAGS =



Thank you.

-Aizat-
hazelsct
Posts: 153
Joined: 05 Oct 2009, 17:02
Location: Boston, MA, USA
Contact:

Re: MUMPS Library Linking

Post by hazelsct »

Hello Aizat,

This looks correct, I'm not sure what could be wrong. It might be worth checking into BLACS, ScaLAPACK and MUMPS packages in Fedora, or perhaps converting the Debian packages using alien since I don't think there is any important post-installation stuff for those packages...

(The Elmer .deb package needs debconf, for which I don't think there's an equivalent in RedHat, at least not one which can be automatically converted.)

-Adam
udeng85
Posts: 45
Joined: 20 Sep 2010, 06:23

Re: MUMPS Library Linking

Post by udeng85 »

Hi Adam,

Thanks for you advice. The problem seems to originate from BLACS file. After running the BLACS test file, I noticed that I am using BLACS that is not compatible with my architecture. For Opensuse, the BLACS static library can be obtained here http://hany.sk/~hany/RPM/f-updates-11-x ... 86_64.html . I am finally able to install Elmer and can concentrate on running the system for my project.

-Aizat-
hazelsct
Posts: 153
Joined: 05 Oct 2009, 17:02
Location: Boston, MA, USA
Contact:

Re: MUMPS Library Linking

Post by hazelsct »

Terrific! I'm glad it works. I've found that MUMPS scales very well up to the 8 cores I've tested, so I use it a lot.

-Adam
YannGuevel
Posts: 30
Joined: 26 May 2014, 12:37
Antispam: Yes

Re: MUMPS Library Linking

Post by YannGuevel »

Hello,

Have you tested this procedure using the new CMake installation?

Thanks.
Post Reply