Skip to content

'./configure --without-lsf' causes build to fail with "no/lib" error #3546

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
pmillet opened this issue May 18, 2017 · 6 comments
Closed

'./configure --without-lsf' causes build to fail with "no/lib" error #3546

pmillet opened this issue May 18, 2017 · 6 comments
Assignees

Comments

@pmillet
Copy link

pmillet commented May 18, 2017

Background information

What version of Open MPI are you using? (e.g., v1.10.3, v2.1.0, git branch name and hash, etc.)

v2.1.1

Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)

release tarball: openmpi-2.1.1.tar.gz

Please describe the system on which you are running

  • Operating system/version:
    Scientific Linux 6
  • Computer hardware:
    various
  • Network type:
    various

Details of the problem

When trying to build OpenMPI without LSF support using --without-lsf in configure the build will eventually fail with the following error:

make[2]: Entering directory `/build/millet/ext/CMSSW_9_1_X/20170515_1016/a/BUILD/slc6_amd64_gcc530/external/openmpi/2.1.1/openmpi-2.1.1/orte/mca/ess/lsf'
  CC       ess_lsf_component.lo
  CC       ess_lsf_module.lo
  CCLD     mca_ess_lsf.la
../../../../libtool: line 7489: cd: no/lib: No such file or directory
libtool:   error: cannot determine absolute directory name of 'no/lib'
make[2]: *** [mca_ess_lsf.la] Error 1
make[2]: Leaving directory `/build/millet/ext/CMSSW_9_1_X/20170515_1016/a/BUILD/slc6_amd64_gcc530/external/openmpi/2.1.1/openmpi-2.1.1/orte/mca/ess/lsf'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/build/millet/ext/CMSSW_9_1_X/20170515_1016/a/BUILD/slc6_amd64_gcc530/external/openmpi/2.1.1/openmpi-2.1.1/orte'
make: *** [all-recursive] Error 1
error: Bad exit status from /build/millet/ext/CMSSW_9_1_X/20170515_1016/a/tmp/rpm-tmp.Lu2Zvd (%build)
RPM build errors:
    Bad exit status from /build/millet/ext/CMSSW_9_1_X/20170515_1016/a/tmp/rpm-tmp.Lu2Zvd (%build)

A similar issue with a different set of configure options has been reported in #3447 (just with 'yes/lib' instead of 'no/lib').

@ggouaillardet
Copy link
Contributor

thanks for the report,
can you please give this patch a try ?
note you will need recent autotools
it seems LSF is needed in /usr to reproduce the issue, and i do not have it.

