0 votos

"brew install rtorrent" ahora falla al construir

Esta mañana, intenté lanzar rtorrent en Mac OS X 10.10.3, y falló con un "símbolo no encontrado" en libtorrent (he perdido el backtrace de mi pantalla).

He intentado un montón de cosas, como se documenta a continuación, pero no hay suerte en conseguir que se construya.

He visto ese error antes, y según recuerdo, requiere reconstruir libtorrent Así que lo hice

brew uninstall rtorrent libtorrent
brew install libtorrent
brew install rtorrent

Esta última falla ahora debido a un error en make . Utilizando brew install -vd rtorrent muestra lo siguiente:

libtool: link: g++-5 -g -O2 -DNDEBUG -D_THREAD_SAFE -I/usr/local/Cellar/libtorrent/0.13.4/include -o rtorrent main.o -Wl,-bind_at_load  libsub_root.a ui/libsub_ui.a core/libsub_core.a display/libsub_display.a input/libsub_input.a rpc/libsub_rpc.a utils/libsub_utils.a -lncurses -lcurl -L/usr/local/Cellar/libtorrent/0.13.4/lib -ltorrent
Undefined symbols for architecture x86_64:
  "std::__basic_file<char>::is_open() const", referenced from:
      rpc::parse_command_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libsub_rpc.a(parse_commands.o)
[...]

y así sucesivamente durante muchas páginas. ¿Así que parece ser un fallo del enlazador?

En Brew Install Rtorrent no funciona Parece que el problema es con gcc 5.0.1. Intenté seguir las instrucciones allí (downgrade a gcc 4.9.2):

brew switch gcc 4.9.2

Eso funciona, pero luego brew install rtorrent fracasa de forma aún más espectacular:

checking for Cppunit - version >= 1.9.6... no
checking whether the C++ compiler works... no
configure: error: in `/private/tmp/rtorrent20150526-82101-c1xxo5/rtorrent-0.9.4':
configure: error: C++ compiler cannot create executables
See `config.log' for more details

Miro en config.log y el problema está aquí:

configure:3319: checking whether the C++ compiler works
configure:3341: g++-4.9    conftest.cpp  >&5
dyld: Library not loaded: /usr/local/lib/libisl.10.dylib
  Referenced from: /usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/cc1plus
  Reason: image not found
g++-4.9: internal compiler error: Trace/BPT trap: 5 (program cc1plus)
./configure: line 3343: 82310 Abort trap: 6           $CXX $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5

Eso no es bueno. Me pregunto dónde libisl10.dylib ¿podría haber llegado a?

1voto

Karl Z Puntos 11

Oh, yo hizo conseguir que esto funcione. Pensé en responder a mi propia pregunta. La clave era crear un enlace simbólico para el libisl.10.dylib para que gcc 4.9.2 se ejecute correctamente, entonces recompilar libtorrent , entonces reinstalar rtorrent .

Paso 1 : Actualice gcc a la versión 4.9.2.

brew switch gcc 4.9.2

Paso 2 : Asegúrese de que el enlace simbólico para libisl.10.dylib existe.

cd /usr/local/lib
ln -s libisl.dylib libisl.10.dylib

Paso 3 : Desinstalar y volver a instalar libtorrent .

brew uninstall libtorrent
brew install libtorrent

Paso 4 : Reinstalar rtorrent .

brew install rtorrent

Paso 5 : Para estar seguro, cambia gcc a la última versión.

brew switch gcc 5.1.0

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X