Openldapインストールmakeでエラー

このQ&Aのポイント
  • Solaris10にOpenldapのインストールがうまく行かない場合、make時にエラーが発生します。
  • インストールするために事前に準備する必要のあるソフトウェアはBerkeleyDB4.7.25、openssl0.98l、cyrus-sasl-2.1.21です。
  • エラーメッセージにはBIO_set_flags、BIO_clear_flags、SSL_CTX_set_info_callbackのシンボル参照エラーが含まれています。
回答を見る
  • ベストアンサー

Openldapインストールmakeでエラー

Solaris10にOpenldapのインストールがうまく行きません。 make時でエラーになります。 色々、Googleで調べてしているのですが結局うまくいきませんでした。 教えていた頂けたら幸いです。 事前にインストールしたソフト BerkeleyDB4.7.25 openssl0.98l cyrus-sasl-2.1.21 cd openldap-2.4.16 CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib -R/usr/local/BerkeleyDB.4.7/lib" ./configure make depend make (cd .libs && rm -f libldap.la && ln -s ../libldap.la libldap.la) gcc -g -O2 -I../../include -I../../include -I/usr/local/BerkeleyDB.4.7/include -c -o apitest.o apitest.c /bin/sh ../../libtool --mode=link gcc -static -g -O2 -L/usr/local/BerkeleyDB.4.7/lib -R/usr/local/BerkeleyDB.4.7/lib -o apitest apitest.o libldap.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a -lsasl2 -lgss -lssl -lcrypto -lresolv -lgen -lnsl -lsocket gcc -g -O2 -o apitest apitest.o -L/usr/local/BerkeleyDB.4.7/lib ./.libs/libldap.a /work/src/openldap-2.4.16/libraries/liblber/.libs/liblber.a -L/usr/local/lib:-L/usr/local/ssl/lib:-L/usr/sfw/lib:-L/usr/lib:-L/opt/sfw/lib:-L/usr/ccs/lib:-L/usr/local/BerkeleyDB4.7/lib ../../libraries/liblber/.libs/liblber.a ../../libraries/liblutil/liblutil.a /usr/local/lib/libsasl2.so -ldl -lgss -lssl -lcrypto -lresolv -lgen -lnsl -lsocket -R/usr/local/lib -R/usr/local/lib -R/usr/local/BerkeleyDB.4.7/lib Undefined first referenced symbol in file BIO_set_flags ./.libs/libldap.a(tls_o.o) BIO_clear_flags ./.libs/libldap.a(tls_o.o) SSL_CTX_set_info_callback ./.libs/libldap.a(tls_o.o) ld: fatal: Symbol referencing errors. No output written to apitest collect2: ld returned 1 exit status make[2]: *** [apitest] エラー 1 make[2]: ディレクトリ `/work/src/openldap-2.4.16/libraries/libldap' から出ます make[1]: *** [all-common] エラー 1 make[1]: ディレクトリ `/work/src/openldap-2.4.16/libraries' から出ます make: *** [all-common] エラー 1 勉強不足で申し訳ありませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#227025
noname#227025
回答No.2

> その後、make testで、 >>>>> Starting test001-slapadd ... > running defines.sh > Running slapadd to build slapd database... > ここから、先に進まない状態です。 事前に BerkeleyDB4.7.25 をインストールされたとのことですが、下記 URL にて公開されているパッチ 4 つ(patch.4.7.25.1~patch.4.7.25.4)をあてていますか? もしあてていないなら、それが原因だと思います。 http://www.oracle.com/technology/products/berkeley-db/db/update/4.7.25/patch.4.7.25.html なお、本家のメーリングリストにも同じような報告がありますね。 http://www.openldap.org/lists/openldap-bugs/200907/msg00143.html > openldapの細かな設定とかして、起動していないので > まだ、確認していませんが、make test がうまく行かなかったら、この先 > 何か問題とかありますか? make test を実行するにあたって、OpenLDAP の設定をする必要はないはずです。 make test が通らないのは、コンパイルしたものが正常に動作していないということなので、問題大有りです。

hironona
質問者

お礼

xinuさん ご回答ありがとうございました。 URL にて公開されているパッチを当て、再度、コンパイルし make testも通りました。 やぱり、make test が通らないのは、コンパイルしたものが正常に動作していないということなのですね。これから、気をつけます。

その他の回答 (1)

noname#227025
noname#227025
回答No.1

