FreeBSDパッケージ

FreeBSDパッケージ

私は新しいFreebsdユーザーです。をインストールしようとすると、gnu m4-1.4.18評価テストセクションで評価に失敗します。

Checking ./189.eval
@ ../doc/m4.texi:6405: Origin of test
./189.eval: stdout mismatch
--- m4-tmp.2536/m4-xout 2017-12-18 22:11:42.931036000 +0000
+++ m4-tmp.2536/m4-out  2017-12-18 22:11:42.928582000 +0000
@@ -2,8 +2,8 @@

 1
 1
-overflow occurred
--2147483648
+
+2147483648
 0
 -2
 -2

189.evalの内容は次のとおりです。

dnl @ ../doc/m4.texi:6405: Origin of test
dnl @ expected status: 0
dnl @ extra options:
dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software
dnl @ Foundation, Inc.
dnl @ This file is free software; the Free Software Foundation
dnl @ gives unlimited permission to copy and/or distribute it
dnl @ with or without modifications, as long as this notice
dnl @ is preserved.
define(`max_int', eval(`0x7fffffff'))
dnl @result{}
define(`min_int', incr(max_int))
dnl @result{}
eval(min_int` < 0')
dnl @result{}1
eval(max_int` > 0')
dnl @result{}1
ifelse(eval(min_int` / -1'), min_int, `overflow occurred')
dnl @result{}overflow occurred
min_int
dnl @result{}-2147483648
eval(`0x80000000 % -1')
dnl @result{}0
eval(`-4 >> 1')
dnl @result{}-2
eval(`-4 >> 33')
dnl @result{}-2

新しいOS(インストール)のアイデアを提供するためにインストールした最初のソフトウェアでした。

答え1

ソフトウェアのインストールに問題がありますが、現在実行中の操作は表示されません。ちょうど出力を示しました。一部順序は推測のみ可能です。

FreeBSDを初めて使用していますが、以前にGNUシステム(Linux)の操作に慣れていた場合は、微妙ですが重要な違いがあります。

自分のプログラムをコンパイルするときの典型的な障害はmakeです。 BSDには良い機能がありますが、makeGNUとは異なりますmake。 GNUを使用したい場合は、makeGNUをインストールしてください。しかし、それを使用すると、それはmakeまだBSD makeですが、今あなたもgmakeBSDを持っています。これは混乱する可能性があります。

m4これはFreeBSDの基本システムと同じ状況です。

$ which m4
/usr/bin/m4

しかし、インストールすると書くことはgnu m4-1.4.18役に立ちません。なぜなら、すべての道はローマに通じるからです。インストール中ですか?パッケージ/ポートまたは源泉

FreeBSDパッケージ

FreeBSDにソフトウェアをインストールする最も簡単な方法は、パッケージをインストールすることです。パッケージはプリコンパイルされたポートバイナリディストリビューションです。

pkg install m4

あなたはおそらくこれをしなかったでしょう。しかし、これが最も簡単な方法です。

FreeBSDポート

FreeBSD ポートは、FreeBSD でアプリケーションを実行するために必要なパッチとコンテンツの集まりです。お持ちの場合ポートツリーがインストールされたら、ディレクトリを変更してdevel/m4アプリケーションmakeをコンパイル(コンパイル)します。

ポートツリーはBSD makeを対象としています。したがって、GNU makeの代わりにBSD makeを使用することが重要です。興味深い部分はどちらがm4GNUに依存しているかです。autoconfmake

しかし私達の目的のために私達はBSD makeを使用します:

$ make
$ sudo make install

ポートを使用する利点の1つは、コンパイル時間設定を変更できることですmake config。ただし、ほとんどの場合、GNU autotoolsと友達を使用することは通常デフォルト値で十分で、バイナリパッケージだけが必要です。

ソースコードのインストール

私は、私はソースからインストールしようとしているようです。この場合、GNU と BSD ツールは同じ名前を持つことが多いので、違いを理解することが重要です。しかし、GNUツールはしばしばGNUツールを使用したいと考えています。通常のFreeBSDをインストールした場合は、すでにmakeBSDm4バリアントがインストールされています。

したがって、GNUの指示によれば、makeGNU makeがインストールされていることを確認してgmakeコマンドラインに入力する必要があります。

これの複雑な内容を学びたくない場合は、パッケージを使用することをお勧めします。このパスを続行するには、質問をより詳細に質問し、現在何をしているかを示す必要があります。この情報がなければ、推測しかできません。

修正する

コメントを読んでみると、根本的な原因はApache APRをインストールしたいようです。これは次のように実行できます。FreeBSDポートしかも。この記事を書く時点で、APRの最新の移植版は1.6.3であり、これはApacheが最新の安定版と見なす最新版です。

新しいFreeBSDシステムでは、次のように簡単に入力できます。

pkg install apr1

バイナリパッケージサーバーがまだ追いついていない場合は、直接ビルドすることを選択できます。この場合、デフォルト値を変更することもできます。あなたはそれを使用することができますポート木。このportsnapツールを使用して、ツリーが最新であることを確認してください。

ポートツリーがない場合は、次のようにします。

# portsnap fetch
# portsnap extract

更新のみが必要な場合:

# portsnap fetch update

それから:

# cd /usr/ports/devel/apr1
# make config
# make
# make install

関連情報