我正在尝试使用我的Rails应用程序中的libarchive工作。具体来说,我需要解压缩文件并将其内容重新压缩为.CPGZ文件。我相信Libarchive是我最好的选择。
然而,当我运行bundle install时,我收到以下错误:(它抱怨archive.h缺失)。
Using heroku (2.24.1)
Using multi_xml (0.4.4)
Using httparty (0.8.3)
Using itunes-search-api (0.1.0)
Using kgio (2.7.4)
Using less (2.2.1)
Using less-rails (2.2.2)
Installing libarchive (0.1.2) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/Chris/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating config.h
checking for config.h... yes
checking for archive.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/Chris/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
Gem files will remain installed in /Users/Chris/.rvm/gems/ruby-1.9.2-p290/gems/libarchive-0.1.2 for inspection.
Results logged to /Users/Chris/.rvm/gems/ruby-1.9.2-p290/gems/libarchive-0.1.2/ext/gem_make.out
An error occured while installing libarchive (0.1.2), and Bundler cannot continue.
Make sure that `gem install libarchive -v '0.1.2'` succeeds before bundling.
我的Gemfile非常标准,包含行gem 'libarchive'
我将在Heroku上运行它。
有什么想法吗?
答案 0 :(得分:1)
我相信这意味着Heroku的堆栈中没有libarchive库。我也没有找到过Cedar的工作。唉,因此你不能使用libarchive gem,因为它只是C库的一个包装器,直到它们包含它。