Instalación de Subversion (1.8.13) sin root


1

Quería instalar una versión más nueva de svn sin acceso de root. En ubuntu, la versión apt-get es:

svn --version

svn, versión 1.8.8 (r1568071)

Si bien me gustaría instalar la más reciente. subversion-1.8.13.

El servidor que estoy haciendo no tiene instalado apr, apr-util, para esto, también los he instalado de forma independiente:

cd $HOME
mkdir custom_installed
cd custom_installed
# Install apr
wget ftp://mirror.switch.ch/mirror/apache/dist//apr/apr-1.5.2.tar.gz
tar xvfz apr-1.5.2.tar.gz
cd apr-1.5.2
./configure —prefix=$HOME/custom_installed
make
make test
make install
cd ..

# Install apu
wget ftp://mirror.switch.ch/mirror/apache/dist//apr/apr-util-1.5.4.tar.gz
tar xvfz apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=$HOME/custom_installed --with-apr=$HOME/custom_installed
make
make test
make install
cd ..

Parece estar instalado correctamente en el custom_installed, tiene los siguientes archivos de inclusión, lib y bin:

ls lib

apr.exp aprutil.exp libapr-1.la libapr-1.so.0
libaprutil-1.a libaprutil-1.so libaprutil-1.so.0.5.4 apr-util-1   libapr-1.a libapr-1.so libapr-1.so.0.5.2 libaprutil-1.la   libaprutil-1.so.0 pkgconfig

ls include/apr-1

apr_allocator.h apr_dbm.h apr_general.h apr_ldap_init.h   apr_mmap.h apr_queue.h apr_signal.h
apr_thread_pool.h apr_want.h apr_anylock.h apr_dso.h
apr_getopt.h apr_ldap_option.h apr_network_io.h
apr_random.h apr_skiplist.h apr_thread_proc.h apr_xlate.h   apr_atomic.h apr_env.h apr_global_mutex.h   apr_ldap_rebind.h apr_optional.h apr_reslist.h apr_strings.h   apr_thread_rwlock.h apr_xml.h apr_base64.h apr_errno.h apr.h   apr_ldap_url.h apr_optional_hooks.h apr_ring.h apr_strmatch.h   apr_time.h apu_errno.h apr_buckets.h apr_escape.h
apr_hash.h apr_lib.h apr_poll.h apr_rmm.h   apr_support.h apr_uri.h apu.h apr_crypto.h
apr_file_info.h apr_hooks.h apr_md4.h apr_pools.h
apr_sdbm.h apr_tables.h apr_user.h apu_version.h   apr_date.h apr_file_io.h apr_inherit.h apr_md5.h
apr_portable.h apr_sha1.h apr_thread_cond.h apr_uuid.h
apu_want.h apr_dbd.h apr_fnmatch.h apr_ldap.h
apr_memcache.h apr_proc_mutex.h apr_shm.h
apr_thread_mutex.h apr_version.h

ls bin

apr-1-config apu-1-config

Sin embargo, cuando estoy tratando de instalar el svn, ya sea utilizando el tarball:

wget http://apache.claz.org/subversion/subversion-1.8.13.tar.gz
tar xvfz subversion-1.8.13.tar.gz
cd subversion-1.8.13
wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip
unzip sqlite-amalgamation-3071501.zip
mv sqlite-amalgamation-3071501 sqlite-amalgamation
./configure --prefix=$HOME/custom_installed --with-apr=$HOME/custom_installed --with-apr-util=$HOME/custom_installed
make

o el tronco svn:

svn co https://svn.apache.org/repos/asf/subversion/trunk svn
cd svn
# get SQLite amalgamation if required
chmod +x autogen.sh
./autogen.sh
wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip
unzip sqlite-amalgamation-3071501.zip
mv sqlite-amalgamation-3071501 sqlite-amalgamation
./configure —prefix=$HOME/custom_installed --with-apr=$HOME/custom_installed --with-apr-util=$HOME/custom_installed
make

Sigo recibiendo este error:

libtool: enlace: advertencia: biblioteca /home/wsfreund/custom_installed/lib/libapr-1.la' was moved. /bin/sed: can't read /usr/local/apr/lib/libapr-1.la: No such file or directory libtool: link: /usr/local/apr/lib/libapr-1.la 'no es un libtool válido   marca de archivo: *** [subversion / libsvn_subr / libsvn_subr-1.la] Error 1

durante el enlace:

cd subversion/libsvn_subr && /bin/bash "/home/wsfreund/custom_installed/svn/libtool" --tag=CC --silent --mode=link gcc  -g -O2  -g -O2 -pthread    -rpath /home/wsfreund/custom_installed/lib -version-info 0 -Wl,--no-undefined -o libsvn_subr-1.la  adler32.lo atomic.lo auth.lo base64.lo bit_array.lo cache-inprocess.lo cache-membuffer.lo cache-memcache.lo cache.lo cache_config.lo checksum.lo cmdline.lo compat.lo compress.lo config.lo config_auth.lo config_file.lo config_win.lo crypto.lo ctype.lo date.lo debug.lo deprecated.lo dirent_uri.lo dso.lo eol.lo error.lo fnv1a.lo gpg_agent.lo hash.lo io.lo iter.lo lock.lo log.lo macos_keychain.lo magic.lo md5.lo mergeinfo.lo mutex.lo nls.lo object_pool.lo opt.lo packed_data.lo path.lo pool.lo prefix_string.lo prompt.lo properties.lo quoprint.lo root_pools.lo simple_providers.lo skel.lo sorts.lo spillbuf.lo sqlite.lo sqlite3wrapper.lo ssl_client_cert_providers.lo ssl_client_cert_pw_providers.lo ssl_server_trust_providers.lo stream.lo string.lo subst.lo sysinfo.lo target.lo temp_serializer.lo time.lo token.lo types.lo user.lo username_providers.lo utf.lo utf8proc.lo utf_validate.lo utf_width.lo validate.lo version.lo win32_crashrpt.lo win32_crypto.lo win32_xlate.lo x509info.lo x509parse.lo xml.lo -L/home/wsfreund/custom_installed/lib -laprutil-1 -L/home/wsfreund/custom_installed/lib -lapr-1 -lexpat -lz  -ldl -lpthread   

Lo que es más extraño, no tengo ni idea por qué quiere encontrarlo en /usr/local/apr/lib/libapr-1.la, ya que debería encontrarlo en /home/wsfreund/custom_installed/lib ...

Añadiendo más información:

/home/wsfreund/custom_installed/svn/libtool --tag=CC --mode=link gcc  -g -O2  -g -O2 -pthread    -rpath /home/wsfreund/custom_installed/lib -version-info 0 -Wl,--no-undefined -o libsvn_subr-1.la  adler32.lo atomic.lo auth.lo base64.lo bit_array.lo cache-inprocess.lo cache-membuffer.lo cache-memcache.lo cache.lo cache_config.lo checksum.lo cmdline.lo compat.lo compress.lo config.lo config_auth.lo config_file.lo config_win.lo crypto.lo ctype.lo date.lo debug.lo deprecated.lo dirent_uri.lo dso.lo eol.lo error.lo fnv1a.lo gpg_agent.lo hash.lo io.lo iter.lo lock.lo log.lo macos_keychain.lo magic.lo md5.lo mergeinfo.lo mutex.lo nls.lo object_pool.lo opt.lo packed_data.lo path.lo pool.lo prefix_string.lo prompt.lo properties.lo quoprint.lo root_pools.lo simple_providers.lo skel.lo sorts.lo spillbuf.lo sqlite.lo sqlite3wrapper.lo ssl_client_cert_providers.lo ssl_client_cert_pw_providers.lo ssl_server_trust_providers.lo stream.lo string.lo subst.lo sysinfo.lo target.lo temp_serializer.lo time.lo token.lo types.lo user.lo username_providers.lo utf.lo utf8proc.lo utf_validate.lo utf_width.lo validate.lo version.lo win32_crashrpt.lo win32_crypto.lo win32_xlate.lo x509info.lo x509parse.lo xml.lo -L/home/wsfreund/custom_installed/lib -laprutil-1 -L/home/wsfreund/custom_installed/lib -lapr-1 -lexpat -lz  -ldl -lpthread --debug --config 