diff --git a/config/orte_check_lsf.m4 b/config/orte_check_lsf.m4
index c32c1aa..416c83c 100644
--- a/config/orte_check_lsf.m4
+++ b/config/orte_check_lsf.m4
@@ -26,7 +26,7 @@ dnl
 # ORTE_CHECK_LSF(prefix, [action-if-found], [action-if-not-found])
 # --------------------------------------------------------
 AC_DEFUN([ORTE_CHECK_LSF],[
-    if test -z "$orte_check_lsf_happy" ; then
+    AS_IF([test -z "$orte_check_lsf_happy"],[
 	AC_ARG_WITH([lsf],
 		    [AC_HELP_STRING([--with-lsf(=DIR)],
 				    [Build LSF support])])
@@ -34,6 +34,7 @@ AC_DEFUN([ORTE_CHECK_LSF],[
 	AC_ARG_WITH([lsf-libdir],
 		    [AC_HELP_STRING([--with-lsf-libdir=DIR],
 				    [Search for LSF libraries in DIR])])
+        AS_IF([test "$with_lsf" != "no"],[
 	OPAL_CHECK_WITHDIR([lsf-libdir], [$with_lsf_libdir], [libbat.*])
 
 	# Defaults
@@ -123,7 +124,8 @@ AC_DEFUN([ORTE_CHECK_LSF],[
 	LIBS="$orte_check_lsf_$1_save_LIBS"
 
 	OPAL_SUMMARY_ADD([[Resource Managers]],[[LSF]],[$1],[$orte_check_lsf_happy])
-    fi
+        ],[orte_check_lsf_happy=no])
+    ])
 
     AS_IF([test "$orte_check_lsf_happy" = "yes"],
           [$1_LIBS="[$]$1_LIBS $orte_check_lsf_LIBS"

@jjhursey jjhursey self-assigned this May 22, 2017
@pmillet
Copy link
Author

pmillet commented May 24, 2017

I tried your patch. However on the test system I fails with the following error

/openmpi-2.1.1/config/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
make: *** [aclocal.m4] Error 127

The automake version on the system is 1.14.1. Is there any way to fix it with this version or is updating automake mandatory here?

@ggouaillardet
Copy link
Contributor

@pmillet yes, recent autotools are mandatory since you need to run autogen.pl before configure
see the requirements at https://www.open-mpi.org//source/building.php
you can either update autotools, or simply apply the patch on a rhel7 clone, then

./autogen.pl
./configure
make dist

and then move the tarball to your scientific linux 6 box, and

./configure --without-lsf

pmillet pushed a commit to pmillet/openmpi that referenced this issue Jun 7, 2017
pmillet pushed a commit to pmillet/openmpi that referenced this issue Jun 7, 2017
- updated perl version (/usr/bin/env/perl instead of /usr/bin/perl)
- fixed disabling lsf not working (see open-mpi/ompi#3546)
jjhursey added a commit to jjhursey/ompi that referenced this issue Sep 13, 2017
…ach path

 * Reference Issue open-mpi#3546
 * If the user specified `--without-lsf` then do not check for it
   on the system, even if it is there. This can lead to the build
   failure identified in the issue above.

Signed-off-by: Joshua Hursey <[email protected]>
jjhursey added a commit to jjhursey/ompi that referenced this issue Sep 13, 2017
…ach path

 * Reference Issue open-mpi#3546
 * If the user specified `--without-lsf` then do not check for it
   on the system, even if it is there. This can lead to the build
   failure identified in the issue above.

Signed-off-by: Joshua Hursey <[email protected]>
jjhursey added a commit to jjhursey/ompi that referenced this issue Sep 13, 2017
…ach path

 * Reference Issue open-mpi#3546
 * If the user specified `--without-lsf` then do not check for it
   on the system, even if it is there. This can lead to the build
   failure identified in the issue above.

Signed-off-by: Joshua Hursey <[email protected]>
@jjhursey
Copy link
Member

@pmillet It looks like you took the patch from @ggouaillardet into your other project. I'm assuming that means it worked for you. PR #4204 contains the full version of the fix. Let us know if you have any problems with that patch.

I was able to reproduce by putting the LSF library in the CFLAGS and LDFLAGS then running --without-lsf. PR #4204 fixes that issue, and will need to ported to the various release branches.

@pmillet
Copy link
Author

pmillet commented Sep 13, 2017

The patch from @ggouaillardet did solve them problem I had.

jjhursey added a commit to jjhursey/ompi that referenced this issue Sep 18, 2017
…ach path

 * Reference Issue open-mpi#3546
 * If the user specified `--without-lsf` then do not check for it
   on the system, even if it is there. This can lead to the build
   failure identified in the issue above.

Signed-off-by: Joshua Hursey <[email protected]>
(cherry picked from commit 24a8b5c)
Signed-off-by: Joshua Hursey <[email protected]>
jjhursey added a commit to jjhursey/ompi that referenced this issue Sep 18, 2017
…ach path

 * Reference Issue open-mpi#3546
 * If the user specified `--without-lsf` then do not check for it
   on the system, even if it is there. This can lead to the build
   failure identified in the issue above.

Signed-off-by: Joshua Hursey <[email protected]>
(cherry picked from commit 24a8b5c)
Signed-off-by: Joshua Hursey <[email protected]>
bwbarrett pushed a commit that referenced this issue Sep 19, 2017
…ach path

 * Reference Issue #3546
 * If the user specified `--without-lsf` then do not check for it
   on the system, even if it is there. This can lead to the build
   failure identified in the issue above.

Signed-off-by: Joshua Hursey <[email protected]>
(cherry picked from commit 24a8b5c)
Signed-off-by: Joshua Hursey <[email protected]>
@jjhursey
Copy link
Member

The fix has been integrated into the v3.0.x branch (PR #4226) and v2.x branch (PR #4227) so we can close this issue as fixed. Since v2.0.x is at end-of-life we did not port it to that branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants