Cacti-spine 오류 기록

최근 생산 환경이 0.8.8b로 업그레이드되었을 때 다시./configure 시 cacti-spine-0.8.8b 시 다음 오류를 계속 보고합니다.
…………….
checking for mysql_init in -lmysqlclient_r... no
configure: error: MySQLlibraries not found
mysql, mysql-devel,openssl-devel,net-snmp-devel 설치 패키지는 설치하지 않았습니다.
[root@cactitest2 cacti-spine-0.8.8b]# yum list installed | grep mysql
mysql.x86_64 5.1.69-1.el6_4 @updates
mysql-devel.x86_64 5.1.69-1.el6_4 @updates
mysql-libs.x86_64 5.1.69-1.el6_4 @updates
mysql-server.x86_645.1.69-1.el6_4 @updates
php-mysql.x86_645.4.11-1.el6 @myrpms
[root@cactitest2 cacti-spine-0.8.8b]# yum list installed | grep openssl
openssl.x86_641.0.0-27.el6 @anaconda-CentOS-201303020151.x86_64/6.4
openssl-devel.x86_64 1.0.0-27.el6 installed
[root@cactitest2 cacti-spine-0.8.8b]# yum list installed | grep net-snmp-devel
net-snmp-devel.x86_641:5.5-44.el6_4.4

그리고 저는 테스트 플랫폼에서 모든 것을 정상적으로 컴파일했습니다. mysql 라이브러리 파일에 문제가 있음을 알려주면 라이브러리 파일에서 볼 것입니다. 우리는 정상적으로 컴파일된 것과 문제가 발생한 라이브러리 호출 상황을 볼 것입니다.
우선 정상적인 테스트 플랫폼에서 컴파일된 라이브러리 호출 상황을 보십시오
[root@example cacti-spine-0.8.8b]# strace -o cacti-spine.txt ./configure
……………………………….
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config/config.h
config.status: config/config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
 mysql 
