にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2014年03月30日

モバイルUbuntu、NetWalker登場 Jaunty環境最新版パッケージ NetBSD pkgsrc導入テスト1NG編 その221

注意)
 こちらの記録はテスト目的で読みが間違っており内容が不十分でした。
 Coreutils関係をLucid化しないと動作しない結論になりました。
 この方法ではJaunty環境上では動作しません。
 このドキュメントは記録の為にあえて残しておきます。
 pkgsrcを使用する際はこちらを参考にお願いいたします。

 モバイルUbuntu、NetWalker登場 Jaunty環境最新版パッケージ NetBSD pkgsrc導入完了2編 その222

さて本丸のpkgsrcにいきましょうか。
とりあえずNetwalkerのJaunty環境で動作する所までもってきました。
相当面倒な所がありますが、とても優れたツールなので
是非使いこなしましょう。
世界の皆の為、エラーと対処法が分かった際には
ネットのどこでも良いので情報発信して下さい。
Kapperも頑張りましたので少しでも優しい世界をご協力お願いしますw


○pkgsrcとは
細かい内容はこちらに記載しました。
長いのでまず一読願います。
 
 Ubuntu改造日記 最新版 NetBSDパッケージ pkgsrcテスト編 その22

○pkgsrcインストールメモ
ざっくりと今回の記録します。
詳細は超長くなりますので
x86環境で洗い出ししましたので
やる前にそちらを参考願います。

 Ubuntu改造日記 最新版 NetBSDパッケージ pkgsrcテスト編 その22

まず前回作ったbinutils-2.24とlibtool-2.4.2を入れる。

コンパイルに必要なパッケージを入れます。

 sudo apt-get install build-essential libncurses5-dev libncursesw5-dev

次にパッケージソース、pkgsrcを保存します。
本家HPからcurrent.tgzバージョンをダウンロードします。
本来ならstableの方が良いのですが、エラーに泣かされるので。

 http://www.pkgsrc.org/

落としたら展開します。
今回はHomeフォルダにインストールします。
Bashを使っている場合は下記を.bashrcに追記します。

 gedit 〜/.bashrc

みたいな感じで下記一行を最後らへんに追加。

 PATH=${HOME}/pkg/bin:${HOME}/pkg/sbin:${PATH}

端末を一度閉じて再び起動させて.bashrcのPATHを更新します。
bootstrapを展開してpkgsrcをインストール。

 cd pkgsrc/bootstrap
 export SH=/bin/bash
 ./bootstrap --unprivileged

pkgsrcが動いてインストールされたはず。
ここからが本番。
初期インストールの際に注意が必要です。
まずキーとなるパッケージを先にいれます。重要です。
順番に。
エラーが出てもbmake clean、bmakeでやり直すだけですが。 
まずpkg-vulnerabilitiesから

 /home/{home}/pkg/sbin/pkg_admin -K /home/{home}/pkg/var/db/pkg fetch-pkg-vulnerabilities

 pkgtool/digest
 devel/nbpatch
 devel/libtool-base

○はまったエラー達

・ncursesを入れようとするとnbpatchのエラーが出ますので
まずこちらを先にbmakeします。

===> Installing for nbpatch-20100124
=> Creating installation directories
/usr/bin/install -c -s -o kapper1224 -g kapper1224 -m 755 nbpatch /home/kapper1224/pkgsrc/devel/nbpatch/work/.destdir/home/kapper1224/pkg/bin/nbpatch
/usr/bin/install -c -o kapper1224 -g kapper1224 -m 644 nbpatch.1 /home/kapper1224/pkgsrc/devel/nbpatch/work/.destdir/home/kapper1224/pkg/man/man1/nbpatch.1
=> Automatic manual page handling
=> Creating binary package /home/kapper1224/pkgsrc/devel/nbpatch/work/.packages/nbpatch-20100124.tgz
===> Install binary package of nbpatch-20100124
pkg_add: Can't open pkgdb for writing: Invalid argument
pkg_add: cannot open pkgdb: Invalid argument
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/nbpatch
*** Error code 1


・コンパイルしても何故かnbpatchが/pkg/binに入っていない。
nbpatchのバイナリを端末かファイラーで手動でコピー。


