スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CentOS 5.5 x64でOpenLDAP 2.4.24をビルドするとエラーになった件

タックス

気づいたら、今年最初のブログとなってしまいました。
ネタはたくさんあるんですが、なかなか書けなくて申し訳ないです…

久しぶりにOpenLDAPがバージョンアップしたので、早速rpmパッケージをビルドしたのですが、思わぬエラーに遭遇してしまいました。
既にwingリポジトリにはアップ済みですが、その解決方法をご紹介します。

私はいつも、新しいバージョンが出ると、基本的には前バージョンのSPECファイルをそのまま使用して、新バージョンのrpmを使用します。
OpenLDAPも2.4.23から2.4.24になったので、そんなに大したことは無いだろうと思って、そのままビルドしたところ、以下のようなエラーが発生しました。
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_rdwr_wunlock':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:382: undefined reference to `pthread_rwlock_unlock'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_rdwr_runlock':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:367: undefined reference to `pthread_rwlock_unlock'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_rdwr_wtrylock':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:377: undefined reference to `pthread_rwlock_trywrlock'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_rdwr_wlock':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:372: undefined reference to `pthread_rwlock_wrlock'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_rdwr_rtrylock':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:362: undefined reference to `pthread_rwlock_tryrdlock'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_rdwr_rlock':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:357: undefined reference to `pthread_rwlock_rdlock'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_rdwr_destroy':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:352: undefined reference to `pthread_rwlock_destroy'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_rdwr_init':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:346: undefined reference to `pthread_rwlock_init'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_key_getdata':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:337: undefined reference to `pthread_getspecific'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_key_setdata':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:331: undefined reference to `pthread_setspecific'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_key_destroy':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:325: undefined reference to `pthread_key_delete'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_key_create':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:319: undefined reference to `pthread_key_create'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_mutex_trylock':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:302: undefined reference to `pthread_mutex_trylock'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_kill':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:205: undefined reference to `pthread_kill'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_join':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:197: undefined reference to `pthread_join'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_create':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:150: undefined reference to `pthread_attr_setstacksize'
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:165: undefined reference to `pthread_create'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_get_concurrency':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:107: undefined reference to `pthread_getconcurrency'
../../libraries/libldap_r/.libs/libldap_r.a(thr_posix.o): In function `ldap_pvt_thread_set_concurrency':
/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/libraries/libldap_r/thr_posix.c:93: undefined reference to `pthread_setconcurrency'
collect2: ld returned 1 exit status
make[2]: *** [slapd-mtread] Error 1
make[2]: Leaving directory `/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/tests/progs'
make[1]: *** [all-common] Error 1
make[1]: Leaving directory `/usr/src/redhat/BUILD/openldap-2.4.24/evo-openldap-2.4.24/tests'
make: *** [all-common] Error 1
エラー: /var/tmp/rpm-tmp.19944 の不正な終了ステータス (%build)


RPM ビルドエラー:
/var/tmp/rpm-tmp.19944 の不正な終了ステータス (%build)

いろいろとGoogle先生に聞いてみたところ、CFLAGSに"-lpthread"を付けないとビルドできないことがわかりました。
ソースからコンパイルして使用しようとしている人にも参考になれば幸いです。

以下、参考リンクです。

Wikipedia(Linux)
Wikipedia(CentOS)
Wikipedia(LDAP)
Wikipedia(OpenLDAP)

関連記事


FC2Blog Rankingblogram投票ボタンとれまが人気ブログランキングブログランキング・にほんブログ村へ
くる天 人気ブログランキングにほんブログ村 IT技術ブログ CentOSへ

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

WING☆

Author:WING☆


カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
カウンター
お問い合わせ

名前:
メール:
件名:
本文:

WING☆からのお知らせ
  • CentOS 7設定集
  •    └wingリポジトリ(el7)

  • CentOS 6 x64設定集
  •    └wingリポジトリ(el6)

  • CentOS 5 x64設定集
  •    └wingリポジトリ(el5)



    My Yahoo!に追加

    FC2ブログランキング



    リンク
    ブロとも一覧
    Virtualization & Sever Maniax
    RSSリンクの表示
    QRコード
    QRコード
    ブロとも申請フォーム

    この人とブロともになる

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。