Packaging with MPI support
Hello, I have package https://build.opensuse.org/package/show/home:vojtaeus/PhyML-mpi containing BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc BuildRequires: openmpi-macros-devel ... %build %{setup_openmpi} ./autogen.sh %configure --enable-mpi %make_build ... %check %{setup_openmpi} When I install it (up-to-date TW), it pulls openmpi3, openmpi3-config, openmpi3-libs and few other libs, but when I run it, I get error $ phyml-mpi phyml-mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory Interestingly, manual installation of openmpi4-libs and running "mpi-selector --set openmpi4" doesn't help. Anyway, it seems that openmpi-macros-devel is somehow unsure if it wishes openmpi 3 or 4. :-) How to fix it? -- Vojtěch Zeisek https://trapa.cz/ Komunita openSUSE GNU/Linuxu Community of the openSUSE GNU/Linux https://www.opensuse.org/
I suggest you for mpi to move more to to hpc modules for opensuse. have a look in here https://build.opensuse.org/package/show/home:ccp5:stable/dl-poly Without Questions there are no Answers! ______________________________________________________________________ Dr. Alin Marin ELENA http://alin.elena.space/ ______________________________________________________________________ On Thu, 27 May 2021 at 16:34, Vojtěch Zeisek <vojtech.zeisek@opensuse.org> wrote:
Hello, I have package https://build.opensuse.org/package/show/home:vojtaeus/PhyML-mpi containing
BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc BuildRequires: openmpi-macros-devel ... %build %{setup_openmpi} ./autogen.sh %configure --enable-mpi %make_build ... %check %{setup_openmpi}
When I install it (up-to-date TW), it pulls openmpi3, openmpi3-config, openmpi3-libs and few other libs, but when I run it, I get error
$ phyml-mpi phyml-mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
Interestingly, manual installation of openmpi4-libs and running "mpi-selector --set openmpi4" doesn't help. Anyway, it seems that openmpi-macros-devel is somehow unsure if it wishes openmpi 3 or 4. :-) How to fix it?
-- Vojtěch Zeisek https://trapa.cz/
Komunita openSUSE GNU/Linuxu Community of the openSUSE GNU/Linux https://www.opensuse.org/
Dne čtvrtek 27. května 2021 17:39:02 CEST, Alin Marin Elena napsal(a):
I suggest you for mpi to move more to to hpc modules for opensuse. have a look in here https://build.opensuse.org/package/show/home:ccp5:stable/dl-poly
It's interesting, but it doesn't explain why openmpi-macros-devel recommended by Dominique doesn't work... I like its usage as it's simple and straightforward, keeping spec file short. I'm not sure if I understand dl-poly.spec correctly - it defines combinations of various GCC and MPI, but I don't fully get how it's then used. And I have basically no idea how to replicate it for my packages...
On Thu, 27 May 2021 at 16:34, Vojtěch Zeisek wrote:
Hello, I have package https://build.opensuse.org/package/show/home:vojtaeus/PhyML-mpi containing
BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc BuildRequires: openmpi-macros-devel ... %build %{setup_openmpi} ./autogen.sh %configure --enable-mpi %make_build ... %check %{setup_openmpi}
When I install it (up-to-date TW), it pulls openmpi3, openmpi3-config, openmpi3-libs and few other libs, but when I run it, I get error
$ phyml-mpi phyml-mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
Interestingly, manual installation of openmpi4-libs and running "mpi-selector --set openmpi4" doesn't help. Anyway, it seems that openmpi-macros-devel is somehow unsure if it wishes openmpi 3 or 4. How to fix it? -- Vojtěch Zeisek https://trapa.cz/
Komunita openSUSE GNU/Linuxu Community of the openSUSE GNU/Linux https://www.opensuse.org/
On Thu, May 27, 2021 at 9:58 AM Vojtěch Zeisek <vojtech.zeisek@opensuse.org> wrote:
Dne čtvrtek 27. května 2021 17:39:02 CEST, Alin Marin Elena napsal(a):
I suggest you for mpi to move more to to hpc modules for opensuse. have a look in here https://build.opensuse.org/package/show/home:ccp5:stable/dl-poly
It's interesting, but it doesn't explain why openmpi-macros-devel recommended by Dominique doesn't work... I like its usage as it's simple and straightforward, keeping spec file short. I'm not sure if I understand dl-poly.spec correctly - it defines combinations of various GCC and MPI, but I don't fully get how it's then used. And I have basically no idea how to replicate it for my packages...
Same here, I recently stumbled across the fact that half of the packages in opensuse:factory still pull in openmpi2 and the other half pull in openmpi4. I tried to port mpi4py to one of the new MPI packaging schemes, but failed with the openmpi-macros-devel route as well as hpc module route. If I understand the dl-poly.spec correctly everything up to line 352 is just boilerplate, correct? Is there some documentation about this somewhere? Christoph
On Thu, 27 May 2021 at 16:34, Vojtěch Zeisek wrote:
Hello, I have package https://build.opensuse.org/package/show/home:vojtaeus/PhyML-mpi containing
BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc BuildRequires: openmpi-macros-devel ... %build %{setup_openmpi} ./autogen.sh %configure --enable-mpi %make_build ... %check %{setup_openmpi}
When I install it (up-to-date TW), it pulls openmpi3, openmpi3-config, openmpi3-libs and few other libs, but when I run it, I get error
$ phyml-mpi phyml-mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
Interestingly, manual installation of openmpi4-libs and running "mpi-selector --set openmpi4" doesn't help. Anyway, it seems that openmpi-macros-devel is somehow unsure if it wishes openmpi 3 or 4. How to fix it? -- Vojtěch Zeisek https://trapa.cz/
Komunita openSUSE GNU/Linuxu Community of the openSUSE GNU/Linux https://www.opensuse.org/
-- Christoph Junghans Web: http://www.compphys.de
Hi Christoph, yes you are right... is boiler plate... not that I know of documentation. Regards, Alin Without Questions there are no Answers! ______________________________________________________________________ Dr. Alin Marin ELENA http://alin.elena.space/ ______________________________________________________________________ On Thu, 27 May 2021 at 18:26, Christoph Junghans <junghans@votca.org> wrote:
On Thu, May 27, 2021 at 9:58 AM Vojtěch Zeisek <vojtech.zeisek@opensuse.org> wrote:
Dne čtvrtek 27. května 2021 17:39:02 CEST, Alin Marin Elena napsal(a):
I suggest you for mpi to move more to to hpc modules for opensuse. have a look in here https://build.opensuse.org/package/show/home:ccp5:stable/dl-poly
It's interesting, but it doesn't explain why openmpi-macros-devel recommended by Dominique doesn't work... I like its usage as it's simple and straightforward, keeping spec file short. I'm not sure if I understand dl-poly.spec correctly - it defines combinations of various GCC and MPI, but I don't fully get how it's then used. And I have basically no idea how to replicate it for my packages...
Same here, I recently stumbled across the fact that half of the packages in opensuse:factory still pull in openmpi2 and the other half pull in openmpi4. I tried to port mpi4py to one of the new MPI packaging schemes, but failed with the openmpi-macros-devel route as well as hpc module route.
If I understand the dl-poly.spec correctly everything up to line 352 is just boilerplate, correct? Is there some documentation about this somewhere?
Christoph
On Thu, 27 May 2021 at 16:34, Vojtěch Zeisek wrote:
Hello, I have package https://build.opensuse.org/package/show/home:vojtaeus/PhyML-mpi containing
BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc BuildRequires: openmpi-macros-devel ... %build %{setup_openmpi} ./autogen.sh %configure --enable-mpi %make_build ... %check %{setup_openmpi}
When I install it (up-to-date TW), it pulls openmpi3, openmpi3-config, openmpi3-libs and few other libs, but when I run it, I get error
$ phyml-mpi phyml-mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
Interestingly, manual installation of openmpi4-libs and running "mpi-selector --set openmpi4" doesn't help. Anyway, it seems that openmpi-macros-devel is somehow unsure if it wishes openmpi 3 or 4. How to fix it? -- Vojtěch Zeisek https://trapa.cz/
Komunita openSUSE GNU/Linuxu Community of the openSUSE GNU/Linux https://www.opensuse.org/
-- Christoph Junghans Web: http://www.compphys.de
On Thu, 2021-05-27 at 17:57 +0200, Vojtěch Zeisek wrote:
Dne čtvrtek 27. května 2021 17:39:02 CEST, Alin Marin Elena napsal(a):
I suggest you for mpi to move more to to hpc modules for opensuse. have a look in here https://build.opensuse.org/package/show/home:ccp5:stable/dl-poly
It's interesting, but it doesn't explain why openmpi-macros-devel recommended by Dominique doesn't work... I like its usage as it's simple and straightforward, keeping spec file short. I'm not sure if I understand dl-poly.spec correctly - it defines combinations of various GCC and MPI, but I don't fully get how it's then used. And I have basically no idea how to replicate it for my packages...
On Thu, 27 May 2021 at 16:34, Vojtěch Zeisek wrote:
Hello, I have package https://build.opensuse.org/package/show/home:vojtaeus/PhyML-mpi containing
BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc BuildRequires: openmpi-macros-devel ... %build %{setup_openmpi} ./autogen.sh %configure --enable-mpi %make_build ... %check %{setup_openmpi}
When I install it (up-to-date TW), it pulls openmpi3, openmpi3-config, openmpi3-libs and few other libs, but when I run it, I get error
$ phyml-mpi phyml-mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
Interestingly, manual installation of openmpi4-libs and running "mpi-selector --set openmpi4" doesn't help. Anyway, it seems that openmpi-macros-devel is somehow unsure if it wishes openmpi 3 or 4. How to fix it?
Looking at OBS' pages and inspecting the package, the latest version built, version 3.3.20200621, release 3.6, does have the correct dependency to openmpi 4 libraries: https://build.opensuse.org/package/binary/home:vojtaeus/PhyML-mpi/openSUSE_T... Are you sure that's the version you tested? Maybe you looked at the published repo before OBS actually did publish the update? Cheers, Dominique
Dne pátek 28. května 2021 13:14:16 CEST, Dominique Leuenberger / DimStar napsal(a):
On Thu, 2021-05-27 at 17:57 +0200, Vojtěch Zeisek wrote:
Dne čtvrtek 27. května 2021 17:39:02 CEST, Alin Marin Elena napsal(a):
I suggest you for mpi to move more to to hpc modules for opensuse. have a look in here https://build.opensuse.org/package/show/home:ccp5:stable/dl-poly
It's interesting, but it doesn't explain why openmpi-macros-devel recommended by Dominique doesn't work... I like its usage as it's simple and straightforward, keeping spec file short. I'm not sure if I understand dl-poly.spec correctly - it defines combinations of various GCC and MPI, but I don't fully get how it's then used. And I have basically no idea how to replicate it for my packages...
On Thu, 27 May 2021 at 16:34, Vojtěch Zeisek wrote:
Hello, I have package https://build.opensuse.org/package/show/home:vojtaeus/PhyML-mpi containing
BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc BuildRequires: openmpi-macros-devel ... %build %{setup_openmpi} ./autogen.sh %configure --enable-mpi %make_build ... %check %{setup_openmpi}
When I install it (up-to-date TW), it pulls openmpi3, openmpi3-config, openmpi3-libs and few other libs, but when I run it, I get error
$ phyml-mpi phyml-mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
Interestingly, manual installation of openmpi4-libs and running "mpi-selector --set openmpi4" doesn't help. Anyway, it seems that openmpi-macros-devel is somehow unsure if it wishes openmpi 3 or 4. How to fix it?
Looking at OBS' pages and inspecting the package, the latest version built, version 3.3.20200621, release 3.6, does have the correct dependency to openmpi 4 libraries: https://build.opensuse.org/package/binary/home:vojtaeus/PhyML-mpi /openSUSE_Tumbleweed/x86_64/PhyML-mpi-3.3.20200621-3.6.x86_64.rpm Are you sure that's the version you tested? Maybe you looked at the published repo before OBS actually did publish the update?
Interesting. This could be the case. I updated the spec file 10 days ago, installed yesterday. Or something weird with my MPI installation. Today I tried to keep the default installed openmpi3 and after running "mpi-selector --set openmpi3" it works. Same for my other packages using MPI. I don't fully get it, but never mind. :-) openmpi-macros-devel seems to be working well, so let's encourage packagers to use it. :-) Thank all for help, sorry for noise. -- Vojtěch Zeisek https://trapa.cz/ Komunita openSUSE GNU/Linuxu Community of the openSUSE GNU/Linux https://www.opensuse.org/
participants (4)
-
Alin Marin Elena
-
Christoph Junghans
-
Dominique Leuenberger / DimStar
-
Vojtěch Zeisek