비표준 환경에 컴파일된 바이너리 설치

비표준 환경에 컴파일된 바이너리 설치

호스팅 계정에 GraphicsMagick을 설치하려고 합니다...

대부분의 경우에 작동하도록 하기 위해 이 정보를 사용했습니다.

바이너리에 라이브러리 위치를 어떻게 지정합니까? (리눅스)

그러나 이 오류에서 볼 수 있듯이 여전히 Delegates.mgk(./lib/GraphicsMagick-1.3.14/delegates.mgk에 있음)를 찾을 수 없습니다.

gm-bin convert: Unable to access configuration file (delegates.mgk) [No such file or directory].

a) 바이너리가 이 파일이 있어야 한다고 생각하는 위치를 어떻게 알 수 있습니까? 또는 b) 이를 돕기 위해 래퍼 스크립트를 어떻게 확장합니까?

답변1

/PATH/에 대한 바이너리를 살펴본 후 알아냈습니다.

바이너리에는 다음과 같은 추가 경로 변수가 필요합니다.

$MAGICK_CONFIG_PATH
$MAGICK_CODER_MODULE_PATH
$MAGICK_FILTER_MODULE_PATH

...내 설정에서 스크립트를 수정한 결과는 다음과 같습니다.

#!/bin/sh
if [ -n "$LD_LIBRARY_PATH" ]; then
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/USER/lib
else
  LD_LIBRARY_PATH=/home/USER/lib
fi
[ -z "${MAGICK_CONFIGURE_PATH}" ] && export MAGICK_CONFIGURE_PATH=/home/USER/lib/GraphicsMagick-1.3.14/config
[ -z "${MAGICK_CODER_MODULE_PATH}" ] && export MAGICK_CODER_MODULE_PATH=/home/USER/lib/GraphicsMagick-1.3.14/modules-Q8/coders
[ -z "${MAGICK_FILTER_MODULE_PATH}" ] && export MAGICK_FILTER_MODULE_PATH=/home/USER/lib/GraphicsMagick-1.3.14/modules-Q8/filters
export LD_LIBRARY_PATH
exec /home/USER/bin/gm-bin "$@"

관련 정보