무엇이 있습니까? /usr/local/lib
에 무엇이 있습니까? 명령 make
앞에 autogen.sh
을 실행하는 동안 --prefix
옵션을 사용하지 않은 경우 라이브러리는 /usr/local/lib
에 국한되어야합니다. 이 같은 디렉토리에 뭔가가 나타납니다 : 당신이 /usr/local/lib
에 위의 라이브러리를 볼 수 있다면
[email protected]:/usr/local/lib$ ls -lah libmono-2.0.*
lrwxrwxrwx. 1 me me 18 dic 19 00:38 libmono-2.0.a -> libmonoboehm-2.0.a
lrwxrwxrwx. 1 me me 19 dic 19 00:38 libmono-2.0.la -> libmonoboehm-2.0.la
lrwxrwxrwx. 1 me me 19 dic 19 00:38 libmono-2.0.so -> libmonoboehm-2.0.so
lrwxrwxrwx. 1 me me 21 dic 19 00:38 libmono-2.0.so.1 -> libmonoboehm-2.0.so.1
lrwxrwxrwx. 1 me me 25 dic 19 00:38 libmono-2.0.so.1.0.0 -> libmonoboehm-2.0.so.1.0.0
문제가 라이브러리 검색 ld
입니다 관련이있다. 이 질문에서 : CentOS /usr/local/lib system wide $LD_LIBRARY_PATH Centos6에는 /usr/local/lib
에 대한 기본 구성이 없다고 생각합니다. 그것이 귀하의 경우, 그 질문에 제공된 솔루션을 사용하십시오 (그 중 하나) 귀하의 프로그램이 잘 작동합니다.
귀하의 코멘트에서 편집
당신이 teste
프로그램과 같은 경로에 libmonoboehm-2.0.so.1
를 원하는 당신은 다음과 같은 것을 할 수있는 당신의 Centos6에서 무엇을 터치하지 않으려면 :
을
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/teste/binary
./teste test.exe
그러나이 명령을 실행할 때 어떤 결과가 나올지 궁금합니다. pkg-config --cflags --libs mono-2
(이미 Centos6에 모노 설치가있는 것 같습니다)
어쨌든 CentOS6을 수정할 수 있다면 가장 좋은 대답은 CentOS /usr/local/lib system wide $LD_LIBRARY_PATH입니다. 일단 그렇게하면 LD_LIBRARY_PATH
환경 변수를 엉망으로 만들지 않고도 mono
프로그램을 실행할 수 있습니다. 귀하의 경우에는 당신이해야 다음
1. Edit /etc/ld.so.conf
2. Write this: /opt/mono/lib
3. Run ldconfig -v as root
4. Your Centos6 is ready to run your mono programs whenever you wish (even if you restart your Centos6 machine)
최종 편집
해당 패키지가 설치되어 있는지 여부를 확인하고이 라이브러리 경로에있는 경우, 참조 되세요 http://stackoverflow.com/ 질문/10963498/mono-shared-library-under-linux-location –
make install 후/opt/mono/lib /에 있지만/usr/lib64에는 없지만 시스템에서는 lib64에서만이 파일을 찾습니다. – user2986683