./configure; make ; make install

Extraño mis primeros meses con linux.  Para mí todo era como bajar los fuentes; tar -xzvf pack.tar.gz ; ./configure ; make ; make install; si no compilaba con el make, buscar las dependencias que marcaba, o instalar lo que hacia falta para que no marque error, y listo.  Tienes tu aplicación compilada en tu sistema.  Pero hasta qué punto es bueno esto?

Uno de los sistemas que manejo es un sistema basado en manejador de paquetes, ( no, desgraciadamente no es gentoo ), y muchas veces no encuentro todo lo que necesito, lo que me obliga a bajar los fuentes y compilarlos.  A veces, algunas dependencias que ya están instaladas, no las detecta el script configure de lo que quieres instalar, tal vez porque no estan en el directorio de librerias correspondiente, o faltan variables de ambiente, o simplemente se necesita parchar el configure para que funcione en esa distribución.

El caso es que, mezclando librerias de manejadores de paquetes e instalaciones de fuentes, creo que no es una buena combinación para hacerlo en producción: para actualizaciones, parches y mantenimiento hay que hacer todo manual, y estar revisando continua y constantemente por actualizaciones.  En mi caso, a pesar de todo, parecía que los fuentes tenian un error al compilar, que ten;ian que ver con la distribución.  Tendría que buscar el parche, y/o esperarme a una nueva versión.

Qué hice? Downgrade. :( que más podría hacer?

P.D. Creo que debería hacer una página con mi background.  El sistema con el que más estoy familiarizado es gentoo, de ahi SuSe y luego fedora.  Hace años que no le muevo a windows mas que para instalar juegos y programas de audio, pero como dicen, lo que bien se aprende nunca se olvida; además que windows no se ha movido mucho ultimamente que digamos.  … el resto lo dejaré para mi página de ‘background’.

5 Responses to “./configure; make ; make install”

  1. en freebsd estaban los ports, la experiencia que tube con ellos siempre me fue bien, nunca batalle ya que ahi mismo jalaba todas las dependencias que ocuapba para la instalacion del paquete.

  2. Asi tambien es gentoo, pero no se porque no es tan popular para servidores en produccion … :(

  3. Por que gentoo es una basura jajajajaja :P ntc

    OpenBSD tambien tiene el sistema de ports igual que el freebsd creo que todos los BSD lo tienen y la paqueteria de debian esta basada en estos.

    La verdad es de lo mejor que he visto, claro que tarda en que las nuevas versiones de los programas esten disponibles pero te asegura una instalacion limpia y sin problemas.

    La otra que puedes hacer para instalar “a pata” lo que ocupes es modificar el prefix de tu instalacion asi no tendras que preocuparte por los conflictos que pueden ocurrir con otras versiones que vienen por default en el sistema.

    Por ejemplo, si vas a instalar la ultima version de php, apache, mysql y toda la basura que necesitas puedes optar por usar un prefix /usr/loca/myphp o algo asi, entonces configuras todo para que se vaya para alla, la base de datos, el apache, el openssl, las librerias de imagenes y listo todo funciona sin problemas y si alguna vez quieres borrar esa instalacion solo borras el /usr/local/myphp.

    Te recomiendo que no borres los fuentes que usaste para instalar por que nunca falta que ocupes recompilar por algun modulo o parche que salio.

  4. Exacto, Cortes. Eso es precisamente lo que hago, al compilar en producción. Mantento track de donde se instala o le pongo un prefix, y los fuentes los mantengo en un lugar “seguro” ( un lugar que no sea /var/tmp o algo asi ). Pero el detalle de compilar ( el sistema es RHEL ) es que los paths de las librerias no son los mismos, y como no stoy ambientado en RHEL ni sus hermanitos, ya no supe como sta el show.

  5. Thanks for sharing

Discussion Area - Leave a Comment