2014-03-18 5 views
0

/opt/Qt5.1.0/5.1.0/gcc_64/plugins/sqldrivers/libqsqlmysql.so에서 ldd를 실행하면 알 수 있습니다. "*/-name libmysqlclient_r.so 찾아"그래서 나는 않았다 ...없는 libmysqlclient_r.so.16 그래서CentOS - 누락 된 라이브러리를 찾지 못했지만 ld.conf가 가리키는 라이브러리

linux-vdso.so.1 => (0x00007fffe2dfe000) 
    libmysqlclient_r.so.16 => not found 
    libQt5Sql.so.5 => /opt/Qt5.1.0/5.1.0/gcc_64/plugins/sqldrivers/../../lib/libQt5Sql.so.5 (0x00007f291c093000) 
    libQt5Core.so.5 => /opt/Qt5.1.0/5.1.0/gcc_64/plugins/sqldrivers/../../lib/libQt5Core.so.5 (0x00007f291ba0a000) 
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f291b706000) 
    libc.so.6 => /lib64/libc.so.6 (0x00007f291b345000) 
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f291b129000) 
    libicui18n.so.51 => /opt/Qt5.1.0/5.1.0/gcc_64/plugins/sqldrivers/../../lib/libicui18n.so.51 (0x00007f291ad10000) 
    libicuuc.so.51 => /opt/Qt5.1.0/5.1.0/gcc_64/plugins/sqldrivers/../../lib/libicuuc.so.51 (0x00007f291a989000) 
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f291a785000) 
    libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f291a583000) 
    librt.so.1 => /lib64/librt.so.1 (0x00007f291a37a000) 
    libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f291a04e000) 
    libm.so.6 => /lib64/libm.so.6 (0x00007f2919d4c000) 
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2919b35000) 
    /lib64/ld-linux-x86-64.so.2 (0x0000003723a00000) 
    libicudata.so.51 => /opt/Qt5.1.0/5.1.0/gcc_64/plugins/sqldrivers/../../lib/libicudata.so.51 (0x00007f29183ec000) 

libmysqlclient_r.so.16 찾아 볼 수 없습니다

/usr/lib64/mysql/libmysqlclient_r.so

그래서 내 프로그램이 그 파일을 찾지 못하는 것 같습니다. 그래서 난 내 /etc/ld.so.conf.d/에 고개가 포함 된 마리아의 conf 파일을 발견

는/usr/lib64에/mysql을

는 리눅스 것을 의미하지 않습니다 로더는 누락 된 라이브러리 파일을 찾아야 만합니까? 위의 프로그램은 libmysqlclient_r.so.16이 필요하고 libmysqlclient_r.so는 /etc/ld.so.conf.d/mariadb-x86_64.conf에서 제공하는 LD 경로에 있습니다.

여기에 누락 된 링크가 무엇입니까?


업데이트 : 나는 .so를에 .so.16에서 심볼릭 링크를 추가했지만 여전히 해결되지 :

[[email protected] mysql]# ldd /opt/Qt5.1.0/5.1.0/gcc_64/plugins/sqldrivers/libqsqlmysql.so | grep found 
    libmysqlclient_r.so.16 => not found 
[[email protected] mysql]# ll 
total 3052 
lrwxrwxrwx. 1 root root  17 Mar 18 15:26 libmysqlclient_r.so -> libmysqlclient.so 
lrwxrwxrwx. 1 root root  17 Mar 18 17:52 libmysqlclient_r.so.16 -> libmysqlclient.so 
lrwxrwxrwx. 1 root root  20 Mar 18 15:26 libmysqlclient.so -> libmysqlclient.so.18 
lrwxrwxrwx. 1 root root  17 Mar 18 17:51 libmysqlclient.so.16 -> libmysqlclient.so 
lrwxrwxrwx. 1 root root  24 Mar 13 19:51 libmysqlclient.so.18 -> libmysqlclient.so.18.0.0 
-rwxr-xr-x. 1 root root 3114608 Feb 5 13:06 libmysqlclient.so.18.0.0 
-rwxr-xr-x. 1 root root 6946 Feb 5 13:04 mysql_config 
[[email protected] mysql]# pwd 
/usr/lib64/mysql 
[[email protected] mysql]# ldd /opt/Qt5.1.0/5.1.0/gcc_64/plugins/sqldrivers/libqsqlmysql.so | grep found 
    libmysqlclient_r.so.16 => not found 
[[email protected] mysql]# ldconfig 

와 "ldconfig를 -v | 더"쇼 (단지 부분) :

> libmysqlclient_r.so.16 - - 왜 _r.so.16 목록에없는
/usr/lib64/llvm: 
    libLTO.so -> libLTO.so 
    libLLVM-3.3.so -> libLLVM-3.3.so 
    libprofile_rt.so -> libprofile_rt.so 
/usr/lib64/mysql: 
    libmysqlclient.so.18 -> libmysqlclient_r.so.16 
/usr/lib64/tracker-0.16: 
    libtracker-data.so.0 -> libtracker-data.so.0.1600.1 
    libtracker-common.so.0 -> libtracker-common.so.0.1600.1 
/usr/lib64/xulrunner: 
    libmozalloc.so -> 

나는 libmysqlclient.so.18가 그 라인을 이해하지? 나는 닫는다. .. 단지 최후의 작은 조각을 계산할 수 없다!

.16 

가 .so를에 심볼릭 링크를 생성하고 다시 시도하십시오 :

+0

libmysqlclient_r.so를 찾았지만 libmysqlclient_r.so.16이 필요합니다. /usr/lib64/mysql/libmysqlclient_r.so는 매끄러운 심볼릭 링크 일 수 있습니다. – nos

답변

0

명백한 지적의 위험을 복용합니다.

+0

나는 그것을 시험해 보았지만 (위의 업데이트 참조), 여전히 작동하지 않는다. – TSG

+0

OK, 사과. 나는 이런 종류의 일을하는 것이 시스템이 그러한 변화를 인식 할 수 있도록 'ldconfig'를 실행해야한다는 것을 알기에 충분한 리눅스를 알고 있다고 생각했다. 그래도 작동하지 않는 경우 : 설치 한 라이브러리의 가능성이 잘못된 아키텍처일까요? – tink

+0

나는 ldconfig (위의 줄을 더 추가했다)와 ldconfig -v를 사용하여 무엇을 집어 넣었는지 확인했다. 나는 비록 그 결과를 충분히 이해하지 못한다. – TSG