"brew install rtorrent" ora non riescono a costruire

0

Questa mattina, ho provato a lanciare rtorrent su Mac OS X 10.10.3 e non è riuscito con un "simbolo non trovato" in libtorrent (ho perso il backtrace dallo schermo).

Ho provato un sacco di roba, come documentato di seguito, ma non ho fortuna a farcelo costruire.

Ho già visto quell'errore e, se ben ricordo, richiede la ricostruzione di libtorrent , quindi l'ho fatto

brew uninstall rtorrent libtorrent
brew install libtorrent
brew install rtorrent

Quest'ultima ora fallisce a causa di un errore in make . L'utilizzo di brew install -vd rtorrent mostra quanto segue:

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)
[...]

e così via per molte pagine. Quindi sembra essere un errore del linker?

In Brew Install Rtorrent non funziona , sembra che il problema sia con gcc 5.0.1. Ho provato a seguire le istruzioni (downgrade a gcc 4.9.2):

brew switch gcc 4.9.2

Funziona, ma poi brew install rtorrent fallisce in modo ancora più spettacolare:

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

Guardo in config.log e il problema è qui:

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

Non va bene. Ti chiedi dove potrebbe essere arrivato libisl10.dylib ?

    
posta Jimmy Markle 26.05.2015 - 16:56
fonte

1 risposta

1

Oh, io ho riuscito a farlo funzionare. Ho pensato di rispondere alla mia stessa domanda. La chiave era creare un link simbolico per il libisl.10.dylib mancante in modo che gcc 4.9.2 funzioni correttamente, quindi ricompilare libtorrent , quindi reinstallare rtorrent .

Passaggio 1 : consente di eseguire il downgrade di gcc su 4.9.2.

brew switch gcc 4.9.2

Passaggio 2 : verifica che il link simbolico per libisl.10.dylib esista.

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

Passaggio 3 : disinstalla e reinstalla libtorrent .

brew uninstall libtorrent
brew install libtorrent

Passaggio 4 : reinstalla rtorrent .

brew install rtorrent

Passaggio 5 : per essere sicuro, reinserisci gcc alla versione più recente.

brew switch gcc 5.1.0
    
risposta data 26.05.2015 - 17:00
fonte

Leggi altre domande sui tag