GNU/Linux >> Linux の 問題 >  >> Linux

make の DESTDIR と PREFIX

<ブロック引用>

./configure --prefix=***

ナンバー 1 インストール時にパッケージが移動する場所と、実行時に関連ファイルを検索する場所を決定します。単一のホストで使用するために何かをコンパイルする場合は、これを使用する必要があります。

<ブロック引用>

make install DESTDIR=***

ナンバー 2 パッケージが実行される場所ではない一時ディレクトリにインストールするためのものです。たとえば、これは deb をビルドするときに使用されます パッケージ。パッケージを構築する人は、実際には自分のシステムの最終的な場所にすべてをインストールするわけではありません。彼はすでに別のバージョンをインストールしていて、それを邪魔したくないかもしれませんし、root でさえないかもしれません。だから彼は使う

./configure --prefix=/usr

そのため、プログラムは /usr にインストールされることを期待します それが実行されると、

make install DESTDIR=debian/tmp

ディレクトリ構造を実際に作成します。

<ブロック引用>

make install prefix=***

ナンバー 3 別の場所にインストールしますが、すべてのディレクトリを DESTDIR=/foo/bar/baz として作成するわけではありません でしょう。

を介して GNU stow で一般的に使用されます
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo

/usr/local/stow/foo/bin にバイナリをインストールします .比較すると、

make install DESTDIR=/usr/local/stow/foo

/usr/local/stow/foo/usr/local/bin にバイナリをインストールします .


これは DESTDIR の使用を説明するのに役立ちます および --prefix (ここから):

<ブロック引用>

--prefix と DESTDIR を使用した複数のインストール:

構成時に、ビルドごとに異なる --prefix の場所/オプションを指定します。例:

untar petsc tar ball
./configure --prefix=/opt/petsc/petsc-3.9.0-mpich --with-mpi-dir=/opt/mpich
make
make install DESTDIR=/tmp/petsc-pkg
untar petsc tar ball
./configure --prefix=/opt/petsc/petsc-3.9.0-openmpi --with-mpi-dir=/opt/openmpi
make
make install DESTDIR=/tmp/petsc-pkg

Linux
  1. USBにGrubをインストールして、レスキューディスクにしますか?

  2. Rabbitmq のインストールと管理

  3. Linux にソースから TBB をインストールして動作させる方法

  1. openSUSE13.2にNagiosをインストールします

  2. CentOS7にApacheとPHPをインストールする

  3. tkinter と python をローカルにインストールする

  1. LinuxにElasticsearchとKibanaをインストールする方法

  2. KubernetesにHelmをインストールして使用する方法

  3. 特定の IP とポートをトレースする