Bug 1461656 - bionetgen-2.3.0-3.fc27 FTBFS in mock: Lmod has detected the following error: The following module(s) are unknown: "mpi/openmpi-x86_64"
bionetgen-2.3.0-3.fc27 FTBFS in mock: Lmod has detected the following error: ...
Status: NEW
Product: Fedora
Classification: Fedora
Component: openmpi (Show other bugs)
27
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Doug Ledford
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-06-15 02:04 EDT by Petr Pisar
Modified: 2017-08-15 02:37 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Mock build log (452.13 KB, text/plain)
2017-06-15 05:17 EDT, Antonio Trande
no flags Details

  None (edit)
Description Petr Pisar 2017-06-15 02:04:40 EDT
bionetgen-2.3.0-3.fc27 fails to build in F27 x86_64 mock environment:

autoreconf: Leaving directory `.'
+ . /etc/profile.d/modules.sh
++ '[' -z '' ']'
++ '[' -z '' ']'
++ export USER=mockbuild
++ USER=mockbuild
+++ uname
++ export LMOD_sys=Linux
++ LMOD_sys=Linux
++ export MODULEPATH_ROOT=/usr/share/modulefiles
++ MODULEPATH_ROOT=/usr/share/modulefiles
+++ /usr/share/lmod/lmod/libexec/addto --append MODULEPATH /usr/share/modulefiles/Linux /usr/share/modulefiles/Core
++ export MODULEPATH=/usr/share/modulefiles/Linux:/usr/share/modulefiles/Core
++ MODULEPATH=/usr/share/modulefiles/Linux:/usr/share/modulefiles/Core
+++ /usr/share/lmod/lmod/libexec/addto --append MODULEPATH /usr/share/lmod/lmod/modulefiles/Core
++ export MODULEPATH=/usr/share/modulefiles/Linux:/usr/share/modulefiles/Core:/usr/share/lmod/lmod/modulefiles/Core
++ MODULEPATH=/usr/share/modulefiles/Linux:/usr/share/modulefiles/Core:/usr/share/lmod/lmod/modulefiles/Core
++ export BASH_ENV=/usr/share/lmod/lmod/init/bash
++ BASH_ENV=/usr/share/lmod/lmod/init/bash
++ '[' -z '' ']'
++ export MANPATH=:
++ MANPATH=:
+++ /usr/share/lmod/lmod/libexec/addto MANPATH /usr/share/lmod/lmod/share/man
++ export MANPATH=/usr/share/lmod/lmod/share/man::
++ MANPATH=/usr/share/lmod/lmod/share/man::
++ PS_CMD=/usr/bin/ps
++ '[' '!' -x /usr/bin/ps ']'
++ EXPR_CMD=/usr/bin/expr
++ '[' '!' -x /usr/bin/expr ']'
++ BASENAME_CMD=/usr/bin/basename
++ '[' '!' -x /usr/bin/basename ']'
+++ /usr/bin/ps -p 34 -ocomm=
++ my_shell=sh
+++ /usr/bin/expr sh : '-*\(.*\)'
++ my_shell=sh
+++ /usr/bin/basename sh
++ my_shell=sh
++ '[' -f /usr/share/lmod/lmod/init/sh ']'
++ . /usr/share/lmod/lmod/init/sh
+++ LMOD_PKG=/usr/share/lmod/lmod
+++ LMOD_DIR=/usr/share/lmod/lmod/libexec/
+++ LMOD_CMD=/usr/share/lmod/lmod/libexec/lmod
+++ MODULESHOME=/usr/share/lmod/lmod
+++ export LMOD_CMD
+++ export LMOD_PKG
+++ export LMOD_DIR
+++ export MODULESHOME
+++ export LMOD_DIR
++ unset my_shell PS_CMD EXPR_CMD BASENAME_CMD
+ module load mpi/openmpi-x86_64
++ /usr/share/lmod/lmod/libexec/lmod sh load mpi/openmpi-x86_64
Lmod has detected the following error: The following module(s) are unknown:
"mpi/openmpi-x86_64"
Comment 1 Antonio Trande 2017-06-15 05:17 EDT
Created attachment 1287965 [details]
Mock build log

For me, mock works.
Comment 2 Petr Pisar 2017-06-15 06:19:45 EDT
I think it depends on whether you build the package from a login shell that was started after installing Lmod package or not.

I don't have Lmod on my system and shell I launch mock from does not have any modules environment variables, the build fails.

I can narrow it to:

$ set | grep -i mod
# dnf --allowerasing install Lmod openmpi
$ . /etc/profile.d/modules.sh; module load mpi/openmpi-x86_64
Lmod has detected the following error:  The following module(s) are unknown: "mpi/openmpi-x86_64"

Please check the spelling or version number. Also try "module spider ..."
It is also possible your cache file is out-of-date; it may help to try:
  $ module --ignore-cache load "mpi/openmpi-x86_64"

Also make sure that all modulefiles written in TCL start with the string #%Module

I think this is a bug in %_openmpi_load macro defined in /usr/lib/rpm/macros.d/macros.openmpi-x86_64. It does not work in this case.
Comment 3 Petr Pisar 2017-06-15 06:22:13 EDT
The /usr/lib/rpm/macros.d/macros.openmpi-x86_64 belongs to openmpi-devel-2.0.2-2.fc26.x86_64. Reassigning to openmpi.
Comment 4 Orion Poplawski 2017-06-15 22:12:22 EDT
I wonder if this is caused by bug #1450516 - mock no longer providing a login shell with systemd-nspawn - which should be fixed in git, but I don't know what version the builders are running.
Comment 5 Petr Pisar 2017-06-16 02:56:56 EDT
I have mock-1.4.1-1.fc25 and I use the nspawn method. Passing --old-chroot option to the mock tool does not help. It's probably triggered by the bug #1450516.

But I still think the %_openmpi_load should deal with it. Adding

  . /etc/profile.d/00-modulepath.sh;

before %_openmpi_load macro helps.
Comment 6 Jan Kurik 2017-08-15 02:37:26 EDT
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle.
Changing version to '27'.

Note You need to log in before you can comment on or make changes to this bug.