LESSポケットベルをコンパイルする方法は?

LESSポケットベルをコンパイルする方法は?

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生成されます。 〜のようにyourarchamd64sudo 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.gzless-550.zipless-550.tar.gzgpg --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

関連情報