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 [email protected]
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 aLD_LIBRARY_PATH
, o modificar laMakefile
para configurar el-rpath
bandera para cualquier llamada agcc
mientras se vincula.libapr-1.la
Tenia mal camino Lo he corregido, comprobando si funciona ahora después de volver a ejecutarlo/configure
. ¡Gracias!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)Respuestas:
Según esta pregunta en Stack Overflow , Ambos de
.la
archivos (libapr-1.la
ylibaprutil-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 cualquiergcc
llamadas editando elMakefile
(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 archivolibapr-1.la
:y linea
20
enlibaprutil-1.la
:Después, asegúrese de restablecer los archivos de configuración de instalación haciendo (adapte ./configure a sus rutas y necesidades correctas):
fuente