it-swarm-id.com

GALAT: Kesalahan saat menginstal ffi: GALAT: Gagal membangun ekstensi bawaan permata

Dapatkan DevKit terinstal dan jalankan ulang instalasi ffi .... .minta ini sebagai output:

C:\Documents and Settings\******>gem install ffi
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing ffi:
        ERROR: Failed to build gem native extension.

        C:/Ruby192/bin/Ruby.exe extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include... no
checking for rb_thread_blocking_region()... yes
checking for Ruby_thread_has_gvl_p()... yes
checking for Ruby_native_thread_p()... yes
checking for rb_thread_call_with_gvl()... yes
creating extconf.h
creating Makefile
make
C:/Ruby192/bin/Ruby -e "puts 'EXPORTS', 'Init_ffi_c'"  > ffi_c-i386-mingw32.def
gcc -I. -IC:/Ruby192/include/Ruby-1.9.1/i386-mingw32 -I/C/Ruby192/include/Ruby-1
.9.1/Ruby/backward -I/C/Ruby192/include/Ruby-1.9.1 -I. -DRUBY_EXTCONF_H=\"extcon
f.h\"    -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -
Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wno-declaration-a
fter-statement   -o AbstractMemory.o -c AbstractMemory.c
In file included from AbstractMemory.c:28:0:
compat.h:65:20: warning: extra tokens at end of #ifndef directive
compat.h:69:24: warning: extra tokens at end of #ifndef directive
In file included from AbstractMemory.h:29:0,
                 from AbstractMemory.c:29:
Types.h:68:17: fatal error: ffi.h: No such file or directory
compilation terminated.
make: *** [AbstractMemory.o] Error 1 

Gem files will remain installed in C:/Ruby192/lib/Ruby/gems/1.9.1/gems/ffi-1.0.1
0 for inspection.
Results logged to C:/Ruby192/lib/Ruby/gems/1.9.1/gems/ffi-1.0.10/ext/ffi_c/gem_m
ake.out
_________________________________________________________________________________

Tidak yakin bagaimana menangani masalah ini. Mohon bantuannya.

15
user1007520

Versi 1.0.10 memiliki masalah kompilasi di windows.

Anda dapat menggunakan 1.0.9

gem install ffi --version='1.0.9'
15
tommasop
Sudo apt-get install libffi-dev

Ini berhasil untuk saya

10
sahilbathla

Instalasi permata ffi gagal karena permata mencoba membangun salinan libffi yang dibundel, yang tidak berfungsi karena asumsi bahwa/usr/bin/env ada dan salinan libffi yang terlalu lama.

Namun, Anda dapat membangun permata ffi melawan sistem libffi - instal paket:

apt install clang make Ruby-dev libffi-dev

Setelah itu permata ffi harus dibangun:

gem install ffi
10
ElS arekh

Perhatikan bahwa menginstal versi 1.0.9 tidak akan cukup jika bundler Anda terus mencoba untuk keluar dan mengambil versi terbaru. Di dalam gemfile Anda, Anda juga ingin meletakkan:

gem 'ffi', '1.0.9'

Ini harus memuaskan ketergantungan pada permata apa pun yang memintanya dan membiarkan Anda bangun dan berlari.

7
DVG

Bagi saya perbaikan sedang berjalan dalam urutan ini. Saya tidak yakin apa yang semua relevan, tetapi berhasil:

gem install ffi --version '1.0.9'

Di atas gagal, tetapi kemudian saya bisa berhasil menjalankan:

gem install bundler

... dan selanjutnya:

gem install ffi

... yang mendapatkan versi terbaru (1.6.0 pada saat penulisan ini) dan berhasil menginstalnya.

5
Grinn

ketika langkah-langkah di atas diikuti, mungkin menghasilkan pesan berikut.

$ bundle install
Fetching source index for https://rubygems.org/
You have requested:
ffi = 1.0.9

The bundle currently has ffi locked at 1.0.11.
Try running `bundle update ffi`

Dalam hal ini, Anda dapat menjalankan perintah 'bundle update ffi' dan kesalahan akan terpecahkan.

5
maniempire

Menginstal 'osx-gcc-installer' berhasil untuk saya: (osx 10.8)

https://github.com/kennethreitz/osx-gcc-installer/downloads

4
wantrapreneur

kamu membutuhkan ini,

apt-get install Ruby2.2-dev
3
Cosmo Arun

Disalin dari pos lain :

Seperti yang dinyatakan dalam Masalah dengan menginstal ImageMagick dan rmagick di Mountain Lion , ffi tampaknya dikonfigurasikan untuk mencari 'gcc-4.2', jadi setelah saya perbarui alat baris perintah Apple saya (yang saya boleh atau mungkin tidak perlu melakukan), saya membuat tautan simbolik untuk membuat konfigurasi instalasi ffi senang:

Sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
2
David Vezzani

Letakkan DevKit di depan PATH Anda, dan instal lagi dari Prompt perintah Windows.

0
konyak

Saya mendapat masalah yang sama. Dalam kasus saya, saya belum menginstal DevKit, yang dapat ditemukan: http://rubyinstaller.org/downloads/ . Setelah menginstal DevKit, cukup ikuti instruksi https://github.com/oneclick/rubyinstaller/wiki/development-kit dan akhirnya itu berjalan dan berjalan.

0
Erwin Kaddy

Saya harus menginstal automake untuk membuatnya berfungsi. Bekerja di kedua mac OSX serta Ubuntu (mesin CI).