=> Bootstrap dependency digest>=20010302: found digest-20121220
===> Skipping vulnerability checks.
WARNING: No /home/kapper1224/pkg/var/db/pkg/pkg-vulnerabilities file found.
WARNING: To fix run: `/home/kapper1224/pkg/sbin/pkg_admin -K /home/kapper1224/pkg/var/db/pkg fetch-pkg-vulnerabilities'.
=> Checksum SHA1 OK for ncurses-5.9.tar.gz
=> Checksum RMD160 OK for ncurses-5.9.tar.gz
===> Installing dependencies for ncurses-5.9nb2
=> Tool dependency libtool-base>=2.2.6bnb3: NOT found
=> Verifying reinstall for ../../devel/libtool-base
=> Bootstrap dependency digest>=20010302: found digest-20121220
===> Skipping vulnerability checks.
WARNING: No /home/kapper1224/pkg/var/db/pkg/pkg-vulnerabilities file found.
WARNING: To fix run: `/home/kapper1224/pkg/sbin/pkg_admin -K /home/kapper1224/pkg/var/db/pkg fetch-pkg-vulnerabilities'.
===> Patching for libtool-base-2.4.2nb6
=> Applying pkgsrc patches for libtool-base-2.4.2nb6
/bin/sh: /home/kapper1224/pkg/bin/nbpatch: not found
Patch /home/kapper1224/pkgsrc/devel/libtool-base/../../devel/libtool/patches/patch-aa failed
/bin/sh: /home/kapper1224/pkg/bin/nbpatch: not found
Patch /home/kapper1224/pkgsrc/devel/libtool-base/../../devel/libtool/patches/patch-ab failed
/bin/sh: /home/kapper1224/pkg/bin/nbpatch: not found
Patch /home/kapper1224/pkgsrc/devel/libtool-base/../../devel/libtool/patches/patch-ac failed
/bin/sh: /home/kapper1224/pkg/bin/nbpatch: not found
Patch /home/kapper1224/pkgsrc/devel/libtool-base/../../devel/libtool/patches/patch-ad failed
ERROR: Patching failed due to modified or broken patch file(s):
ERROR: /home/kapper1224/pkgsrc/devel/libtool-base/../../devel/libtool/patches/patch-aa
ERROR: /home/kapper1224/pkgsrc/devel/libtool-base/../../devel/libtool/patches/patch-ab
ERROR: /home/kapper1224/pkgsrc/devel/libtool-base/../../devel/libtool/patches/patch-ac
ERROR: /home/kapper1224/pkgsrc/devel/libtool-base/../../devel/libtool/patches/patch-ad
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/libtool-base
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/libtool-base
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/ncurses







