2018年6月6日水曜日

OMG! FreeBSDのパッケージインストールでおかしい!

FreeBSD-stable 11.0を使っていた時に、必要なアプリをpkg installで入れていて、これはこれで動いていたのですが、先日zpoolのバージョンのアップデートの失敗で立ち上がらなくなり、FreeBSD-release 11.1のDVDを使ってbootパーティションを書き直して、ついでにOSをFreeBSD-release 11.1にアップデートしました。 ついでに、アプリも新しいものに置き換えようと、一部 portからコンパイルしてインストールしてしまい大失敗!
まともに動かないアプリが出たようで、動作がめちゃくちゃ遅くなりました。 
止むを得ないので、portから全てコンパイル、インストールし直そうとしたのですが、 packagesのDBとport installのDBに齟齬があるのか、ソースからのmake install でError #70が出てしまい、pkg delete XXXしてからmake installをする必要がありました。 
更に、共有ライブラリの依存関係が複雑で全てをportsからインストールしなおそうとしたら、graphics/cairoがコンパイルできなくてとん挫。 うー、やりたいことはgnome-terminalをWin10で起動しただけなので、ここで戦略変更。 pkg install gnome-terminalで取り敢えず動くようになりました。 しかし、これだけでは終わらない! apache24, postgresql96, php72, jpgraph 各単体の動作確認、連係動作の確認!と 久しぶりに丸1日、格闘することになってしまいました。
最終的にpkgでインストールしましたが、portsの方が新しい物もあるので、ソースからコンパイルして入れたいのですが、、、。
インストール(pkgでもportでも)したアプリケーションのDBを作成して、相互の依存性を整理して、これらのアプリのいずれかにアップデータがあれば、依存性に従って必要なアップデートをしてくれるような、ユーティリティが欲しいですねー。 ほんとはpkgだけでなら、でこのような管理ができるのかもしれませんが、タイミングの問題からソースからのインストールもしたいことがあるので、pkgとportsについてうまく統合されたDBが欲しい。

/usr/ports/databases/php72-pgsql
/usr/ports/graphics/php72-gd
/usr/ports/www/mod_php72

あ、sambaはちゃんと動いているみたい! よかった!

参考) Error 70の再現 firefoxをpkg installした後、port からインストールしてみたが、sqliteの所でError 70が出ている。
root@tyd3:/usr/ports/www/firefox # pkg install firefox
    :                    :                   :
smb:// issues (Gvfs/GIO option):
Network group, machine, and share browsing does not work correctly.

sftp:// (Gvfs/GIO option):
Only sftp access using public key authentication works.  To easily
setup public key authentication to "remote_host":

ssh-keygen
cat ~/.ssh/id_rsa.pub | ssh remote_host "cat >> .ssh/authorized_keys"

The SSH server on remote_host must allow pub key authentication.

root@tyd3:/usr/ports/www/firefox # make install
   :            :                  :               :
=> firefox-60.0.1.source.tar.xz doesn't seem to exist in /usr/ports/distfiles/.
root@tyd3:/usr/ports/www/firefox # make -DFORCE_PKG_REGISTER install
===>   firefox-60.0.1_3,1 depends on package: nspr>=4.19 - found
===>   firefox-60.0.1_3,1 depends on package: nss>=3.36.1 - found
===>   firefox-60.0.1_3,1 depends on package: icu>=59.1,1 - found
===>   firefox-60.0.1_3,1 depends on package: libevent>=2.1.8 - found
===>   firefox-60.0.1_3,1 depends on package: harfbuzz>=1.7.6 - found
===>   firefox-60.0.1_3,1 depends on package: graphite2>=1.3.11 - found
===>   firefox-60.0.1_3,1 depends on package: png>=1.6.34 - found
===>   firefox-60.0.1_3,1 depends on package: libvorbis>=1.3.6,3 - found
===>   firefox-60.0.1_3,1 depends on package: libvpx>=1.5.0 - found
===>   firefox-60.0.1_3,1 depends on package: sqlite3>=3.22.0 - not found
===>  Installing for sqlite3-3.23.1
===>   Registering installation for sqlite3-3.23.1 as automatic
*** Error code 70

Stop.
make[3]: stopped in /usr/ports/databases/sqlite3
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/databases/sqlite3
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/firefox
*** Error code 1

Stop.
make: stopped in /usr/ports/www/firefox
root@tyd3:/usr/ports/www/firefox #

0 件のコメント:

php のインストールの確認

phpって最初のfacebook書くときに使われたみたいで、それなりに歴史のある言語で、私も2006年位から使っていますが、CLIで使う事はあまり無いので、apacheとの連携のトラブル(mod_phpのバージョンの齟齬)などは気になりますが、拡張モジュールのインストールの問題に...