-bash-2.05b$ rpm rpm: error while loading shared libraries: librpmio-4.0.4.so: cannot enable executable stack as shared object requires: Error 14と、例のエラーになる。
[root@hackkit root]# apt-get source librpmio apt-get: error while loading shared libraries: librpmio-4.0.4.so: cannot enable executable stack as shared object requires: Error 14 [root@hackkit root]#あかんやん。
「缶切りは缶の中」!
[root@hackkit root]# apt-get source librpmio パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 E: librpmio のソースパッケージが見付かりません [root@hackkit root]# rpm -qf /usr/lib/librpmio-4.0.4.so rpm-4.0.5-1vl8librpmio って rpm のパッケージの一部なのか。
[root@hackkit root]# apt-get update 取得:1 http://updates.vinelinux.org 3.1/ppc release [2515B] 2515B を 0s 秒で取得しました (4543B/s) 取得:1 http://updates.vinelinux.org 3.1/ppc/main pkglist [215kB] 取得:2 http://updates.vinelinux.org 3.1/ppc/main release [123B] 取得:3 http://updates.vinelinux.org 3.1/ppc/devel pkglist [30.2kB] 取得:4 http://updates.vinelinux.org 3.1/ppc/devel release [124B] 取得:5 http://updates.vinelinux.org 3.1/ppc/plus pkglist [319kB] 取得:6 http://updates.vinelinux.org 3.1/ppc/plus release [123B] 取得:7 http://updates.vinelinux.org 3.1/ppc/updates pkglist [18.4kB] 取得:8 http://updates.vinelinux.org 3.1/ppc/updates release [126B] 取得:9 http://updates.vinelinux.org 3.1/ppc/main srclist [106kB] 取得:10 http://updates.vinelinux.org 3.1/ppc/devel srclist [14B] 取得:11 http://updates.vinelinux.org 3.1/ppc/plus srclist [172kB] 取得:12 http://updates.vinelinux.org 3.1/ppc/updates srclist [15.5kB] 877kB を 7s 秒で取得しました (120kB/s) パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 [root@hackkit root]# apt-get source rpm パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 6296kB のソースアーカイブを取得します。 取得:1 http://updates.vinelinux.org 3.1/ppc/main rpm 4.0.5-1vl8 (srpm) [6296kB] 6296kB を 12s 秒で取得しました (508kB/s) 1:rpm ########################################### [100%] [root@hackkit root]#
これだけでハックの記録、昨日1日分
[root@hackkit root]# rpm -ivh rpm-4.0.5-1vl8.src.rpm rpm: error while loading shared libraries: librpmio-4.0.4.so: cannot enable executable stack as shared object requires: Erro r 14 [root@hackkit root]#がー。何してんだか。
[root@hackkit root]# rpm -ivh rpm-4.0.5-1vl8.src.rpm 1:rpm ########################################### [100%] [root@hackkit root]#
ハックキットも同様に、基本をおさえて (手順どおりに インストールして)から 応用(自分なりのカスタマイズ)を試していただきたい。
本題に戻る。
[root@hackkit root]# cd rpm/SPECS/
[root@hackkit SPECS]# ls
rpm-vl.spec
[root@hackkit SPECS]# rpmbuild rpm-vl.spec
エラー: ビルド依存性の欠如:
        zlib-devel は rpm-4.0.5-1vl8 に必要とされています
        python-devel >= 2.3 は rpm-4.0.5-1vl8 に必要とされています
        autoconf は rpm-4.0.5-1vl8 に必要とされています
        automake は rpm-4.0.5-1vl8 に必要とされています
        libtool >= 1.5.2 は rpm-4.0.5-1vl8 に必要とされています
[root@hackkit SPECS]# apt-get build-dep rpm
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
  autoconf automake libtool libtool-libs m4 python-devel zlib-devel
