2016-12-20 16 views
1

Fedora 25을 사용하고 있습니다.ldconfig 및 /etc/ld.so.conf.d/lib.conf를 사용하더라도 라이브러리를 찾을 수 없습니다.

나는 여러 라이브러리가 필요한 바이너리가 있습니다. 바이너리는 libRblas.so을 찾을 수 없습니다 :

$ ldd XPore-Engine | less | grep not 
libvtkRenderingAnnotation.so.1 => /usr/lib64/vtk/libvtkRenderingAnnotation.so.1 (0x00007fac12563000) 
libRblas.so => not found 
libRblas.so => not found 
libRblas.so => not found 

라이브러리 경로가 제대로 .conf 파일로 구성되어 있습니다 :

$ cat /etc/ld.so.conf.d/R-x86_64.conf 
/usr/lib64/R/lib 
$ ll /usr/lib64/R/lib 
lrwxrwxrwx. 1 root root  11 dic 16 20:46 libopenblas.so.0 -> libRblas.so 
lrwxrwxrwx. 1 root root  27 oct 31 21:16 libRblas.so -> /usr/lib64/libopenblas.so.0 
-rwxr-xr-x. 1 root root 1989312 oct 31 21:16 libRlapack.so 
-rwxr-xr-x. 1 root root 178856 oct 31 21:16 libRrefblas.so 
-rwxr-xr-x. 1 root root 2911536 oct 31 21:16 libR.so 

내가 ldconfig로 구성로드 : 그러나

$ ldconfig -v | grep libRblas 
     libopenblas.so.0 -> libRblas.so 

을, ldd을 다시 실행 한 후 libRblas.so이라는 동일한 출력을 반환합니다.

어떻게 해결할 수 있습니까?

답변

3

Read Hat Bugzilla 버그 추적 시스템에서 Tom이 제공 한 임시 해결책을 https://bugzilla.redhat.com/show_bug.cgi?id=1404662에 발견했습니다. R은 libopenblas.so.0에> 심볼릭 링크로 libRblas.so를 사용하여 완벽하게 행복 동안, 외부, 다른 아무것도없는 것처럼

그래, 그래서 보인다. 오픈 블라를 사용하여 속도가 빨라지므로 libRblas.so 파일 이름과 soname을 가진 openblas 사본을 빌드하고 심볼 링크 대신 사용하십시오. 나는 이것을 추가하는 오픈 블라스 (openblas)의 새로운 빌드를 가지고있다. 그런 다음 그것에 의존하는 R 빌드의 새로운 라운드를 할 것이다.

임시 해결 방법으로, 당신은 (루트로) 실행할 수 있습니다 RM -f /usr/lib64/R/lib/libRblas.so MV /usr/lib64/R/lib/libRrefblas.so는/usr/lib64/R/lib/libRblas.so

이렇게하면 R이 제공하는 최적화되지 않은 libRblas.so가 복원됩니다.

오, ldcache가 업데이트되도록 libRrefblas.so를 이동 한 후 루트로/sbin/ldconfig를 실행하십시오.