Для таких установок local я использую сценарий оболочки для настройки PATH
, LD_LIBRARY_PATH
и MANPATH
, чтобы получить согласованные результаты. Без такой опоры вы не получите автоматические согласованные результаты.
Вот старый пример:
#!/bin/bash
# $Id: with-ncurses,v 1.1 2006/09/02 23:04:39 tom Exp $
export LIBS="-lncursesw"
for prefix in \
/usr/local/ncurses6
do
test -f $prefix/lib/libncursesw.so && break
test -f $prefix/lib/libncursesw.a && break
done
if [ -d $prefix/include/ncursesw ] ; then
export CPPFLAGS="-I$prefix/include/ncursesw $CPPFLAGS"
if [ $prefix != /usr ] ; then
export CPPFLAGS="-I$prefix/include $CPPFLAGS"
fi
fi
if [ $prefix != /usr ] ; then
export PATH=`newpath -bd $prefix/bin`
export LD_LIBRARY_PATH=`newpath -n LD_LIBRARY_PATH -bd $prefix/lib`
export LIBS="-L$prefix/lib $LIBS"
# this doesn't work for db30:
# export LIBS="-static -L$prefix/lib $LIBS -shared"
fi
case `partition` in
rh*|md*)
export MANPATH=$prefix/man:`manpath`
;;
*)
export MANPATH=$prefix/man:`manpath -q`
;;
esac
eval $*
Создание скриптов, подобных этому переносимым , является проблемой, поскольку не существует стандартов использования MANPATH
. Но вы можете адаптировать такие вещи для конкретных систем.
Сценарий, кстати, использует newpath
для изменения этих переменных и предотвращения дублирования.