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:
@ -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