Solaris 10 には OpenSSL と SASL がバンドルされています。 そのため、ユーザが自前でインストールした OpenSSL と SASL がある場合、それらを明示的に指定しないと OS バンドルの方が使用されてしまいます。 つまり、CPPFLAGS と LDFLAGS に自前でインストールした OpenSSL と cyrus-sasl の設定を加える必要があります。 おそらくそれがぬけているため、make が通らないのではないかと思います。 例えば、OpenSSL と cyrus-sasl をデフォルトでコンパイル & インストールした場合、 CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include -I/usr/loca/ssl/include -I/usr/local/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib -R/usr/loca/BerkeleyDB.4.7/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/lib -R/usr/local/lib" とする必要があります。

hironona
質問者

補足

xinuさん、 ご回答ありがとうございます。 CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include -I/usr/loca/ssl/include -I/usr/local/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib -R/usr/loca/BerkeleyDB.4.7/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/lib -R/usr/local/lib" を設定し、make した所、エラーがなく進みました。 ありがとうございました。 その後、make testで、 >>>> Starting test001-slapadd ... running defines.sh Running slapadd to build slapd database... ここから、先に進まない状態です。 とりあえず、中断して先に、make installをしました。 openldapの細かな設定とかして、起動していないので まだ、確認していませんが、make test がうまく行かなかったら、この先 何か問題とかありますか? よろしくお願いします。

