2016-03-27 7 views
5

widzę coś, co przypomina błąd kompilatora C kiedy spróbuj zainstalować ruby gem json 1.8.3błąd Producent instalowania ruby ​​gem json v1.8.3: BFD (GNU BINUTILS dla Debiana) 2,22 błąd wewnętrzny

Oto komenda biegnę:

gem install json -v '1.8.3' 

i moje wyjście jest:

Building native extensions. This could take a while... 
ERROR: Error installing json: 
     ERROR: Failed to build gem native extension. 

    /usr/local/rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20160327-27188-189i1cj.rb extconf.rb 
creating Makefile 

make "DESTDIR=" clean 

make "DESTDIR=" 
compiling generator.c 
linking shared-object json/ext/generator.so 
/usr/bin/ld: BFD (GNU Binutils for Debian) 2.22 internal error, aborting at ../../bfd/reloc.c line 443 in bfd_get_reloc_size 

/usr/bin/ld: Please report this bug. 

collect2: error: ld returned 1 exit status 
make: *** [generator.so] Error 1 

make failed, exit code 2 

Gem files will remain installed in /usr/local/rvm/gems/ruby-2.2.1/gems/json-1.8.3 for inspection. 
Results logged to /usr/local/rvm/gems/ruby-2.2.1/extensions/x86_64-linux/2.2.0/json-1.8.3/gem_make.out 

próbowałem usuwanie i instalowanie pakietów binutils i build-essential, ale to nie rozwiązało problemu.

Kilka faktów o moich OS:

Debian GNU/Linux 7.9 (wheezy) 

uname- Wystawy:

Linux Prometheus 2.6.32-042stab112.15 #1 SMP Tue Oct 20 17:22:56 MSK 2015 x86_64 GNU/Linux 

biegnę to na OpenVZ zwirtualizowanych hosta VPS.

Moja /etc/apt/sources.list (czy to pomaga):

deb http://ftp.debian.org/debian wheezy main contrib non-free 
deb http://security.debian.org wheezy/updates main contrib non-free 
deb http://packages.icinga.org/debian icinga-wheezy main 
deb http://http.debian.net/debian wheezy-backports main 
deb-src http://packages.icinga.org/debian icinga-wheezy main 

Google produkuje zerowe odpowiednich wyników dla

BFD (GNU Binutils for Debian) 2.22 internal error, aborting at ../../bfd/reloc.c line 443 in bfd_get_reloc_size 

Jeśli nie mogę "make" json gem ponieważ o błędzie linkera, proszę mnie poinformować we właściwym kierunku, czy mogę zastąpić kompilator/linker inną wersją, czy w jakiś sposób omijam instalację tutaj ze źródła? Ogólnie rzecz biorąc, każde rozwiązanie jest mile widziane, gdy tylko pomoże zainstalować klejnot json i kontynuować mój plan.

Wielkie dzięki z góry!

+0

Wypróbuj 2.25 lub 2.26 'Binutils'. – CryptoPiggy

+0

Czy możesz pokazać 'uname -a'? – AlexD

+0

@AlexD uname -a: Linux Prometheus 2.6.32-042stab112.15 # 1 SMP Wt. 20 października 17:22:56 MSK 2015 x86_64 GNU/Linux –

Odpowiedz

4

Spróbuj wersji 2.25 lub 2.26 Binutils, ponieważ wersja 2.22 jest dość stara.

+1

Zobacz mój własny odpowiedź poniżej, aby uzyskać dokładne kroki, które ukończyłem. –

4

Zainstalowanie nowszej wersji binutils rozwiązało problem.

Zgodnie z zaleceniem Alxs, zainstalowałem binutils 2.26-8. Musiałem dodać ten wiersz:

deb http://ftp.de.debian.org/debian sid main 

Do mojego /etc/apt/sources.list, potem wpadłem

apt-get update 
apt-get install binutils 

który zaktualizował binutils do 2,26

Wtedy wpadłem ponownie:

gem install json -v '1.8.3' 

I tym razem poszło gładko.

WAŻNE: Nie zapomnij, aby usunąć tę linię:

deb http://ftp.de.debian.org/debian sid main 

z /etc/apt/sources .list po skończysz, inaczej będziesz trzymać zainstalowaniem przyszłe pakiety sid repo od teraz, co jest prawdopodobnie to, czego potrzebujesz.

+1

Zobacz poniżej, jak zainstalować pojedynczy pakiet z niestabilnego http://serverfault.com/questions/22414/how-can-i-run-debian-stable-but-install-some-packages-from-testing – AlexD

Powiązane problemy