./configure --prefix=***
Número 1 determina dónde irá el paquete cuando se instale y dónde buscará sus archivos asociados cuando se ejecute. Es lo que debe usar si solo está compilando algo para usar en un solo host.
make install DESTDIR=***
Número 2 es para instalar en un directorio temporal que no es desde donde se ejecutará el paquete. Por ejemplo, esto se usa cuando se construye deb
paquetes La persona que crea el paquete en realidad no instala todo en su lugar final en su propio sistema. Puede que ya tenga instalada una versión diferente y no quiera molestarla, o puede que ni siquiera sea root. Así que usa
./configure --prefix=/usr
por lo que el programa esperará ser instalado en /usr
cuando se ejecuta, entonces
make install DESTDIR=debian/tmp
para crear realmente la estructura de directorios.
make install prefix=***
Número 3 lo instalará en un lugar diferente pero no creará todos los directorios como DESTDIR=/foo/bar/baz
haría. Se usa comúnmente con GNU stow via
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo
, que instalaría binarios en /usr/local/stow/foo/bin
. En comparación,
make install DESTDIR=/usr/local/stow/foo
instalaría binarios en /usr/local/stow/foo/usr/local/bin
.
Esto puede ayudar a ilustrar el uso de DESTDIR
y --prefix
(desde aquí):
Múltiples instalaciones usando --prefix y DESTDIR:
Especifique una opción/ubicación de prefijo diferente para cada compilación en el momento de la configuración. Por ejemplo:
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