Kenneth,
Markus,
I finally tracked down the issues with /lib64 vs /lib.
[Note for others: On SuSE, when installing packages based on GNU
autotools, libraries often end up in <prefix>/lib64 instead of
<prefix>/lib like on other Linux variants. This often causes failures
in the sanity_check step with EasyBuild, which makes you angry at some
point if you had to re-install a package with a re-worked sanity check
the 10th time ;-) ]
It boils down to site-specific defaults as described in the GNU
autotools documentation (e.g. see
http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Site-Defaults.html#Site-Defaults).
On SuSE, /etc/profile.d/site.sh sets
CONFIG_SITE="/usr/share/site/x86_64-unknown-linux-gnu"
(file attached), which changes libdir to /lib64 on 64-bit systems.
I confirmed the behavior: the next library installed with EasyBuild ended
up in /lib when I unsetted CONFIG_SITE and in /lib64, when I restored it
So as discussed last week, sanity_checks needs a 'library' key, where
one would specify only the name of the library and EasyBuild checks
whether it is in the right lib<whatever> dirctory (of course taking
CONFIG_SITE into account when installing autotools packages !)
Bernd
--
Dr.-Ing. Bernd Mohr
Juelich Supercomputing Centre
Institute for Advanced Simulation
E-Mail: [email protected]
WWW:
http://www.fz-juelich.de/SharedDocs/Personen/IAS/JSC/EN/staff/mohr_b.html
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
#!/bin/sh
# Site script for configure. It is resourced via $CONFIG_SITE environment
varaible.
# If user did not specify libdir, guess the correct target:
# Use lib64 for 64 bit bi-arch targets, keep the default for the rest.
if test "$libdir" = '${exec_prefix}/lib' ; then
ac_config_site_64bit_host=NONE
case "$host" in
"" )
# User did not specify host target.
# The native platform x86_64 is a bi-arch platform.
# Try to detect cross-compilation to inferior architecture.
# We are trying to guess 32-bit target compilation. It's not as
easy as
# it sounds, as there is possible several intermediate
combinations.
ac_config_site_cross_to_32bit_host=NONE
# User defined -m32 in CFLAGS or CXXFLAGS:
# (It's sufficient for 32-bit, but alone may cause mis-behavior
of some checks.)
case "$CFLAGS" in
*-m32*)
ac_config_site_cross_to_32bit_host=YES
;;
esac
case "$CXXFLAGS" in
*-m32*)
ac_config_site_cross_to_32bit_host=YES
;;
esac
# Running with linux32:
# (Changes detected platform, but not the toolchain target.)
case "`/bin/uname -i`" in
x86_64 | ppc64 | s390x )
;;
* )
ac_config_site_cross_to_32bit_host=YES
;;
esac
if test "x$ac_config_site_cross_to_32bit_host" = xNONE; then
ac_config_site_64bit_host=YES
fi
;;
*x86_64* | *ppc64* | *s390x* )
ac_config_site_64bit_host=YES
;;
esac
if test "x$ac_config_site_64bit_host" = xYES; then
libdir='${exec_prefix}/lib64'
fi
fi
# If user did not specify libexecdir, set the correct target:
# Nor FHS nor openSUSE allow prefix/libexec. Let's default to prefix/lib.
if test "$libexecdir" = '${exec_prefix}/libexec' ; then
libexecdir='${exec_prefix}/lib'
fi
# Continue with the standard behavior of configure defined in AC_SITE_LOAD:
if test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
else
ac_site_file1=$ac_default_prefix/share/config.site
ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo
"/usr/share/site/x86_64-unknown-linux-gnu:${as_lineno-$LINENO}: loading site
script $ac_site_file" >&5
$as_echo "/usr/share/site/x86_64-unknown-linux-gnu: loading site script
$ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
|| { { $as_echo
"/usr/share/site/x86_64-unknown-linux-gnu:${as_lineno-$LINENO}: error: in
\`$ac_pwd':" >&5
$as_echo "/usr/share/site/x86_64-unknown-linux-gnu: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
fi
done