アップグレード: 0 個, 新規インストール: 7 個, 削除: 0 個, 保留: 11 個
1506kB/3411kB のアーカイブを取得する必要があります。
展開後に 10.6MB のディスク容量が追加消費されます。
続行しますか? [Y/n]y
取得:1 http://updates.vinelinux.org 3.1/ppc/devel python-devel 2.3.4-0vl3 [1440kB]
取得:2 http://updates.vinelinux.org 3.1/ppc/devel zlib-devel 1.1.4-0vl3 [65.1kB]
1506kB を 6s 秒で取得しました (222kB/s)
変更を適用しています...
Preparing...                ########################################### [100%]
   1:m4                     ########################################### [ 14%]
   2:autoconf               ########################################### [ 28%]
   3:automake               ########################################### [ 42%]
   4:libtool-libs           ########################################### [ 57%]
   5:libtool                ########################################### [ 71%]
   6:python-devel           ########################################### [ 85%]
   7:zlib-devel             ########################################### [100%]
完了
[root@hackkit SPECS]# rpmbuild -ba rpm-vl.spec
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.74755
+ umask 022
+ cd /root/rpm/BUILD
+ cd /root/rpm/BUILD
+ rm -rf rpm-4.0.5
+ tar -xf -
+ /bin/gzip -dc /root/rpm/SOURCES/rpm-4.0.5.tar.gz
	:
	:
実行中(%build): /bin/sh -e /var/tmp/rpm-tmp.25378
+ umask 022
+ cd /root/rpm/BUILD
+ cd rpm-4.0.5
+ pushd db/dist
~/rpm/BUILD/rpm-4.0.5/db/dist ~/rpm/BUILD/rpm-4.0.5
+ libtoolize --copy --force
You should add the contents of `/usr/share/aclocal/libtool.m4' to `aclocal.m4'.
+ cp -f /usr/share/aclocal/libtool.m4 aclocal/libtool.ac
+ popd
~/rpm/BUILD/rpm-4.0.5
+ pushd popt
~/rpm/BUILD/rpm-4.0.5/popt ~/rpm/BUILD/rpm-4.0.5
+ libtoolize --copy --force
You should update your `aclocal.m4' by running aclocal.
+ aclocal
aclocal: configure.in: 80: macro `AM_GNU_GETTEXT' not found in library
エラー: /var/tmp/rpm-tmp.25378 の不正な終了ステータス (%build)
RPM ビルドエラー:
    /var/tmp/rpm-tmp.25378 の不正な終了ステータス (%build)
[root@hackkit SPECS]#
くじけそ。
[root@hackkit SPECS]# apt-get upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージがアップグレードされます:
  apache cyrus-sasl dhcp info jvim libstdc++2_10 libstdc++2_10-compat qpopper telnet-server
以下のパッケージは保留されます:
  LPRng kernel-headers
アップグレード: 9 個, 新規インストール: 0 個, 削除: 0 個, 保留: 2 個
5380kB のアーカイブを取得する必要があります。
展開後に 801kB のディスク容量が追加消費されます。
続行しますか? [Y/n]y
取得:1 http://updates.vinelinux.org 3.1/ppc/updates apache 1.3.33-0vl2 [658kB]
取得:2 http://updates.vinelinux.org 3.1/ppc/updates cyrus-sasl 2.1.18-0vl3 [266kB]
取得:3 http://updates.vinelinux.org 3.1/ppc/plus dhcp 1:3.0pl2-6vl1 [601kB]
取得:4 http://updates.vinelinux.org 3.1/ppc/plus info 4.7-0vl1 [153kB]
取得:5 http://updates.vinelinux.org 3.1/ppc/plus jvim 3.0j2.1b-0vl3 [861kB]
取得:6 http://updates.vinelinux.org 3.1/ppc/plus libstdc++2_10 1:2.10.0-2vl24 [2243kB]
取得:7 http://updates.vinelinux.org 3.1/ppc/plus libstdc++2_10-compat 2.10.0-0vl4 [2493B]
取得:8 http://updates.vinelinux.org 3.1/ppc/plus qpopper 4.0.5-0vl1 [564kB]
取得:9 http://updates.vinelinux.org 3.1/ppc/plus telnet-server 0.17.x-30vl1 [31.2kB]
5380kB を 22s 秒で取得しました (240kB/s)
変更を適用しています...
Preparing...                ########################################### [100%]
   1:apache                 ########################################### [ 11%]
   2:cyrus-sasl             ########################################### [ 22%]
   3:dhcp                   ########################################### [ 33%]
   4:info                   warning: /usr/share/info/dir created as /usr/share/info/dir.rpmnew
