[Pkg-openmpi-maintainers] Bug#842746: openmpi: FTBFS on hurd-i386, please disable Java

Kalle Olavi Niemitalo kon at iki.fi
Tue Nov 1 00:52:09 UTC 2016


Kalle Olavi Niemitalo <kon at iki.fi> writes:

> Please disable the Java bindings of openmpi on hurd-i386, like
> they are already disabled on hppa.

I verified that disabling Java bindings with the following patch
lets openmpi 2.0.1-7 build on hurd-i386.  However, I'm afraid
this patch would also affect builds on plain i386, because the
findstring function of GNU Make does not treat spaces or
quotation marks as anything special.

--- debian/rules~	2016-10-21 21:01:25.000000000 +0300
+++ debian/rules	2016-11-01 00:14:57.000000000 +0200
@@ -13,7 +13,7 @@
 # No ibverbs support available on kFreeBSD, Hurd
 NO_VERBS_ARCH:= "hurd-i386 kfreebsd-amd64 kfreebsd-i386 s390x"
 FABRIC_ARCH:=  " amd64 i386 "
-NO_JAVA_ARCH:= "hppa"
+NO_JAVA_ARCH:= "hppa hurd-i386"
 NO_TEST_ARCH:= "hppa hurd-i386"
 
 BTL_TESTS:= --enable-opal-btl-usnic-unit-tests

I think the proper fix would be to remove the quotation marks and
replace the findstring function with the filter function, which
specifically deals with whitespace-separated words.  Like this:

NO_JAVA_ARCH := hppa hurd-i386

# The following assumes the value of $(DEB_HOST_ARCH) is only one
# whitespace-separated word.  If it matches any of the patterns
# in $(NO_JAVA_ARCH), then the filter function returns it
# unchanged, and it does not equal the empty string, so ifeq
# skips the JAVA assignment.
ifeq ($(filter $(NO_JAVA_ARCH),$(DEB_HOST_ARCH)),)
        JAVA := --with-jdk-dir=/usr/lib/jvm/default-java --enable-mpi-java
endif

Likewise with the other lists of archs.  I tested this condition
by explicitly assigning values to DEB_HOST_ARCH and it seemed to
work OK.  I did not test it as part of debian/rules though,
because I don't have "sid" build environments for anything other
than hurd-i386.




More information about the Pkg-openmpi-maintainers mailing list