だから私たちの会社はまだ古いFreeBSDバージョン(6.4、8.4)を実行しており、Python 2.7、Midnight Commander、Tmux、Vimなどのいくつかのツールをインストールして更新したいと思います。とにかく(pkgng)を使う機会はないようですpkg
。この質問の範囲では、FreeBSD 6.4のみを考慮します。
これで、最新のポートを簡単に入手できます。http://ftp.freebsd.org/pub/FreeBSD/ports/ports/ローカルポートフォルダをそれに置き換えます。しかし、それは痛いだけです。
明らかにpmake
古いものなので、まず「どういうわけか」更新する必要があります。私が試したばかりどの make
/usr/ports
原稿を交換した後、/usr/ports
次のエラーが発生します。
[root@fbsd6_32 /usr/ports/editors/vim-lite]# make
"/usr/ports/Mk/bsd.options.mk", line 287: Need an operator
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
"/usr/ports/Mk/bsd.sites.mk", line 1049: Malformed conditional (!empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
"/usr/ports/Mk/bsd.port.mk", line 2955: warning: Missing closing parenthesis for defined()
Unknown modifier 't'
"/usr/ports/Mk/bsd.port.mk", line 2955: Malformed conditional (((!defined(OPTIONS_DEFINE) && !defined(OPTIONS_SINGLE) && !defined(OPTIONS_MULTI)) && !defined(OPTIONS_GROUP) && !defined(OPTIONS_RADIO) || defined(CONFIG_DONE_${PKGBASE:tu}) || defined(PACKAGE_BUILDING) || defined(BATCH)))
Unknown modifier 't'
# [...] many many more lines
7 open conditionals:
at line 5797 (evaluated to true)
at line 5797 (evaluated to true)
at line 5797 (evaluated to true)
at line 5797 (evaluated to true)
at line 5797 (evaluated to true)
at line 4910 (evaluated to true)
at line 4910 (evaluated to true)
make: fatal errors encountered -- cannot continue
make search name=...
それに応じて失敗してください。
この問題をどのように修復し、最新のポートのインストールを開始できますか?pmake
まず、最新の情報を入手してそこで見つける必要があると仮定するのは正しいですか?http://distcache.freebsd.org/ports-distfiles/、ビルドしてインストールしますか?
答え1
FreeBSD 8.4では、フォーラムの記事で説明されているように最終パッチレベルにアップグレードできます。pkg コマンドの問題:
まず、最新のパッチレベル8.4(8.4-RELEASE-p9)にアップグレードして問題が解決するかどうかを確認してください。コミットメッセージによると、8.4のmake(1)は:tuと:tl修飾子をサポートする必要があります。そうでない場合、これはportmgr@チームの間違いであるため、報告する必要があります。 8.4 2015年6月30日までの支援の約束。
私は私のコンピュータの1つに対してこれをしました。特にインフラ側では互換性に優れています。
このスレッドのコメントの1つが解決策を提案しました(参照:コメント#13)リリースtarballからmakeプログラムをコピーします。
しかし、これはFreeBSD 6.3ほど古いバージョンでは動作しない可能性があります。
またはあなたできる推奨事項に従ってポートツリーを再構築します。FreeBSDのすべてのポートをダウングレードする方法(良い解決策ではありません)。