Hay un servidor en el que trabajo, que ejecuta una versión anterior de Linux. No tengo acceso de root al sistema, así que quería construir una versión más reciente de una herramienta que uso mucho (Vim 7.3). Pensé que simplemente lo construiría e instalaría en ~ / bin. Sin embargo, requiere archivos de desarrollo ncurses que no están instalados en todo el sistema. Encontré las rpm de ncurses-devel y extraje las carpetas 'lib' e 'include', ¿dónde las pondría y cómo le diría al script ./configure que las encontrara para poder configurar y construir el paquete localmente?
Editar: terminé trabajando alrededor de esto instalando el sistema operativo idéntico en Virtualbox, y construyendo el paquete allí y copiando sobre los binarios.
Respuestas:
Hice esto con bastante frecuencia en mi último trabajo: la solución que pareció funcionar mejor fue crear un directorio ~ / usr y usar el argumento --prefix para apuntar los scripts ./configure en la dirección correcta. Aquí están los pasos:
./configure --prefix=/home/<username>/usr
Este arreglo funcionó para mí en la mayoría de las situaciones en las que necesitaba construir cosas en el espacio de usuario. La parte más difícil generalmente es encontrar y construir todas las dependencias que necesita, pero eso solo requiere buscar en Google o usar de manera juiciosa la funcionalidad 'get source' de su administrador de paquetes.
fuente
${HOME}
lugar de~
todas mis llamadas de exportación, y luego pkg-config estaba contento y pude encontrar mis bibliotecas y paquetes instalados por el usuario.Normalmente debería poder reconfigurar y cambiar el código para definir una nueva ubicación en su directorio de inicio u otra ruta para todas las bibliotecas y programas ...
Pero, en mi humilde opinión, la forma más fácil (si tiene mucho espacio) es usar chroot en un subdirectorio con toda una distribución de Linux instalada en él. Por supuesto, como usuario normal, no puede usar chroot , pero puede usar estas excelentes herramientas: fakechroot y fakeroot
Para crear el sistema de archivos chroot, me gusta implementar un directorio con Debian (o cualquier derivado de Debian como ubuntu) usando la utilidad debootstrap .
Por lo tanto, el procedimiento es fácil (no ingresaré detalles técnicos, lea los manuales de comandos):
Si necesita más detalles, creo que tenía un script en algún lugar para hacer todo esto.
fuente
Otra solución para este problema es utilizar el Prefijo Gentoo, como lo hacen los usuarios de MacOSX y otras plataformas (solaris, AIX):
http://www.gentoo.org/proj/en/gentoo-alt/prefix/
Compilará la pila Gentoo (con portage) en una ubicación $ PREFIX. Utiliza los paquetes de Gentoo, la mayoría de los paquetes admiten el uso de estas configuraciones.
Portage hará un seguimiento de todas las dependencias, tendrá la última versión del software, la comunidad lo ha probado ...
fuente
Si
prefix=/home/foo/usr
no funciona, intente:fuente