Libarchive宝石不起作用(RoR)

时间:2012-05-07 10:02:05

标签: ruby-on-rails gem compression

我正在尝试使用我的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上运行它。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我相信这意味着Heroku的堆栈中没有libarchive库。我也没有找到过Cedar的工作。唉,因此你不能使用libarchive gem,因为它只是C库的一个包装器,直到它们包含它。