########################################### [ 44%]
   5:jvim                   ########################################### [ 55%]
   6:libstdc++2_10          ########################################### [ 66%]
   7:libstdc++2_10-compat   ########################################### [ 77%]
   8:qpopper                ########################################### [ 88%]
   9:telnet-server          ########################################### [100%]
完了
[root@hackkit SPECS]# rpmbuild -ba rpm-vl.spec
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.58881
	:
aclocal: configure.in: 80: macro `AM_GNU_GETTEXT' not found in library
エラー: /var/tmp/rpm-tmp.83157 の不正な終了ステータス (%build)
RPM ビルドエラー:
    /var/tmp/rpm-tmp.83157 の不正な終了ステータス (%build)
やっぱりだめ
[root@hackkit root]# rpm -qa|grep gettext [root@hackkit root]#インストールされていないので、インストールする
[root@hackkit root]# apt-get install gettext パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下の追加パッケージがインストールされます: gmp libgcj python zip 以下のパッケージが新たにインストールされます: gettext gmp libgcj python zip アップグレード: 0 個, 新規インストール: 5 個, 削除: 0 個, 保留: 2 個 21.6MB のアーカイブを取得する必要があります。 展開後に 71.7MB のディスク容量が追加消費されます。 続行しますか? [Y/n]y 取得:1 http://updates.vinelinux.org 3.1/ppc/main gmp 4.1.2-13vl1 [195kB] 取得:2 http://updates.vinelinux.org 3.1/ppc/main python 2.3.4-0vl3 [5452kB] 取得:3 http://updates.vinelinux.org 3.1/ppc/main zip 2.3-14vl2 [117kB] 取得:4 http://updates.vinelinux.org 3.1/ppc/main libgcj 3.3.2-0vl8 [12.9MB] 取得:5 http://updates.vinelinux.org 3.1/ppc/main gettext 0.14.1-0vl2 [2905kB] 21.6MB を 58s 秒で取得しました (366kB/s) 変更を適用しています... Preparing... ########################################### [100%] 1:gmp ########################################### [ 20%] 2:python ########################################### [ 40%] 3:zip ########################################### [ 60%] 4:libgcj ########################################### [ 80%] 5:gettext ########################################### [100%] 完了 [root@hackkit root]#再度 rebuild
[root@hackkit SPECS]# rpmbuild -ba rpm-vl.spec 実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.774 + umask 022 + cd /root/rpm/BUILD + cd /root/rpm/BUILD : : + libtoolize --copy --force You should update your `aclocal.m4' by running aclocal. + aclocal + autoheader無事通過
	:
	:
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
エラー: /var/tmp/rpm-tmp.35358 の不正な終了ステータス (%build)
RPM ビルドエラー:
    /var/tmp/rpm-tmp.35358 の不正な終了ステータス (%build)
[root@hackkit SPECS]#
今度は cpp が健全じゃないと。一難去ってまた一難。[root@hackkit SPECS]# ls -l /lib/cpp lrwxrwxrwx 1 root root 24 Nov 26 07:18 /lib/cpp -> /etc/alternatives/libcpp* [root@hackkit SPECS]# ls -l /etc/alternatives/libcpp lrwxrwxrwx 1 root root 18 Nov 26 07:18 /etc/alternatives/libcpp -> /usr/bin/cpp-3.3.2*ちゃんとあるのに。 今度こそ、くじけそ。
| ← | ハックの記録 | → Vine 3.1(7)librpm の作り直し(2)Vine 2.6 でコンパイル | 
| LinkStation/玄箱 をハックしよう |