루트가 아닌 사용자로 서버에 프로그램을 설치하고 있습니다. 특히 tmux 1.5이지만 이것은 로컬로 설치된 모든 프로그램에 광범위하게 적용되어야한다고 생각합니다 (이 문제가 내 자신의 오류가 아닌 경우 프로그램 이름을 언급합니다).
이 프로그램을 사용하려면 일부 종속 라이브러리 (예 : libevent 및 ncurses)를 설치해야합니다. 그래서 루트 액세스 권한이 없으므로 로컬로 둘 다 설치했습니다.
cd $HOME/library/installation/folder
DIR=$HOME/local
./configure --prefix=$DIR
#... make ... make install
이제 프로그램을 설치하려면 라이브러리 패키지도 포함시켜야했습니다.
cd $HOME/program/installation/folder
./configure --prefix=$DIR CFLAGS="-I$DIR/include" LDFLAGS="-L$DIR/lib"
#... make ... make install
좋아, 이렇게하면 문제없이 $ HOME / local / bin에 프로그램을 설치하지만 실행 파일 $ HOME / local / bin / tmux를 실행하면 다음 오류가 발생합니다.
tmux : 공유 라이브러리를로드하는 중 오류 발생 : libevent-2.0.so.5 : 공유 객체 파일을 열 수 없음 : 해당 파일 또는 디렉토리가 없음
프로그램이 원하는 라이브러리를 찾을 수 없지만 libevent-2.0.so.5 파일은 구성 옵션에 지정된 $ HOME / local / lib에 실제로 존재합니다. 프로그램을 실행하여 설치된 라이브러리를 인식하도록하는 방법이 궁금합니다. $ HOME / lib, $ HOME / bin 및 $ HOME / local / bin에 기호 링크를 넣으려고 시도했지만 아무 것도 작동하지 않았습니다. 모든 아이디어와 제안은 크게 감사하겠습니다
-R $DIR/lib
에가CFLAGS
구축하는 동안이다tmux
(그리고libevent
). 이것은 나에게 도움이되지 않았다-gcc에서 인식 할 수 없다는 마지막 오류가있었습니다-R
(-R
그리고 사이에 공백없이 시도했습니다$DIR
). ./configure --disable-shared이 작업은 업데이트되었습니다LD_LIBRARY_PATH
.libevent
위의--disable-shared
옵션으로 다시 만들었습니다 .