Actualice Subversion 1.4.3 a 1.5.2 en Debian (cuenta alojada)
-
06-07-2019 - |
Pregunta
Estoy tratando de actualizar mi servidor de subversión (lo tengo alojado con Dreamhost)
Esto es lo que ejecuto:
- wget http://subversion.tigris.org/downloads/ subversion-1.5.2.tar.bz2
- wget http://subversion.tigris.org/ downloads / subversion-deps-1.5.2.tar.bz2
- tar -xjf subversion-1.5.2.tar.bz2
- tar -xjf subversion-deps-1.5.2.tar.bz2
- cd subversion-1.5.2
- ./configure --prefix = / usr / bin --with-libs = / usr / bin / openssl --with-ssl
Pero no puedo continuar más debido a este error:
- buscando el nombre de archivo de salida predeterminado del compilador de C ...
- configure: error: el compilador de C no puede crear ejecutables
- Consulte ` config.log 'para más detalles.
- falló la configuración para neón
Como no soy un experto en Linux, no estoy seguro de cómo proceder.
Entonces la pregunta es: ¿cuál es la mejor manera de actualizar? (dadas las limitaciones de estar con este proveedor alojado).
Update:
El contenido de config.log se puede ver aquí (no conozco la mejor manera de mostrar archivos aquí en SO)
Update:
Parece que he estado mirando el archivo config.log incorrecto.
Probablemente debería haber estado mirando subversión. 1.5.2 / neon / config.log
Solución
Si está utilizando openssl con SVN, entonces necesita configurar SVN con
./configure .... --with-openssl=/path/to/openssl
Cuando hice esto en el pasado, tuve problemas para construir otros binarios que usan esta biblioteca si no especifico el indicador -fPIC
. Por lo tanto, es mejor ejecutar make con ese parámetro (si tiene ese problema). Es posible que también tenga que apuntar make a su binario de compilación ... para que su llamada a make se vea así:
make CC="gcc -fPIC" LDFLAGS="/path/to/openssl/lib"
¡No olvides crear openssl con CC = " gcc -fPIC "
también!
¡Buena suerte!
Otros consejos
Tendrá que crear su propia copia con su propia cuenta.
mkdir ~/src
cd ~/src
wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.bz2
wget http://subversion.tigris.org/downloads/subversion-deps-1.5.2.tar.bz2
tar -xjf subversion-1.5.2.tar.bz2
tar -xjf subversion-deps-1.5.2.tar.bz2
cd subversion-1.5.2
./configure --prefix=/home/$USER --with-ssl
make
make install
También deberá modificar su ruta para que esto funcione si aún no lo ha hecho.
Cuando se usa
./configure --prefix=/usr/bin --with-libs=/usr/bin/openssl --with-ssl
entonces puede ver en neon / config.log que busca las inclusiones en / usr / bin / openssl / include ... mientras que esto es, por supuesto, solo un binario. Entonces, omita esto " - con-libs " opción, y solo asegúrese de que el paquete de desarrollo ssl esté instalado usando
apt-get install libssl-dev
Esto podría ser una medida de seguridad, si el sistema se ve comprometido, en teoría será más difícil para el usuario malintencionado crear más código de ataque en el sistema para obtener más acceso.
La solución a esto es compilar el código en una máquina local y luego transferirlo al servidor. Si no puede instalar en el sistema como sugiere Aupajo, coloque el ejecutable en su directorio $ HOME / bin. Sin embargo, tenga en cuenta que esto probablemente significa que no tendrá permiso para ejecutar el servidor svn, solo la aplicación cliente.
También me quedé atrapado con este error:
configure: error: C compiler cannot create executables
Resulta que en mi caso tuve una instalación limpia de Debian Etch, sin un compilador de C. Lo instalé (erróneamente, supongo) a través de apt-get install gcc
. Algunas búsquedas en Google me llevaron a instalar g ++ en su lugar a través de
apt-get install g++
Luego funcionó. No estoy seguro si esto te ayuda, pero me ayudó.