[root@example cacti-spine-0.8.8b]# cat cacti-spine.txt | grep mysql
read(3, "/usr/lib64/mysql ", 128) = 17
stat("/usr/include/mysql.h", 0x7fffdccacec0) = -1 ENOENT (No such file or directory)
stat("/usr/include/mysql/mysql.h", {st_mode=S_IFREG|0644, st_size=33771, ...}) = 0
read(3, "/usr/lib64/libmysqlclient_r.*
", 128) = 30 stat("/usr/lib64/libmysqlclient_r.*", 0x7fffdccac830) = -1 ENOENT (No such file or directory) read(3, "/usr/lib64/mysql/libmysqlclient_"..., 128) = 121 stat("/usr/lib64/mysql/libmysqlclient_r.so", {st_mode=S_IFREG|0755, st_size=1595240, ...}) = 0 access("/usr/lib64/mysql/libmysqlclient_r.so", R_OK) = 0 write(1, "checking for mysql_init in -lmys"..., 46) = 46 write(1, "checking for mysql_thread_init i"..., 53) = 53

문제 플랫폼 컴파일 시 라이브러리 호출 상황
[[email protected]]# strace -o cacti-spine.txt ./configure
…………………
checking whether we areusing Linux Capabilities... no
checking for mysql_initin -lmysqlclient_r... no
configure: error: MySQLlibraries not found
 mysql 
[[email protected]]# cat cacti-spine.txt | grep mysql
read(3,"/usr/lib64/mysql /usr/lib/vmware"..., 128) = 128
stat("/usr/include/mysql.h",0x7fffea11fe50) = -1 ENOENT (No such file or directory)
stat("/usr/include/mysql/mysql.h",{st_mode=S_IFREG|0644, st_size=33771, ...}) = 0
read(3, "/usr/lib64/libmysqlclient_r.so.1"..., 128) = 128
read(3, "ib64/libmysqlclient_r.so.16.0.0
", 128) = 32 stat("/usr/lib64/libmysqlclient_r.so.12",{st_mode=S_IFREG|0755, st_size=262312, ...}) = 0 access("/usr/lib64/libmysqlclient_r.so.12", R_OK) = 0 write(1, "checkingfor mysql_init in -lmys"..., 46) = 46

양자 비교를 통해 문제가 있는 플랫폼에서 호출된 mysql의 라이브러리 파일과 정상적인 플랫폼에서 호출된 것은 같은 라이브러리 파일이 아니라는 것을 발견하고 문제 플랫폼에서 해당하는 파일을 찾아낸다
[root@cactitest2 cacti-spine-0.8.8b]# ll /usr/lib64/libmysqlclient*
lrwxrwxrwx. 1 root root 26 Jun 27 2013 /usr/lib64/libmysqlclient_r.so.12 -> libmysqlclient_r.so.12.0.0
-rwxr-xr-x. 1 root root 262312 Dec 21 2012 /usr/lib64/libmysqlclient_r.so.12.0.0
lrwxrwxrwx. 1 root root 26 Jun 27 2013 /usr/lib64/libmysqlclient_r.so.14 -> libmysqlclient_r.so.14.0.0
-rwxr-xr-x. 1 root root 1253992 Dec 21 2012 /usr/lib64/libmysqlclient_r.so.14.0.0
lrwxrwxrwx. 1 root root 26 Jun 27 2013 /usr/lib64/libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0
-rwxr-xr-x. 1 root root 2110184 Dec 21 2012 /usr/lib64/libmysqlclient_r.so.15.0.0
lrwxrwxrwx. 1 root root 26 Jun 27 2013 /usr/lib64/libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0
-rwxr-xr-x 1 root root 2142576 Dec 21 2012 /usr/lib64/libmysqlclient_r.so.16.0.0
lrwxrwxrwx. 1 root root 24 Jun 27 2013 /usr/lib64/libmysqlclient.so.12 -> libmysqlclient.so.12.0.0
-rwxr-xr-x. 1 root root 253888 Dec 21 2012 /usr/lib64/libmysqlclient.so.12.0.0
lrwxrwxrwx. 1 root root 24 Jun 27 2013 /usr/lib64/libmysqlclient.so.14 -> libmysqlclient.so.14.0.0
-rwxr-xr-x. 1 root root 1242088 Dec 21 2012 /usr/lib64/libmysqlclient.so.14.0.0
lrwxrwxrwx. 1 root root 24 Jun 27 2013 /usr/lib64/libmysqlclient.so.15 -> libmysqlclient.so.15.0.0
-rwxr-xr-x. 1 root root 2101416 Dec 21 2012 /usr/lib64/libmysqlclient.so.15.0.0
lrwxrwxrwx. 1 root root 24 Jun 27 2013 /usr/lib64/libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
-rwxr-xr-x 1 root root 2131592 Dec 21 2012 /usr/lib64/libmysqlclient.so.16.0.0
 
[root@cactitest2 cacti-spine-0.8.8b]# rpm -qf /usr/lib64/libmysqlclient_r.so.12
MySQL-Cluster-shared-compat-gpl-7.2.10-1.el6.x86_64

이 설치 패키지 제거
[root@cactitest2 cacti-spine-0.8.8b]# yum remove MySQL-Cluster-shared-compat-gpl

cacti-spine의 원본 패키지를 다른 위치로 옮겨서 다시 컴파일합니다.
[[email protected]]# ./configure
…………………………..
checking thatgenerated files are newer than configure... done
configure:creating ./config.status
config.status:creating Makefile
config.status:creating config/config.h
config.status:executing depfiles commands
config.status:executing libtool commands
 ,make;make install 
[[email protected]]# make;make install
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT sql.o -MD -MP -MF.deps/sql.Tpo -c -o sql.o sql.c
mv -f.deps/sql.Tpo .deps/sql.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT spine.o -MD -MP -MF.deps/spine.Tpo -c -o spine.o spine.c
mv -f.deps/spine.Tpo .deps/spine.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT util.o -MD -MP -MF.deps/util.Tpo -c -o util.o util.c
mv -f.deps/util.Tpo .deps/util.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT snmp.o -MD -MP -MF.deps/snmp.Tpo -c -o snmp.o snmp.c
mv -f.deps/snmp.Tpo .deps/snmp.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT locks.o -MD -MP -MF.deps/locks.Tpo -c -o locks.o locks.c
mv -f.deps/locks.Tpo .deps/locks.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT poller.o -MD -MP -MF.deps/poller.Tpo -c -o poller.o poller.c
mv -f.deps/poller.Tpo .deps/poller.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT nft_popen.o -MD -MP-MF .deps/nft_popen.Tpo -c -o nft_popen.o nft_popen.c
mv -f.deps/nft_popen.Tpo .deps/nft_popen.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT php.o -MD -MP -MF.deps/php.Tpo -c -o php.o php.c
mv -f.deps/php.Tpo .deps/php.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT ping.o -MD -MP -MF.deps/ping.Tpo -c -o ping.o ping.c
mv -f.deps/ping.Tpo .deps/ping.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT keywords.o -MD -MP-MF .deps/keywords.Tpo -c -o keywords.o keywords.c
mv -f.deps/keywords.Tpo .deps/keywords.Po
gcc-DHAVE_CONFIG_H -I. -I./config -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -MT error.o -MD -MP -MF.deps/error.Tpo -c -o error.o error.c
mv -f.deps/error.Tpo .deps/error.Po
/bin/sh./libtool --tag=CC --mode=link gcc -I/usr/include/net-snmp-I/usr/include/net-snmp/.. -I/usr/include/mysql -g -O2 -L/usr/lib64-L/usr/lib64/mysql -o spine sql.o spine.o util.o snmp.o locks.o poller.onft_popen.o php.o ping.o keywords.o error.o -lnetsnmp -lmysqlclient_r-lmysqlclient_r -lcrypto -lz -lpthread -lm
libtool: link:gcc -I/usr/include/net-snmp -I/usr/include/net-snmp/.. -I/usr/include/mysql -g-O2 -o spine sql.o spine.o util.o snmp.o locks.o poller.o nft_popen.o php.oping.o keywords.o error.o -L/usr/lib64 -L/usr/lib64/mysql -lnetsnmp-lmysqlclient_r -lcrypto -lz -lpthread -lm
make[1]:Entering directory `/root/cacti-spine-0.8.8b'
/bin/mkdir -p'/usr/local/spine/bin'
/bin/sh./libtool --mode=install /usr/bin/install -c spine '/usr/local/spine/bin'
libtool:install: /usr/bin/install -c spine /usr/local/spine/bin/spine
/bin/mkdir -p'/usr/local/spine/etc'
/usr/bin/install-c -m 644 spine.conf.dist '/usr/local/spine/etc'
make[1]:Leaving directory `/root/cacti-spine-0.8.8b'
You have newmail in /var/spool/mail/root

좋은 웹페이지 즐겨찾기