
less
最新の修正でコンパイルしたいです。
私はこうする:
git clone https://github.com/gwsw/less
cd less/
autoheader
autoconf
./configure
make
しかし、make
このように表現してみてください。
make: *** No rule to make target 'funcs.h', needed by 'main.o'. Stop.
Makefile ルールが作成されませんでした。funcs.h
それでは、less
ソースコードでコンパイルする方法は何ですか?
答え1
説明したようにトーマスディキの答え、ビルドに使用する前にgitリポジトリを準備する必要があり、提供されたファイルを使用して必要なファイルの1つを再生成することはできません。
ビルドを減らすにはダウンロードしてください。最新バージョンのタルボールそしてビルド:
wget http://greenwoodsoftware.com/less/less-530.tar.gz
tar xf less-530.tar.gz
cd less-530
./configure && make
しかし、バージョン530では迷惑なバグこれはgitリポジトリに固定されています。 (おそらくDebianパッケージがまだ更新されていない理由です。)
あるいは、Debianパッケージを更新することもできます。
sudo apt build-dep less
sudo apt install devscripts
apt source less
cd less-487
uscan
cd ..
tar xf less_530.orig.tar.gz
cd less-530
cp -a ../less-487/debian .
dch -v 530-0.1 "New upstream release."
dch -r ignored
debuild -uc -uc
これにより、を使用してインストールできるファイル()がless_530-0.1_yourarch.deb
生成されます。 〜のようにyourarch
amd64
sudo dpkg -i
ジェイドBP 指摘、これによりDebianパッチが適用され、configure
適切なオプションが使用されます。また、手動インストールの代わりにパッケージを使用する利点も提供されます。
私のようなファンのために、gbp
次のレシピはgitリポジトリを使用して変更をより顕著にします。
sudo apt build-dep less
sudo apt install devscripts git-buildpackage
gbp import-dsc --pristine-tar apt://less/sid
cd less
gbp import-orig --pristine-tar --uscan
dch -v 530-0.1 "New upstream release."
dch -r ignored
gbp buildpackage -us -uc --git-ignore-new
(どちらの場合も厳密には、dch -n
およびを使用するdch -v
か、少なくとも「Non-maintainer upload」を変更ログに追加する必要がありますが、コピーして貼り付けることは可能な方法では困難です。)
答え2
「Makefile.in」入力です「構成」、これ「ファイルの生成」。 make コマンドで「Makefile」を指定する必要はありません。したがって、これはよりうまく機能します:
./configure
make
(このディレクトリに構成を再実行する前に削除する必要があるファイルが残っている可能性があります)。
gitで実行すると逃した分配する次のファイル構成。適切なバージョンの autoconf がインストールされている場合は、まず以下を実行してビルドを準備する必要があります。
autoconf
しかし、gitツリーには「defines.h.in」も省略されています。もっと準備が必要です。 gitのファイルのどれも必要なテンプレートと一致しないようです。あなた可能ディストリビューションtarballでそのファイルを再利用する機能は信頼できませんが(他のソースファイルと同様に変更されます)。ドキュメントにはこの手順は記載されていないため、開発者にバグを報告するのが役立ちます。
修正された質問は、次のことについて尋ねます。funcs.h
、次の規則を使用して作成できます。Makefile.aut
(「Makefileの生成を減らす」、ファイルの上部の説明によると)。ただし、2018年9月17日現在、まだ制定される規定はありません。defines.h.in
(これらの質問に答えるにはgrepを使用してください。)
答え3
Ubuntu 18.04 で正常に使用した内容は次のとおりです。
git clone https://github.com/gwsw/less.git
cd less
autoreconf -i
#autoconf
まだパッケージがインストールされていない場合make -f Makefile.aut dist
これにより、およびをrelease/less-550
含むディレクトリが作成されます。また、私のシステムにぶら下がって、別のウィンドウでプロセスを終了しました。プロセスを直接終了することもできます。less-550.tar.gz
less-550.zip
less-550.tar.gz
gpg --detach-sign ...
make
less-550.tar.gz
通常どおりインストールできる標準のビルド可能なソースターボールです。
tar xf less-550.tar.gz
cd less-550
./configure --prefix=
ディレクトリ その他のオプションmake
make install
最も興味深いオプションは、./configure
おそらく次のとおりです。
--with-regex=LIB select regular expression library
(LIB is one of
auto,none,gnu,pcre,pcre2,posix,
regcmp,re_comp,regcomp,regcomp-local) [auto]
--with-editor=PROGRAM use PROGRAM as the default editor [vi]
./configure --help
完全なオプションのリストを表示するには実行してください。
答え4
この順序はアクションを実行しますが、正しいかどうかはわかりません。
git clone https://github.com/gwsw/less
cd less/
autoheader
autoconf
./configure
make -f Makefile.aut funcs.h
make
make -f Makefile.aut less.nro
make -f Makefile.aut lesskey.nro
make -f Makefile.aut lessecho.nro
make install