libtool: link: warning: library `/home/wsfreund/custom_installed/lib/libapr-1.la 'fue movido.

libtool: link: rm -fr  .libs/libsvn_subr-1.a .libs/libsvn_subr-1.so .libs/libsvn_subr-1.so.0 .libs/libsvn_subr-1.so.0.0.0

libtool: link: gcc -shared  -fPIC -DPIC  .libs/adler32.o .libs/atomic.o .libs/auth.o .libs/base64.o .libs/bit_array.o .libs/cache-inprocess.o .libs/cache-membuffer.o .libs/cache-memcache.o .libs/cache.o .libs/cache_config.o .libs/checksum.o .libs/cmdline.o .libs/compat.o .libs/compress.o .libs/config.o .libs/config_auth.o .libs/config_file.o .libs/config_win.o .libs/crypto.o .libs/ctype.o .libs/date.o .libs/debug.o .libs/deprecated.o .libs/dirent_uri.o .libs/dso.o .libs/eol.o .libs/error.o .libs/fnv1a.o .libs/gpg_agent.o .libs/hash.o .libs/io.o .libs/iter.o .libs/lock.o .libs/log.o .libs/macos_keychain.o .libs/magic.o .libs/md5.o .libs/mergeinfo.o .libs/mutex.o .libs/nls.o .libs/object_pool.o .libs/opt.o .libs/packed_data.o .libs/path.o .libs/pool.o .libs/prefix_string.o .libs/prompt.o .libs/properties.o .libs/quoprint.o .libs/root_pools.o .libs/simple_providers.o .libs/skel.o .libs/sorts.o .libs/spillbuf.o .libs/sqlite.o .libs/sqlite3wrapper.o .libs/ssl_client_cert_providers.o .libs/ssl_client_cert_pw_providers.o .libs/ssl_server_trust_providers.o .libs/stream.o .libs/string.o .libs/subst.o .libs/sysinfo.o .libs/target.o .libs/temp_serializer.o .libs/time.o .libs/token.o .libs/types.o .libs/user.o .libs/username_providers.o .libs/utf.o .libs/utf8proc.o .libs/utf_validate.o .libs/utf_width.o .libs/validate.o .libs/version.o .libs/win32_crashrpt.o .libs/win32_crypto.o .libs/win32_xlate.o .libs/x509info.o .libs/x509parse.o .libs/xml.o   -Wl,-rpath -Wl,/home/wsfreund/custom_installed/lib -Wl,-rpath -Wl,/home/wsfreund/custom_installed/lib -L/home/wsfreund/custom_installed/lib /home/wsfreund/custom_installed/lib/libaprutil-1.so /home/wsfreund/custom_installed/lib/libapr-1.so /usr/lib/x86_64-linux-gnu/libexpat.so -lz -ldl -lpthread  -O2 -O2 -pthread -Wl,--no-undefined   -pthread -Wl,-soname -Wl,libsvn_subr-1.so.0 -o .libs/libsvn_subr-1.so.0.0.0

libtool: link: (cd ".libs" && rm -f "libsvn_subr-1.so.0" && ln -s "libsvn_subr-1.so.0.0.0" "libsvn_subr-1.so.0")

libtool: link: (cd ".libs" && rm -f "libsvn_subr-1.so" && ln -s "libsvn_subr-1.so.0.0.0" "libsvn_subr-1.so")

libtool: link: ar cru .libs/libsvn_subr-1.a  adler32.o atomic.o auth.o base64.o bit_array.o cache-inprocess.o cache-membuffer.o cache-memcache.o cache.o cache_config.o checksum.o cmdline.o compat.o compress.o config.o config_auth.o config_file.o config_win.o crypto.o ctype.o date.o debug.o deprecated.o dirent_uri.o dso.o eol.o error.o fnv1a.o gpg_agent.o hash.o io.o iter.o lock.o log.o macos_keychain.o magic.o md5.o mergeinfo.o mutex.o nls.o object_pool.o opt.o packed_data.o path.o pool.o prefix_string.o prompt.o properties.o quoprint.o root_pools.o simple_providers.o skel.o sorts.o spillbuf.o sqlite.o sqlite3wrapper.o ssl_client_cert_providers.o ssl_client_cert_pw_providers.o ssl_server_trust_providers.o stream.o string.o subst.o sysinfo.o target.o temp_serializer.o time.o token.o types.o user.o username_providers.o utf.o utf8proc.o utf_validate.o utf_width.o validate.o version.o win32_crashrpt.o win32_crypto.o win32_xlate.o x509info.o x509parse.o xml.o
libtool: link: ranlib .libs/libsvn_subr-1.a

/ bin / sed: no se puede leer /usr/local/apr/lib/libapr-1.la: no existe tal archivo o   directorio libtool: link: `/usr/local/apr/lib/libapr-1.la 'no es un   archivo libtool válido

