[英]Bundle install fails when install unf_ext. “Cannot allocate memory error when installing unf_ext”
[英]Cannot Bundle Install due to an error compiling Unf_ext '
我正在嘗試在運行Debian Jesse(手臂)的樹莓派3上安裝Huginn。 嘗試安裝unf_ext時,Bundle安裝失敗:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /tmp/bundler20161007-16062-unp7l7unf_ext-0.0.7.1/gems/unf_ext-0.0.7.1/ext/unf_ext
/usr/bin/ruby2.3 -r ./siteconf20161007-16062-wdgukt.rb extconf.rb
當我嘗試:sudo gem install unf_ext -v'0.0.7.1'我收到以下錯誤:
current directory: /tmp/bundler20161007-16062-unp7l7unf_ext-0.0.7.1/gems/unf_ext-0.0.7.1/ext/unf_ext
make "DESTDIR="
compiling unf.cc
In file included from unf/normalizer.hh:10:0,
from unf.cc:1:
unf/table.hh:13539:25: error: narrowing conversion of ‘-27’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
-77, -39,-124, -39,-123};
上面是一個很長的錯誤列表:縮小##從int到char里面的轉換{} [-Wnarrowing]錯誤
我正在編譯:6.1.1 20160802(Raspbian 6.1.1-11 + rpi1)
我嘗試過gem更新,但這並沒有幫助。 也沒有在ext / unf_ext / extconf.rb中添加標志
+$CXXFLAGS += " -fsigned-char "
+
我是所有這些的初學者,所以任何幫助將不勝感激。 謝謝。
注意:我已經在Github上發布了我的寶石,以節省人們制作自己的精力。 如果你想使用我的,那么只需運行以下兩個命令:
wget https://github.com/appleorange1/unf_ext-0.0.6-arm/raw/master/unf_ext-0.0.6.gem
gem install ./unf_ext-0.0.6.gem
如果您想了解我是如何做到的,請繼續閱讀:
我也遇到過這個問題(在Chromebook C201PA上)。 問題是當您運行“gem install”時,對ext / unf_ext / extconf.rb的更改會被覆蓋。 我不確定為什么會這樣,但我通過創建一個本地gem來解決這個問題。
為此,請從此頁面下載所需的上游gem版本。 我使用的是版本0.0.6。
然后,解壓縮上游gem:
gem unpack unf_ext-0.0.6.gem
在提取上游gem之后,將其重命名,以免您將其與本地gem混淆。 (你不必這樣做;這只是一個建議。)
mv unf_ext-0.0.6.gem unf_ext-0.0.6-upstream.gem
現在,進入解壓縮的寶石。
cd unf_ext-0.0.6
然后,將$CXXFLAGS += ' -fsigned-char'
行添加到ext/unf_ext/extconf.rb
文件中。 (我把它放在第三行,就在have_library('stdc++')
。)
vi ext/unf_ext/extconf.rb
然后,您可以構建並安裝gem:
gem build unf_ext.gemspec
gem install ./unf_ext-0.0.6.gem
我在Rails項目的Gemfile.lock中捆綁的更高版本出現了類似的錯誤:
bundle install
它叫:
gem install unf_ext -v '0.0.7.2'
我能夠修改Gemfile.lock並將unf_ext版本更改為0.0.7.4
; unf_ext庫已於2017年4月更新,包括ARM處理器支持。 在這里閱讀GitHub問題。
這並不像默默無聞的回答那么全面,可能會破壞你的解決方案。 未經仔細考慮,請勿更改鎖定的版本字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.