プログラム初心者です。
Solaris10にOpenLDAPを導入する作業をしています。OpenLDAPのバックエンドにMySQL Clusterを利用しようとしているのですが設定の部分でエラーが発生してしまい、長いこと先に進んでいません。
内容は以下です。
./configure --enable-ndb=yes --enable-bdb=no --enable-hdb=no
・・・(省略)
configure:21927: result: no
configure: error: could not locate ndbclient library
**config.logの内容:
・・・(省略)
Undefined first referenced
symbol in file
__1cG__CrunKvector_des6FpvLLpF1_v_v_ /mysql/mysqlc/lib/libndbclient.so
__1cG__CrunKvector_con6FpvLLpF1_vp2_v_ /mysql/mysqlc/lib/libndbclient.so
__1cG__CrunKvector_del6FpvLpF1_v_1_ /mysql/mysqlc/lib/libndbclient.so
__1cG__CrunKvector_new6FpvLLpF1_vp2_1_ /mysql/mysqlc/lib/libndbclient.so
__1c2n6FLpv_0_ /mysql/mysqlc/lib/libndbclient.so
__1c2N6FLpv_0_ /mysql/mysqlc/lib/libndbclient.so
__1cG__CrunJzero_ptrs6FpvL_v_ /mysql/mysqlc/lib/libndbclient.so
__1cG__CrunSregister_exit_code6FpG_v_v_ /mysql/mysqlc/lib/libndbclient.so
__1cDstdFqsort6FpvLLpFpkv3_i_v_ /mysql/mysqlc/lib/libndbclient.so
__1c2N6FL_pv_ /mysql/mysqlc/lib/libndbclient.so
__1c2n6FL_pv_ /mysql/mysqlc/lib/libndbclient.so
__1c2K6Fpv_v_ /mysql/mysqlc/lib/libndbclient.so
__1c2k6Fpv_v_ /mysql/mysqlc/lib/libndbclient.so
ld: fatal: Symbol referencing errors. No output written to conftest
collect2: ld returned 1 exit status
・・・(省略)
**環境変数
PATH:/usr/sfw/bin/64:/usr/local/bin:/mysql/mysqlc/bin:/mysql/mysqlc/lib:/usr/sbin:/usr/bin:/usr/lib/64:/usr/lib:/usr/ccs/bin
LDFLAGS:-L/mysql/mysqlc/lib -L/usr/local/ssl/lib -L/usr/local/lib -L/usr/sfw/lib/mysql
CPPFLAGS:-I/mysql/mysqlc/include -I/usr/local/ssl/include -I/usr/local/include -I/usr/include
エラーについても検索してみたのですが、似たような情報が少なく解決できませんでした。
何よりSolarisを触ってまだ2ヶ月もたっていないのでわからないことだらけです。
何卒よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
ここだけだと C++用のライブラリがリンクできていないように見えます. 「省略」されたところに「どのようなコマンドでリンクしようとしたのか」は書いてありませんか?
C++ コンパイラを使ってリンクまですれば C++用のライブラリもリンクしますが, ld でリンクする場合には明示しない限り C++用のライブラリはリンクしません.
この回答への補足
すいません。自己解決しました。
-staticだとスタティックライブラリを参照するだけなので意味がなかったのですね。
元のエラー時に参照されていない関数を持ったライブラリをリンクしたら./configureが通りました。
C言語も初めてだったので苦労しました。
アドバイスありがとうございました。
ご回答ありがとうございます。
*Mysql Clusterを別のディレクトリにインストールし直したので以下、質問時と違う記述があります。
/mysql/mysqlc/⇒⇒/opt/mysql/mysql/
「省略」部分のエラーの上の数行にそれらしき記述がありました。
checking for NdbApi.hpp
configure:21877: /usr/sfw/bin/gcc -m64 -E -I/opt/mysql/mysql/include -I/opt/mysql/mysql/include/storage/ndb -I/opt/mysql/mysql/include/storage/ndb/ndbapi conftest.c
configure:21877: $? = 0
configure:21878: result: yes
configure:21893: checking for ndb_init in -lndbclient
configure:21918: /usr/sfw/bin/gcc -m64 -o conftest -g -O2 -I/opt/mysql/mysql/include -I/usr/local/ssl/include -I/usr/local/include -I/usr/include -L/opt/mysql/mysql/lib -lmysqlclient_r -lthread -lsocket -lnsl -lm -lrt conftest.c -lndbclient -lstdc++ -lresolv -lgen -lnsl -lsocket >&5
configureをいじって-staticをつけたらエラーメッセージが以下のように変わりました。
configure:21918: /usr/sfw/bin/gcc -m64 -o conftest -g -O2 -I/opt/mysql/mysql/include -I/usr/local/ssl/include -I/usr/local/include -I/usr/include -L/opt/mysql/mysql/lib -lmysqlclient_r -lthread -lsocket -lnsl -lm -lrt conftest.c -static -lndbclient -lstdc++ -lresolv -lgen -lnsl -lsocket >&5
ld: fatal: library -lthread: not found
ld: fatal: library -lsocket: not found
ld: fatal: library -lnsl: not found
ld: fatal: library -lm: not found
ld: fatal: library -lrt: not found
ld: fatal: library -lndbclient: not found
ld: fatal: library -lresolv: not found
ld: fatal: library -lgen: not found
ld: fatal: library -lnsl: not found
ld: fatal: library -lsocket: not found
ld: fatal: library -lc: not found
ld: fatal: library -lc: not found
色々と調べて試した結果、libthread.a libsocket.a libnsl.a libm.a librt.a libndbclient.a libresolv.a libc.a が見つからないという解釈なのですが合っていますでしょうか?
ちなみに解釈があっているとすると上記のスタティックライブラリ(?)はSolaris内になかったので筋が通るのですが・・・。
もしそうだった場合、上記のライブラリをどこかからインストール、または作成する必要があると思うのですが何か良い方法はないでしょうか?
お手数ですがご教授願います。
No.1
- 回答日時:
1.Google先生に確認
「Solaris10にOpenLDAPを導入」で検索すると、たくさん表示されます。
(1) http://sy2920.s151.xrea.com/solaris/opnldap-inst …
(2) http://mcaf.ee/ogl1c ⇒URL長過ぎるので短縮
(3) http://trialpc.net/blog/2007/04/solarisopenldap- …
(4) http://mcaf.ee/ks7gb ⇒URL長過ぎるので短縮
など。
2.上記資料を参考に、チャレンジして下さい。
前項1-(1),(2)など、参考になりませんか?
ご自分でも、検索される事をお薦めします。
LINUX、例えばCentOS等であれば、OpenLDAPインストール後の
設定と運用など、参考記事がたくさん見つかると思います。
⇒MySQL Cluster、の記述についても気になります。
当該サーバから、通常のDBアクセス可否を確認済みですか?
⇒切り分けのために、一旦BDBで構築可能か、試すのも有効です。
OpenSource系の自力インストールが難しいようであれば、Oracle社の
有償サポートや、SIer有償サポートなどを利用する事をご検討下さい。
以上、ご参考まで
この回答への補足
すいません。自己解決しました。
SolarisもC言語も初めてだったので苦労しましたがそれぞれに絞ってGoogle検索して解決にいたりました。
アドバイスありがとうございました。
ご回答ありがとうございます。
URLまでのせて頂きありがとうございます。
「Solaris10 OpenLDAP」での検索はもちろん行いました。
上記のサイトもいくつか拝見したことがあるのですが
バックエンドにNDBを利用した際の設定などが細かく書いてある
サイトがほとんどなく、あっても./configureの部分でのエラーが
起きていない場合がほとんどでした。
エラーの内容について調べた結果、C++のコンパイル時にリンクが上手く通っていないため
コンパイルができていないようです。
>通常のDBアクセスを確認済みですか?
まだ確認は行っていません。
BDBでの構築も考えはしましたが、まだ実行してはいませんでした。
もう少し調べてみてそれでも解決しないようならば
通常DBアクセスもBDBでの構築もやってみようと思います。
つたない文章で申し訳ありません。
また何かありましたらよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Ruby 教えてください 2 2023/01/04 17:50
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Red Hat ES 3にPHP5.2.5インス...
-
PHP5.2.9インストール時に、 Or...
-
所有者apacheでパーミッション644
-
phpのインストールが上手く行き...
-
コンパイルエラー
-
パスワード設定していないユー...
-
DNSサーバを設定したのですがns...
-
リモートデスクトップ接続でパ...
-
エクセルで#N/Aを含めた平均値...
-
同一のホスト名で何か問題があ...
-
IEのイベントログをイベントビ...
-
コマンドでのFTP転送が進まない。
-
エラーメールで"too many hops"...
-
TortoiseSVNでアクセスエラー
-
”Tortoise SVN” と ”Subversio...
-
VirtualBoxのGuestマシンのネッ...
-
至急) mac finderの場所 ネット...
-
Linuxでパスワード変更時に「it...
-
Mailの送信済みメールボックス...
-
「DNSサーバーを自動的に取得す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンパイルエラー
-
Red Hat ES 3にPHP5.2.5インス...
-
GCCでライブラリが足りない
-
PHPにmssqlをインストールする...
-
PHPをバージョンアップしたらCR...
-
所有者apacheでパーミッション644
-
PHP5.2.9インストール時に、 Or...
-
Smartyの設定について
-
icu ビルドエラー
-
PHPのビルドについて質問です。
-
OpenLDAPのインストール
-
PHPモジュールが読み込めない?
-
Call to undefined function: m...
-
パスがうまく通らないので、パ...
-
DNSサーバを設定したのですがns...
-
リモートデスクトップ接続でパ...
-
パスワード設定していないユー...
-
同一のホスト名で何か問題があ...
-
「DNSサーバーを自動的に取得す...
-
AWSでSSH接続をしたいのですが...
おすすめ情報