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
|
then
|
||||||
header=$(findFirstFile $ADIOS2_ARCH_PATH/include/$header)
|
header=$(findFirstFile $ADIOS2_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$ADIOS2_ARCH_PATH/lib/$library \
|
$ADIOS2_ARCH_PATH/lib/$library \
|
||||||
$ADIOS2_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
$ADIOS2_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||||
)
|
)
|
||||||
|
|||||||
@ -74,9 +74,8 @@ have_boost()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $BOOST_ARCH_PATH/include/$header)
|
header=$(findFirstFile $BOOST_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$BOOST_ARCH_PATH/lib/$library \
|
$BOOST_ARCH_PATH/lib/$library \
|
||||||
$BOOST_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
$BOOST_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||||
)
|
)
|
||||||
|
|||||||
@ -80,9 +80,8 @@ have_ccmio()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $CCMIO_ARCH_PATH/include/$header)
|
header=$(findFirstFile $CCMIO_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$CCMIO_ARCH_PATH/lib/$static \
|
$CCMIO_ARCH_PATH/lib/$static \
|
||||||
$CCMIO_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
$CCMIO_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||||
)
|
)
|
||||||
|
|||||||
@ -74,9 +74,8 @@ have_cgal()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $CGAL_ARCH_PATH/include/$header)
|
header=$(findFirstFile $CGAL_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$CGAL_ARCH_PATH/lib/$library \
|
$CGAL_ARCH_PATH/lib/$library \
|
||||||
$CGAL_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
$CGAL_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||||
)
|
)
|
||||||
|
|||||||
@ -75,9 +75,8 @@ have_fftw()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $FFTW_ARCH_PATH/include/$header)
|
header=$(findFirstFile $FFTW_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$FFTW_ARCH_PATH/lib/$static \
|
$FFTW_ARCH_PATH/lib/$static \
|
||||||
$FFTW_ARCH_PATH/lib/$library \
|
$FFTW_ARCH_PATH/lib/$library \
|
||||||
$FFTW_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
$FFTW_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||||
|
|||||||
@ -82,9 +82,8 @@ have_hypre()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $HYPRE_ARCH_PATH/include/$header)
|
header=$(findFirstFile $HYPRE_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$HYPRE_ARCH_PATH/lib/$library \
|
$HYPRE_ARCH_PATH/lib/$library \
|
||||||
$HYPRE_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
$HYPRE_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||||
)
|
)
|
||||||
|
|||||||
@ -80,9 +80,8 @@ have_kahip()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $KAHIP_ARCH_PATH/include/$header)
|
header=$(findFirstFile $KAHIP_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$KAHIP_ARCH_PATH/lib/$static \
|
$KAHIP_ARCH_PATH/lib/$static \
|
||||||
$KAHIP_ARCH_PATH/lib/$library \
|
$KAHIP_ARCH_PATH/lib/$library \
|
||||||
$KAHIP_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
$KAHIP_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||||
|
|||||||
@ -81,9 +81,8 @@ have_metis()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $METIS_ARCH_PATH/include/$header)
|
header=$(findFirstFile $METIS_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$METIS_ARCH_PATH/lib/$static \
|
$METIS_ARCH_PATH/lib/$static \
|
||||||
$METIS_ARCH_PATH/lib/$library \
|
$METIS_ARCH_PATH/lib/$library \
|
||||||
$METIS_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
$METIS_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||||
|
|||||||
@ -81,9 +81,8 @@ have_mgridgen()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $MGRIDGEN_ARCH_PATH/include/$header)
|
header=$(findFirstFile $MGRIDGEN_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$MGRIDGEN_ARCH_PATH/lib/$static \
|
$MGRIDGEN_ARCH_PATH/lib/$static \
|
||||||
$MGRIDGEN_ARCH_PATH/lib/$library \
|
$MGRIDGEN_ARCH_PATH/lib/$library \
|
||||||
$MGRIDGEN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
$MGRIDGEN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||||
|
|||||||
@ -82,9 +82,8 @@ have_petsc()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $PETSC_ARCH_PATH/include/$header)
|
header=$(findFirstFile $PETSC_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$PETSC_ARCH_PATH/lib/$library \
|
$PETSC_ARCH_PATH/lib/$library \
|
||||||
$PETSC_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
$PETSC_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$library \
|
||||||
)
|
)
|
||||||
|
|||||||
@ -81,9 +81,8 @@ have_scotch()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $SCOTCH_ARCH_PATH/include/$header)
|
header=$(findFirstFile $SCOTCH_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$SCOTCH_ARCH_PATH/lib/$static \
|
$SCOTCH_ARCH_PATH/lib/$static \
|
||||||
$SCOTCH_ARCH_PATH/lib/$library \
|
$SCOTCH_ARCH_PATH/lib/$library \
|
||||||
$SCOTCH_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
$SCOTCH_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||||
|
|||||||
@ -80,9 +80,8 @@ have_zoltan()
|
|||||||
then
|
then
|
||||||
header=$(findFirstFile $ZOLTAN_ARCH_PATH/include/$header)
|
header=$(findFirstFile $ZOLTAN_ARCH_PATH/include/$header)
|
||||||
|
|
||||||
# FOAM_EXT_LIBBIN is allowed to be unset
|
|
||||||
library=$(findFirstFile \
|
library=$(findFirstFile \
|
||||||
$FOAM_EXT_LIBBIN/$library \
|
"$(thirdExtLib $library)" \
|
||||||
$ZOLTAN_ARCH_PATH/lib/$static \
|
$ZOLTAN_ARCH_PATH/lib/$static \
|
||||||
$ZOLTAN_ARCH_PATH/lib/$library \
|
$ZOLTAN_ARCH_PATH/lib/$library \
|
||||||
$ZOLTAN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
$ZOLTAN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/$static \
|
||||||
|
|||||||
@ -21,6 +21,7 @@
|
|||||||
# isSystem
|
# isSystem
|
||||||
# isAbsdir, hasAbsdir
|
# isAbsdir, hasAbsdir
|
||||||
# findFirstFile
|
# findFirstFile
|
||||||
|
# thirdExtLib
|
||||||
#
|
#
|
||||||
# Variables provided
|
# Variables provided
|
||||||
# extLiba
|
# extLiba
|
||||||
@ -104,6 +105,26 @@ then
|
|||||||
return 2
|
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
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user