Esto también fue reportado a users@subversion.apache.org


1
¿Comprobaste los contenidos de la libapr-1.la archivo en sí? Ver esta pregunta de StackOverflow para detalles sobre por qué podría decirse que la biblioteca fue movida. También puede intentar seguir los pasos de esta pregunta de StackOverflow - específicamente, agregue la ruta de su biblioteca local compilada a LD_LIBRARY_PATH, o modificar la Makefile para configurar el -rpath bandera para cualquier llamada a gcc mientras se vincula.
Breakthrough

Parece que tenías razón. los libapr-1.la Tenia mal camino Lo he corregido, comprobando si funciona ahora después de volver a ejecutarlo /configure. ¡Gracias!
Werner

@Brampeto lo he hecho. Fue necesario cambiar manualmente ambos archivos ( libapr-1.la: libdir='/home/wsfreund/custom_installed/lib'; libaprutil-1.la, dependency_libs update path to /home/wsfreund/custom_installed/lib/libapr-1.la ). Podría escribir esto como una respuesta y estaré encantado de aceptarlo x)
Werner

1
He agregado una respuesta a continuación con algunos detalles adicionales de mi comentario anterior, pero siéntase libre de editarlo y agregar cualquier otra información que considere relevante o que falte. Me alegro de haber resuelto el problema, ¡gracias por seguir con una solución!
Breakthrough

Respuestas:


1

Según esta pregunta en Stack Overflow , Ambos de .la archivos ( libapr-1.la y libaprutil-1.la ) Los archivos describen las bibliotecas en sí, y deben ser comentados. Es probable que las rutas a las que se hace referencia en estos archivos sean incorrectas o estén predeterminadas en su sistema. LD_LIBRARY_PATH.

La edición de ambos archivos con un editor de texto y la actualización de las rutas respectivas para que apunten a los archivos binarios de la biblioteca recién compilada deben resolver el problema. Los detalles sobre los cambios a realizar se detallan a continuación.


Si el problema persiste, una nueva pregunta sobre desbordamiento de pila podría ser de ayuda. Puede agregar manualmente sus bibliotecas compiladas localmente a LD_LIBRARY_PATH temporalmente, o configurar el -rpath bandera para cualquier gcc llamadas editando el Makefile (o cualquier script de compilación), para anular las rutas de la biblioteca compartida predeterminadas.



La edición de ambos archivos con un editor de texto y la actualización de las rutas respectivas para que apunten a los archivos binarios de la biblioteca recién compilada deben resolver el problema. En este caso específico, fue necesario cambiar los siguientes archivos:

línea 41 en archivo libapr-1.la:

libdir='/usr/local/apr/lib' # change to your installation path

y linea 20 en libaprutil-1.la:

dependency_libs=' /usr/lib/x86_64-linux-gnu/libexpat.la /usr/local/apr/lib/libapr-1.la -lrt -lcrypt -lpthread -ldl' # change libapr-1.la path to the correct one

Después, asegúrese de restablecer los archivos de configuración de instalación haciendo (adapte ./configure a sus rutas y necesidades correctas):

make clean
./configure —prefix=$HOME/custom_installed --with-apr=$HOME/custom_installed/bin/apr-1-config --with-apr-util=$HOME/custom_installed/bin/apu-1-config
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.