mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: additional handling of questionable bad FOAM_EXT_LIBBIN values
- if FOAM_EXT_LIBBIN is unset and some scripts set this to /usr/lib* as a fallback (eg, to avoid an undefined value) this will cause a system library to be found before appropriate *_ARCH_PATH entry. This was noticed during a scotch compilation without third-party: resulting in the system library (/usr/lib64/libscotch.so) to be found instead of the SCOTCH_ARCH_PATH location (/usr/lib64/mpi/gcc/openmpi/lib64/). Simply changing the search order doesn't work for use, since we wish to retain a preference for any dynamic libraries discovered in a real FOAM_EXT_LIBBIN. Circumvent these issues by only taking libraries from FOAM_EXT_LIBBIN if it also points to a location within ThirdParty.
This commit is contained in:
@ -79,9 +79,8 @@ have_adios2()
|
||||
then
|
||||
header=$(findFirstFile $ADIOS2_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$ADIOS2_ARCH_PATH/lib/$library \
|
||||
$ADIOS2_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||
)
|
||||
|
||||
@ -74,9 +74,8 @@ have_boost()
|
||||
then
|
||||
header=$(findFirstFile $BOOST_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$BOOST_ARCH_PATH/lib/$library \
|
||||
$BOOST_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||
)
|
||||
|
||||
@ -80,9 +80,8 @@ have_ccmio()
|
||||
then
|
||||
header=$(findFirstFile $CCMIO_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$CCMIO_ARCH_PATH/lib/$static \
|
||||
$CCMIO_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||
)
|
||||
|
||||
@ -74,9 +74,8 @@ have_cgal()
|
||||
then
|
||||
header=$(findFirstFile $CGAL_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$CGAL_ARCH_PATH/lib/$library \
|
||||
$CGAL_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||
)
|
||||
|
||||
@ -75,9 +75,8 @@ have_fftw()
|
||||
then
|
||||
header=$(findFirstFile $FFTW_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$FFTW_ARCH_PATH/lib/$static \
|
||||
$FFTW_ARCH_PATH/lib/$library \
|
||||
$FFTW_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||
|
||||
@ -82,9 +82,8 @@ have_hypre()
|
||||
then
|
||||
header=$(findFirstFile $HYPRE_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$HYPRE_ARCH_PATH/lib/$library \
|
||||
$HYPRE_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||
)
|
||||
|
||||
@ -80,9 +80,8 @@ have_kahip()
|
||||
then
|
||||
header=$(findFirstFile $KAHIP_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$KAHIP_ARCH_PATH/lib/$static \
|
||||
$KAHIP_ARCH_PATH/lib/$library \
|
||||
$KAHIP_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||
|
||||
@ -81,9 +81,8 @@ have_metis()
|
||||
then
|
||||
header=$(findFirstFile $METIS_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$METIS_ARCH_PATH/lib/$static \
|
||||
$METIS_ARCH_PATH/lib/$library \
|
||||
$METIS_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||
|
||||
@ -81,9 +81,8 @@ have_mgridgen()
|
||||
then
|
||||
header=$(findFirstFile $MGRIDGEN_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$MGRIDGEN_ARCH_PATH/lib/$static \
|
||||
$MGRIDGEN_ARCH_PATH/lib/$library \
|
||||
$MGRIDGEN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||
|
||||
@ -82,9 +82,8 @@ have_petsc()
|
||||
then
|
||||
header=$(findFirstFile $PETSC_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$PETSC_ARCH_PATH/lib/$library \
|
||||
$PETSC_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||
)
|
||||
|
||||
@ -81,9 +81,8 @@ have_scotch()
|
||||
then
|
||||
header=$(findFirstFile $SCOTCH_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$SCOTCH_ARCH_PATH/lib/$static \
|
||||
$SCOTCH_ARCH_PATH/lib/$library \
|
||||
$SCOTCH_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||
|
||||
@ -80,9 +80,8 @@ have_zoltan()
|
||||
then
|
||||
header=$(findFirstFile $ZOLTAN_ARCH_PATH/include/$header)
|
||||
|
||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
||||
library=$(findFirstFile \
|
||||
$FOAM_EXT_LIBBIN/$library \
|
||||
"$(thirdExtLib $library)" \
|
||||
$ZOLTAN_ARCH_PATH/lib/$static \
|
||||
$ZOLTAN_ARCH_PATH/lib/$library \
|
||||
$ZOLTAN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
# isSystem
|
||||
# isAbsdir, hasAbsdir
|
||||
# findFirstFile
|
||||
# thirdExtLib
|
||||
#
|
||||
# Variables provided
|
||||
# extLiba
|
||||
@ -104,6 +105,26 @@ then
|
||||
return 2
|
||||
}
|
||||
|
||||
# Check for existence of file in FOAM_EXT_LIBBIN,
|
||||
# but not if either file or FOAM_EXT_LIBBIN are empty or
|
||||
# if the FOAM_EXT_LIBBIN is not located in the ThirdParty directory
|
||||
#
|
||||
# On success, echoes the resolved file and returns 0, otherwise returns 2
|
||||
thirdExtLib()
|
||||
{
|
||||
local file="$FOAM_EXT_LIBBIN/$1"
|
||||
|
||||
if [ -n "$1" ] && \
|
||||
[ -n "$FOAM_EXT_LIBBIN" ] && \
|
||||
[ -n "$WM_THIRD_PARTY_DIR" ] && \
|
||||
[ -f "$file" -a -r "$file" ] && \
|
||||
[ "${FOAM_EXT_LIBBIN#$WM_THIRD_PARTY_DIR}" != "$FOAM_EXT_LIBBIN" ]
|
||||
then
|
||||
echo "$file"
|
||||
else
|
||||
return 2
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user