私はかなり新しいFreebsdユーザーです。インストールしようとしているのでgnu m4-1.4.18
、evalテストセクションでevalが失敗します:
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つをお知らせするためだけに。
ソフトウェアのインストールに問題がありますが、何をしているかが表示されません。 someコマンドの出力を表示しているだけで、推測が残っています。
FreeBSDを初めて使用するが、以前はGNUシステム(Linux)での作業に慣れている場合は、微妙ですが重要な違いがいくつかあります。
あなた自身のプログラムをコンパイルするときの典型的なつまずきはmakeです。 BSDには素晴らしいmake
がありますが、GNU make
と同じではありません。GNU make
次にインストールします。ただし、それを使用する場合、make
はまだBSD製ですが、今ではgmake
もあります。これは混乱を招く可能性があります。
m4
でも、FreeBSDがベースシステムに持っているのと同じです。
$ which m4
/usr/bin/m4
しかし、gnu m4-1.4.18
をインストールしていると書くことは、多くの道路がローマに通じているので役に立ちません。 package/port をインストールしていますか、それとも source からインストールしていますか?
FreeBSDにソフトウェアをインストールする最も簡単な方法は、パッケージをインストールすることです。パッケージは、ポートのコンパイル済みバイナリディストリビューションです。
pkg install m4
あなたはおそらくこれをしていません。しかし、これは簡単なルートです。
FreeBSDポートはパッチのコレクションであり、FreeBSDでアプリケーションを実行するために必要のないものです。 ports ツリーがインストールされている場合は、ディレクトリをdevel/m4
およびmake
(コンパイル)に変更します。
ポートツリーはBSDmakeを対象としています。したがって、GNU makeではなくBSDmakeを使用することが重要です。楽しい部分は、m4
がautoconf
に依存し、それがGNU make
。
しかし、私たちの目的のために、BSDmakeを使用します。
$ make
$ Sudo make install
ポートを使用する利点は、make config
を使用してコンパイル時の設定を変更できることです。しかし、ほとんどの場合、GNU autotoolsとその仲間はデフォルトで十分であり、必要なのはバイナリパッケージだけです。
私の推測では、ソースからインストールしようとしています。その場合、GNUと同じ名前が付けられることが多いBSDツールの違いを知ることが重要ですが、GNUツールはあなたがそうすることを期待する傾向がありますGNUツールを使用しています。VanillaFreeBSDをインストールしている場合は、すでにmake
とm4
がありますが、BSDバリアントがあります。
したがって、GNU命令でmake
と表示されている場合は、GNU makeがインストールされており、でgmake
と入力していることを確認する必要があります。コマンドライン。
これらの複雑さを学びたいのでなければ、パッケージに固執することをお勧めします。このルートを継続したい場合は、質問をより詳細に記述し、何をしているかを示してください。この情報がなければ、私たちは推測し続けます。
コメントを読むと、根本的な原因はApacheAPRをインストールしようとしているようです。これは FreeBSDポート でも利用できます。これを書いている時点で、APRの最新のポートバージョンは1.6.3であり、Apacheが最新の安定バージョンであると考えているものと同期しています。
新しいVanillaFreeBSDシステムでは、入力するのと同じくらい簡単になります。
pkg install apr1
バイナリパッケージサーバーがまだ追いついていない場合は、自分でビルドすることを選択できます。その場合、デフォルトを変更することもできます。 ports ツリーを使用してこれを行います。 portsnap
ツールを使用して、ツリーが最新であることを確認します。
ポートツリーがない場合:
# portsnap fetch
# portsnap extract
更新する必要がある場合:
# portsnap fetch update
次に:
# cd /usr/ports/devel/apr1
# make config
# make
# make install