kapper1224@kapper1224:~/pkgsrc/devel/nbpatch/work/nbpatch-20100124$ bmake install
install -c -s -o kapper1224 -g kapper1224 -m 555 nbpatch /nbpatch
install -c -o kapper1224 -g kapper1224 -m 444 nbpatch.1 /usr/share/man/man1/nbpatch.1
install: 通常のファイル `/usr/share/man/man1/nbpatch.1' を作成できません: Permission denied
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/nbpatch/work/nbpatch-20100124
kapper1224@kapper1224:~/pkgsrc/devel/nbpatch/work/nbpatch-20100124$ sudo bmake install
[sudo] password for kapper1224:
sudo: bmake: command not found
kapper1224@kapper1224:~/pkgsrc/devel/nbpatch/work/nbpatch-20100124$ sudo /home/kapper1224/pkg/bin/bmake install
install -c -s -o kapper1224 -g kapper1224 -m 555 nbpatch /nbpatch
install -c -o kapper1224 -g kapper1224 -m 444 nbpatch.1 /usr/share/man/man1/nbpatch.1



・libtool-baseをbmakeし直す


=> Automatic manual page handling
=> Creating binary package /home/kapper1224/pkgsrc/devel/libtool-base/work/.packages/libtool-base-2.4.2nb6.tgz
===> Install binary package of libtool-base-2.4.2nb6
pkg_add: Can't open pkgdb for writing: Invalid argument
pkg_add: cannot open pkgdb: Invalid argument
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/libtool-base
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/libtool-base
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/libtool-base

・checksum fileのエラー

=> Bootstrap dependency digest>=20010302: found digest-20121220
===> Checking for vulnerabilities in ncurses-5.9nb2
checksum: ``/home/kapper1224/pkg/bin/digest'' is missing
ERROR: Make sure the Makefile and checksum file (/home/kapper1224/pkgsrc/devel/ncurses/distinfo)
ERROR: are up to date. If you want to override this check, type
ERROR: "/home/kapper1224/pkg/bin/bmake NO_CHECKSUM=yes [other args]".
*** Error code 1




・pkg_addの解読不明なエラーが出て悩む。
libtoolを本家からダウンロードして入れてみる。
(前述のlibtool-2.4.2をコンパイルして入れなおしたアレです)

libtoolを入れたいのにlibtoolが/pkg/binに無いというエラー。
どうせいと。
仕方がないのでGNU本家よりlibtoolを拾ってきてJauntyでコンパイルする。
それで出来たlibtoolを/pkg/binにコピー。
libtool-baseからbmakeをやり直す。
無事終了した。多分jauntyのlibtoolがダメだったんだろう。
再びncursesとncurseswをbmake。
無事コンパイル成功。
まずは一息。


/bin/bash ../../libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../src/liblzma/api -I../../src/liblzma/common -I../../src/liblzma/check -I../../src/liblzma/lz -I../../src/liblzma/rangecoder -I../../src/liblzma/lzma -I../../src/liblzma/delta -I../../src/liblzma/simple -I../../src/common -DTUKLIB_SYMBOL_PREFIX=lzma_ -I/usr/include -pthread -fvisibility=hidden -Wall -Wextra -Wvla -Wformat=2 -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wlogical-op -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wredundant-decls -O2 -Wno-error -I/usr/include -MT liblzma_la-tuklib_physmem.lo -MD -MP -MF .deps/liblzma_la-tuklib_physmem.Tpo -c -o liblzma_la-tuklib_physmem.lo `test -f '../../src/common/tuklib_physmem.c' || echo './'`../../src/common/tuklib_physmem.c
/home/kapper1224/pkgsrc/archivers/xz/work/.wrapper/bin/libtool: line 77: /home/kapper1224/pkg/bin/libtool: No such file or directory
*** Error code 127

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/archivers/xz/work/xz-5.0.5/src/liblzma
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/archivers/xz/work/xz-5.0.5/src/liblzma
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/archivers/xz/work/xz-5.0.5/src
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/archivers/xz/work/xz-5.0.5
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/archivers/xz/work/xz-5.0.5
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/archivers/xz
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/archivers/xz
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/automake
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/lang/g95
*** Error code 1

Stop.
bmake: stopped in /home/kapper1224/pkgsrc/devel/libtool-fortran
*** Error code 1

Stop.



○アプリのインストール
色々とテスト中ですが、
まず設定ファイルであるmk.confの設定を変更します。
最初のコンパイル環境が無事完成するまでは手を付けてはいけません。
大体ncursesをコンパイル完了した後あたりが良いです。
要注意。

 gedit /home/{ユーザー}/pgk/etc/mk.conf

下の行を真ん中らへんに追加して保存します。

 PREFER_PKGSRC=yes
 DEPENDS_TARGET=bin-install
 USE_LIBTOOL=yes

上のPREFER_PKGSRC=yes、USE_LIBTOOL=yesを入れると
pkgsrcで入っているライブラリが優先的に使われます。
DEPENDS_TARGET=bin-installはバイナリパッケージがあれば
優先的にそちらをインストールします。

 
アップデートしておいた方が良さそうなもの

devel/zlib
lang/gcc48


依存関係のエラーが出やすく入れておいた方が
よいものを整理した方が良いかもしれません。
後からコンパイルし直して問題ありませんが。

 devel/pkg-config
 archives/xz
 archives/unzip
 archives/bzip2
 archives/zip
 database/db4


○まとめ
ダウンロードとコンパイルでめちゃくちゃ時間がかかります。
検証に2週間くらいかかってます。
また謎のエラーが多発して非常に悩みます。
何故か一括で入らず、エラーが頻発して止まり該当パッケージを再コンパイル。
多分ですが最後の/usr/bin/installに渡すパスのスクリプトが
機能していない可能性があります。netwalker Jaunty側の問題でしょうか。
エラー情報が十分出ていません。
x86 Ubuntuと異なりまだ解消されておりません。
ARM Jaunty環境で直接導入は無理と考えて
x86の最新Ubuntu環境で出来るだけのエラー抽出を先に行いました。
結局ですがJauntyのパッケージが古いだけが問題で
ARMアーキテクチャの課題は少なそうです。まだ見えておりません。
流石移植性に優れたNetBSDですね。ほれぼれします。

コンパイルエラーが出て対応した際には
世界の平和の為、ネットのどこかに記載して頂ければ助かります。
検索エンジンにヒットして知らないうちに誰かが幸せになるはずです。
是非コンパイルエラーを乗り越えて使ってみましょう。

PS.1 UbuntuLinux 9.04 Jauntyを使ってpkgsrcをインストールした際に
   GNU Toolを一通りセルフコンパイルして入れてみましたが何故か動作しません。
   1.5か月間、思いつく事を色々試してみましたが、
   この方法では無理だという結論になりましたので
   Coreutils関係のみLucid化して運用してます。
   そちらを使用下さい。
posted by kapper at 09:31 | Comment(0) | Netwalker
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