私は新しい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には良い機能がありますが、make
GNUとは異なりますmake
。 GNUを使用したい場合は、make
GNUをインストールしてください。しかし、それを使用すると、それはmake
まだBSD makeですが、今あなたもgmake
BSDを持っています。これは混乱する可能性があります。
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を使用することが重要です。興味深い部分はどちらがm4
GNUに依存しているかです。autoconf
make
しかし私達の目的のために私達はBSD makeを使用します:
$ make
$ sudo make install
ポートを使用する利点の1つは、コンパイル時間設定を変更できることですmake config
。ただし、ほとんどの場合、GNU autotoolsと友達を使用することは通常デフォルト値で十分で、バイナリパッケージだけが必要です。
ソースコードのインストール
私は、私はソースからインストールしようとしているようです。この場合、GNU と BSD ツールは同じ名前を持つことが多いので、違いを理解することが重要です。しかし、GNUツールはしばしばGNUツールを使用したいと考えています。通常のFreeBSDをインストールした場合は、すでにmake
BSDm4
バリアントがインストールされています。
したがって、GNUの指示によれば、make
GNU 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