solaris 10(sparc 64bit)環境へのZabbix 3.4.1 インストール失敗

こんにちわ。

以下の状況で現在大変困っております。何かヒントでも頂ければ幸いです。

表記環境にzabbix環境をソースビルドしております。
zabbixのビルド中、configureにてエラーではじかれてしまいます。
configureの引数は、他のsolaris 10 32bit(VMware)でインストール成功した時と同じです。

まず普通にビルドした時は、"configure.logの内容①"にある様に、何故かデフォルトで64bit
モードでコンパイルしようとしています。でもmysql始めzabbix以外のモジュールは、デフォ
ルトで32bitモードでビルドされていますので、32bitのlibmysqlclient~を参照してエラーに
なっている様です。

そこで、configureを編集して強制的に32bitモードでビルドするように狙ってみましたが
結果は、"configure.logの内容②"の様に、今度はシンボル参照でエラーとなってしまい
完全にお手上げ状態になりました。

<前提条件>
 ・zabbix以外のモジュールは無事インストールと動作確認が出来ております。
 ・zabbix以外のモジュールは32bitモードでビルドされています。

<サーバ情報>
server-name# uname -a
SunOS server-name 5.10 Generic_144488-09 sun4u sparc SUNW,SPARC-Enterprise
server-name# isainfo -b
64
server-name# isainfo -v
64-bit sparcv9 applications
ima fmaf vis2 vis popc
32-bit sparc applications
ima fmaf vis2 vis popc v8plus div32 mul32

<その他の環境>
apache2 2.2.32(32bit)
mysql 5.6.25(32bit)
PHP 5.6.30(32bit)

■configure時のエラーメッセージ(①②共通)
------------------------------------------------------------------------------------------
server-name# ./configure --enable-server --enable-agent --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-mysql=/usr/local/mysql/bin/mysql_config

checking for -m64 compilation flag... yes
checking size of void *... 8
checking for mysql_config... /usr/local/mysql/bin/mysql_config
checking for main in -lmysqlclient... no
configure: error: Not found mysqlclient library
ncoob1-o-m#

■configure.logの内容①
-------------------------------------------------------------------------------------

configure:8045: checking for mysql_config
configure:8075: result: /usr/local/mysql/bin/mysql_config
configure:8170: checking for main in -lmysqlclient
configure:8189: gcc -o conftest -m64 -g -O2 -I/usr/local/mysql/include -g -fabi-version=2 -fno-omit-frame-
pointer -fno-strict-aliasing -L/usr/local/mysql/lib conftest.c -lmysqlclient -lkvm -lm -lrt -lnsl -lkst
at -lsocket -lresolv >&5
ld: fatal: file /usr/local/mysql/lib/libmysqlclient.so: wrong ELF class: ELFCLASS32
ld: fatal: File processing errors. No output written to conftest
collect2: ld returned 1 exit status
configure:8189: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Zabbix"
| #define PACKAGE_TARNAME "zabbix"
| #define PACKAGE_VERSION "3.4.1"

-------------------------------------------------------------------------------------------------------

■configure.logの内容②(強制32bitモード)
-------------------------------------------------------------------------------------------------------

configure_32:8045: checking for mysql_config
configure_32:8075: result: /usr/local/mysql/bin/mysql_config
configure_32:8170: checking for main in -lmysqlclient
configure_32:8189: gcc -o conftest -m32 -g -O2 -I/usr/local/mysql/include -g -fabi-version=2 -fno-omit-fra
me-pointer -fno-strict-aliasing -L/usr/local/mysql/lib conftest.c -lmysqlclient -lkvm -lm -lrt -lnsl -l
kstat -lsocket -lresolv >&5
Undefined first referenced
symbol in file
operator new[](unsigned int) /usr/local/mysql/lib/libmysqlclient.so
operator new(unsigned int) /usr/local/mysql/lib/libmysqlclient.so
vtable for __cxxabiv1::__si_class_type_info/usr/local/mysql/lib/libmysqlclient.so
operator delete[](void*) /usr/local/mysql/lib/libmysqlclient.so
operator delete(void*) /usr/local/mysql/lib/libmysqlclient.so
vtable for __cxxabiv1::__vmi_class_type_info/usr/local/mysql/lib/libmysqlclient.so
vtable for __cxxabiv1::__class_type_info/usr/local/mysql/lib/libmysqlclient.so
__gxx_personality_v0 /usr/local/mysql/lib/libmysqlclient.so
__cxa_pure_virtual /usr/local/mysql/lib/libmysqlclient.so
ld: fatal: Symbol referencing errors. No output written to conftest
collect2: ld returned 1 exit status
configure_32:8189: $? = 1

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

libmysqlclient.soが、C++のライブラリを必要としていて、gccで
コンパイルをして、リンク(ld)の呼び出しでC++のライブラリがリ
ンクされていないので、Undefinedのエラーになっているように見
受けられます。

gccの代わりにg++を使うか、gccのままでリンクするライブラリと
して「-lstdc++」を追加すると改善するかもしれません。

ユーザー syskan99 の写真

TNK 様

ありがとうございます!
configureを編集して強制的に32bitモードにさせて、環境変数CC、CXXに"gcc -lstdc++"でexportして無事configureが完了しました。
大変助かりました。