openSUSE12.3と13.1 Milestone 3 64 bit版での話です。 libwrapをリンクしようとしています。 しかし以下のエラーが出てlink出来ません。
gcc junk.c -lwrap usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: -lwrap が見つかりません
collect2: error: ld returned 1 exit status
cat junk.c int
main() { retunr 0; } libmはリンクに成功します。
gcc junk.c -lm ls a.out
/lib64/libwrap.so.0や/lib64/libwrap.so.0.7.6 はあるのですがバージョン番号の無いlibwrap.soが無いので linkに失敗します。
gcc junk.c /lib64/libwrap.so.0 としてやればリンクはできます。しかし美しくありません。
1) libm.soはバージョン番号の無い無印がsymlinkとして存在するのに libwrap.soは何故ないのでしょうか? 2) 自分でlibwrap.soをsymlinkとして作るべきでしょうか? 3) バージョン番号の無い無印*.soが無い共有オブジェクトというのは たまに見かけますが、 そういう仕様なのか、bugなのかどちらでしょうか? 4) 仕様だとしてどのようにリンクするのが正しいのでしょうか? UNIX系OSを長く使っていますが、いまだにこれだという答えを 知らないで悩んでいます。 とりあえずsshdのソースを見て(これもlibwrap.so.0をlinkしているので) どうしているのか調べてみます。
ldd /usr/sbin/sshd linux-vdso.so.1 (0x00007fffc2bfe000) libwrap.so.0 => /lib64/libwrap.so.0 (0x00007faf2072e000) libpam.so.0 => /lib64/libpam.so.0 (0x00007faf2051f000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007faf202fb000) libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007faf1ff10000) libutil.so.1 => /lib64/libutil.so.1 (0x00007faf1fd0d000) libz.so.1 => /lib64/libz.so.1 (0x00007faf1faf7000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007faf1f8bb000) libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007faf1f675000) libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007faf1f3a6000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007faf1f1a2000) libaudit.so.1 => /usr/lib64/libaudit.so.1 (0x00007faf1ef85000) libc.so.6 => /lib64/libc.so.6 (0x00007faf1ebd4000) libdl.so.2 => /lib64/libdl.so.2 (0x00007faf1e9d0000) libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007faf1e766000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007faf1e54a000) /lib64/ld-linux-x86-64.so.2 (0x00007faf20939000) libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007faf1e317000) libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007faf1e10a000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007faf1df06000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007faf1dcef000)
2013年8月6日 7:59 1xx
とりあえず私もpackage作りを試みてみたいと思います。
--
1xx