Linking MUMPS and other libraries
Hi everyone, So I’ve compiled MUMPS, scotch, metis from source, and now trying to like MUMPS in the build.conf file, but with no luck. I am doing this on a Linux cluster, so I don’t have root access, and to improve performance I built everything from source. From documentation, I understand the build.conf file should look like this: [mumps] libraries = zmumps mumps_common pord metis esmumps scotch scotcherr mpiseq gfortran However I’m trying to link everything to static libraries. I tries using the full source to .a library files for each option, but I keep getting compile errors for every library, such as: warning: no library file corresponding to ‘/user/MUMPS_5.0.1/lib/libzmumps.a’ found (skipping) and compilation ends without mumps being linked to kwant. Any help is appreciated. Best regards, Abdul
Dear Abdul, usually Mumps builds only static libraries, i.e. with the suffix .a . When you use the link line as given in your email, kwant will in fact automatically be linked statically against mumps. Best, Michael
Am 19 feb. 2016 um 19:52 schrieb Abdulkareem Afandi <abdulkareem.afandi@gmail.com>:
Hi everyone,
So I’ve compiled MUMPS, scotch, metis from source, and now trying to like MUMPS in the build.conf file, but with no luck. I am doing this on a Linux cluster, so I don’t have root access, and to improve performance I built everything from source. From documentation, I understand the build.conf file should look like this:
[mumps] libraries = zmumps mumps_common pord metis esmumps scotch scotcherr mpiseq gfortran However I’m trying to link everything to static libraries. I tries using the full source to .a library files for each option, but I keep getting compile errors for every library, such as:
warning: no library file corresponding to ‘/user/MUMPS_5.0.1/lib/libzmumps.a’ found (skipping)
and compilation ends without mumps being linked to kwant.
Any help is appreciated.
Best regards, Abdul
Hi Michael, Thank you for your reply. I’ve built MUMPS and its dependancies in my user space, since I’m on a cluster and don’t have root access. Doing the linking as suggested ends up with errors as libraries cannot be found: kwant/linalg/_mumps.c:264:27: fatal error: mumps_c_types.h: No such file or directory #include "mumps_c_types.h" ^ compilation terminated. How do I specify the full path for each library (e.g. /user/mumps/lib/mumps_common.a) in the build.conf file? I understand this can be specified for mumps as shown in documentation, but how about the other libraries (zmumps, pord, scotch, etc)? Best regards, Abdul
On 19 Feb 2016, at 18:52, Abdulkareem Afandi <abdulkareem.afandi@gmail.com> wrote:
Hi everyone,
So I’ve compiled MUMPS, scotch, metis from source, and now trying to like MUMPS in the build.conf file, but with no luck. I am doing this on a Linux cluster, so I don’t have root access, and to improve performance I built everything from source. From documentation, I understand the build.conf file should look like this:
[mumps] libraries = zmumps mumps_common pord metis esmumps scotch scotcherr mpiseq gfortran However I’m trying to link everything to static libraries. I tries using the full source to .a library files for each option, but I keep getting compile errors for every library, such as:
warning: no library file corresponding to ‘/user/MUMPS_5.0.1/lib/libzmumps.a’ found (skipping)
and compilation ends without mumps being linked to kwant.
Any help is appreciated.
Best regards, Abdul
Dear Abdul, zmumps, pord, etc. all belong to the Mumps package actually. But in any case, you can specify the directories where the include and libraries library files reside by adding include_dirs = dir1 dir2 library_dirs = dir3 dir4 to the [mumps] section. dir1 etc are of course the proper paths. You can specify several directories in one line, just separate them with a space. Hope that helps, Michael On 20-02-16 00:57, Abdulkareem Afandi wrote:
Hi Michael,
Thank you for your reply. I’ve built MUMPS and its dependancies in my user space, since I’m on a cluster and don’t have root access. Doing the linking as suggested ends up with errors as libraries cannot be found:
kwant/linalg/_mumps.c:264:27: fatal error: mumps_c_types.h: No such file or directory #include "mumps_c_types.h" ^ compilation terminated.
How do I specify the full path for each library (e.g. /user/mumps/lib/mumps_common.a) in the build.conf file? I understand this can be specified for mumps as shown in documentation, but how about the other libraries (zmumps, pord, scotch, etc)?
Best regards, Abdul
On 19 Feb 2016, at 18:52, Abdulkareem Afandi <abdulkareem.afandi@gmail.com <mailto:abdulkareem.afandi@gmail.com>> wrote:
Hi everyone,
So I’ve compiled MUMPS, scotch, metis from source, and now trying to like MUMPS in the build.conf file, but with no luck. I am doing this on a Linux cluster, so I don’t have root access, and to improve performance I built everything from source. From documentation, I understand the build.conf file should look like this:
[mumps] libraries = zmumps mumps_common pord metis esmumps scotch scotcherr mpiseq gfortran However I’m trying to link everything to static libraries. I tries using the full source to .a library files for each option, but I keep getting compile errors for every library, such as:
warning: no library file corresponding to ‘/user/MUMPS_5.0.1/lib/libzmumps.a’ found (skipping)
and compilation ends without mumps being linked to kwant.
Any help is appreciated.
Best regards, Abdul
participants (3)
-
Abdulkareem Afandi
-
Michael Wimmer
-
Michael Wimmer