関連するQ&A

  • Openldapインストールmake testでエラー

    Openldapのインストールについて質問があります。 1度は、正常にOpenldapのインストールは、成功したのですが Openldapを再インストールしようと思い実行したのですが、 make testで、下記のエラーが表示されました。 Initiating LDAP tests for BDB... Running ./scripts/all... >>>>> Executing all LDAP tests for bdb >>>>> Starting test000-rootdse ... running defines.sh Starting slapd on TCP/IP port 9011... Using ldapsearch to retrieve the root DSE... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... ldap_bind: Can't contact LDAP server (-1) >>>>> Test failed >>>>> ./scripts/test000-rootdse failed (exit 1) make[2]: *** [bdb-yes] Error 1 make[2]: Leaving directory `/var/tmp/src/ldap/openldap-2.2.17/tests' make[1]: *** [test] Error 2 make[1]: Leaving directory `/var/tmp/src/ldap/openldap-2.2.17/tests' make: *** [test] Error 2 ネットで調べたのですが、有力な情報がなかったので、知っている方がいれば教えて頂けたら幸いです。 BerkeleyDB.4.7のパッチは、当てています。 http://www.tail.gr.jp/wiki/?OpenLDAP CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include -I/usr/loca/ssl/include -I/usr/local/include" export CPPFLAGS LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib -R/usr/loca/BerkeleyDB.4.7/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/lib -R/usr/local/lib" export LDFLAGS ./configure --enable-crypt make depend make ここまでは、エラー無く通っています。 make test よろしくお願いします。

  • makeでのエラー

    makeをした際に、 /usr/local/lib/gcc-lib/h8300-elf/3.3/../../../../h8300-elf/bin/ld.real:skipping incompatible /usr/local/lib/gcc-lib/h8300-elf/3.3/libgcc.a when searching for libgcc.a /usr/local/lib/gcc-lib/h8300-elf/3.3/../../../../h8300-elf/bin/ld.real: cannot find libgcc.a collect2: ld returned 1 exit status make: ***[basic1] Error 1 と表示されるのですが、このエラーとはどういう意味なのでしょうか? わかる方教えてください。お願いします。

  • Apacheインストール時にエラー

    はじめまして。 Solaris10の環境で、OpenSSL9.8lをソースからインストールし Apache2.2.14の所でmakeエラーが発生しました。 Googleで調べたのですが、よくわかりません。 ご存知の方、教えていただけたら幸いです。 ./configure --enable-mods-shared=all--enable-ssl=shared --enable-ssl --with-ssl=/usr/local/ssl --with-included-apr make /usr/local/src/httpd-2.2.14/srclib/apr/libtool --silent --mode=compile gcc -g -O2 -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -I/usr/local/src/httpd-2.2.14/srclib/pcre -I. -I/usr/local/src/httpd-2.2.14/os/unix -I/usr/local/src/httpd-2.2.14/server/mpm/prefork -I/usr/local/src/httpd-2.2.14/modules/http -I/usr/local/src/httpd-2.2.14/modules/filters -I/usr/local/src/httpd-2.2.14/modules/proxy -I/usr/local/src/httpd-2.2.14/include -I/usr/local/src/httpd-2.2.14/modules/generators -I/usr/local/src/httpd-2.2.14/modules/mappers -I/usr/local/src/httpd-2.2.14/modules/database -I/usr/local/src/httpd-2.2.14/srclib/apr/include -I/usr/local/src/httpd-2.2.14/srclib/apr-util/include -I/usr/local/src/httpd-2.2.14/modules/proxy/../generators -I/usr/local/ssl/include -I/usr/local/src/httpd-2.2.14/modules/ssl -I/usr/local/src/httpd-2.2.14/modules/dav/main -prefer-non-pic -static -c htpasswd.c && touch htpasswd.lo /usr/local/src/httpd-2.2.14/srclib/apr/libtool --silent --mode=link gcc -g -O2 -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/lib:-L/usr/sfw/lib:-L/usr/lib:-L/opt/sfw/lib:-L/usr/local/ssl/lib -o htpasswd htpasswd.lo -lm /usr/local/src/httpd-2.2.14/srclib/pcre/libpcre.la /usr/local/src/httpd-2.2.14/srclib/apr-util/libaprutil-1.la -lexpat -liconv /usr/local/src/httpd-2.2.14/srclib/apr/libapr-1.la -luuid -lsendfile -lrt -lsocket -lnsl -lpthread Undefined first referenced symbol in file atomic_swap_32 /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_cas_ptr /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_swap_ptr /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_inc_32_nv /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_dec_32_nv /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_cas_32 /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so ld: fatal: Symbol referencing errors. No output written to .libs/htpasswd collect2: ld returned 1 exit status make[2]: *** [htpasswd] エラー 1 make[2]: ディレクトリ `/usr/local/src/httpd-2.2.14/support' から出ます make[1]: *** [all-recursive] エラー 1 make[1]: ディレクトリ `/usr/local/src/httpd-2.2.14/support' から出ます make: *** [all-recursive] エラー 1 よろしくお願いします。

  • OpenLDAPのインストール

    プログラム初心者です。 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ヶ月もたっていないのでわからないことだらけです。 何卒よろしくお願いいたします。

  • TunesBrowserのmakeで失敗します

    redhat9,kernel-2.4.20-8,gcc-3.2.2-5で利用してます。 TunesBrowser(http://crazney.net/programs/itunes/tunesbrowser.html)のmake時に以下エラーで失敗します。 /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglade-2.0.so: undefined reference to `g_return_if_fail_warning' collect2: ld returned 1 exit status make[1]: *** [tunesbrowser] エラー 1 make: *** [all] エラー 2 Makefile中にはlibglade-2.0を含む項目は以下のようなものがあります。 (中略) GLADE_CFLAGS = -I/usr/include/libglade-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libxml2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/X11R6/include -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include GLADE_LIBS = -Wl,--export-dynamic -L/usr/X11R6/lib -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lz -lgdk-x11-2.0 -lXrandr -lXi -lXinerama -lXext -latk-1.0 -lgdk_pixbuf-2.0 -lm -lXcursor -lpangoxft-1.0 -lXft -lfreetype -lXrender -lfontconfig -lpangox-1.0 -lX11 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 (中略) TB_CFLAGS = -I/usr/local/include -I/usr/include/libglade-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libxml2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/X11R6/include -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include (省略) またlibglade-2.0.soは /usr/lib/libglade-2.0.so にあります。 色々調べてみたところundefined referenceのエラーの時はリンクが出来ていないのが原因のようですが、リンクのさせ方が分からないので、分かる人教えてください。

  • OpenLDAPログインについて

    OpenLDAPを使ったログインについて質問があります。 OpenLDAPサーバを利用したユーザー認証で、OpenLDAPサーバにエントリした ユーザでログインできません。また、/etc/passwdに登録してあるユーザをツールを使用して、OpenLDAPサーバに移行したユーザでは、ログインできます。ユーザの追加方法または設定ファイルに誤りがあるんでしょうか? slapd.conf include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/inetorgperson.schema include /usr/local/etc/openldap/schema/nis.schema # Define global ACLs to disable default read access. # Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org pidfile /usr/local/var/run/slapd.pid argsfile /usr/local/var/run/slapd.args # Load dynamic backend modules: modulepath /usr/local/libexec/openldap moduleload back_bdb.la ldifファイル dn: uid=hogehoge,ou=People,dc=solaristest,dc=com uid: hogehoge cn: hogehoge objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount loginShell: /bin/sh uidNumber: 119 gidNumber: 1 homeDirectory: /export/home/hogehoge userPassword: {SSHA}KzPlKEL6i7Sw0Br5BmgMr0OuW4WcXFJk 勉強不足で申し訳ありませんが、教えて頂けたら幸いです。 ご指導よろしくお願いします。

  • GDモジュールのインストールエラー

    RedHat ES でGDgraphモジュールを使用するために GDモジュールをインストールしたところ、下記のようなエラーになりました。 gcc -c -I/usr/local/include -I/usr/local/include/gd -D_REENTRANT -D_GNU_SOURCE -DTHREADS_ HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FIL E_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"2.11\" -DXS_VERSION=\"2.11\" -fPIC "-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE" GD .c Running Mkbootstrap for GD () chmod 644 GD.bs rm -f blib/arch/auto/GD/GD.so LD_RUN_PATH="/usr/local/lib:/usr/lib:/lib" gcc -shared -L/usr/local/lib GD.o -o blib/arch/auto/GD/GD.so -L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/local/lib -lgd -lpng -lz -lm/usr/bin/ld: cannot find -lpng collect2: ld はステータス 1 で終了しました make: *** [blib/arch/auto/GD/GD.so] エラー 1 freetype2 gdライブラリ PG.pm GDTextUtile GD::Graph   はインストール完了しましたが gdのインストールだけが何度やっても失敗します。 何のモジュールが足りないのか教えていただきたいです。 よろしくお願いいたします。

  • configure: error: Berkeley DB version mismatch

    たいへん困ってます。 超初心者でずっと調べているのですが、openLDAPがインストール出来ません。 利用しているOS:CentOS4.6 openLDAP 2.4.111 Berkeley DB 4.7.25 openssl opensslをインストールし、Berkeley DB 4.7.255をインストールしました。 openldapのコンパイル環境を設定しようと ./configure --enable-wrappers --enable-tls --enable-crypt をすると、 checking for Berkeley DB major version... 4 checking for Berkeley DB minor version... 7 checking for Berkeley DB link (-ldb-4)... yes checking for Berkeley DB version match... Berkeley DB version mismatch header: Berkeley DB 4.7.25: (May 15, 2008) library: Sleepycat Software: Berkeley DB 4.2.52: (July 14, 2007) no configure: error: Berkeley DB version mismatch ↑となり、インストール出来ません。 色々調べて、PATHの設定がよくないのかな?とおもったのですが、PATHの設定方法が解らず困っています。 export LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.7/lib:/usr/local/lib しても何も変りません。 そもそも/usr/local/のなかにBerkeleyDB.4.7なんてディリレクトリが在りません。 BerkeleyDB.4.7のインストールがうまくいってないのでしょうか? BerkeleyDB.4.7のインストールの手順は下記でおこないました。 tar xzf db-4.7.25.tar.gz cd db-4.7.25 cd build_unix ../dist/configure --prefix=/usr/local make su(rootに変更) #make install 超初心者です。 どうか、CentOSの実行コマンドを含めて教えていただけると助かります。 他に情報が足りなければ、お応えしますので、どうかよろしくお願いいたします。

  • 64bitのRedHatでlibSSH2がmakeできません。。

    RedHatEnterprise3で、libsslをmakeすると、 下記のエラーとなり検索しても原因がわからず困っています。 ■libssh2の最新(2-0.14) gcc -o channel.o channel.c -c -g -O2 /usr/include -I/usr/include -Wall -I../include/ -fPIC gcc: -c や -S と一緒に -o を指定すると、複数コンパイルできません make[1]: *** [channel.o] エラー 1 ■libssh2(2-0.13) /usr/bin/ld: /usr/local/lib/libcrypto.a(md5_dgst.o): 再配置 R_X86_64_32 は共有オブジェクトを作成したときには使えません -- -fPIC を付けて再コンパイルしてください /usr/local/lib/libcrypto.a: could not read symbols: 不正な値です collect2: ld はステータス 1 で終了しました Makefileを開き、CFLAGSに-fPICを付けてmakeしましたが 同じエラーメッセージでした(><)どうすれば良いでしょうか? 日本語でGoogleで検索しても見つからないので、 とりあえずコマンドエラーのメッセージだけでも 英語に変える方法だけでも知りたいです。 libsslはRPMもないようで・・手詰まりです。

  • Visual C++でのmakeファイルについて

    Unix系OSではmakeファイルを使ったことがあるのですが、Visual C++でも同じ書き方でいいのでしょうか。ちなみにLinuxPCでの例は以下です。 GFLAGS = -I/usr/X11R6/include LIBS = -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm -lpthread SRC = ensyuu8-4-2.c $(SRC:.c=):$(SRC) $(CC) -o $(SRC:.c=) $(CFLAGS) $(SRC) $(LIBS) 違うのであれば、書き方を教えてください。あと保存する際はLinuxでは「MakeFile」でしたが、Visual C++では「Makefile.cpp」でいいのでしょうか。