简体   繁体   中英

Libarchive Gem Not Working (RoR)

I'm trying to get libarchive working in my Rails app. Specifically, I need to unzip a file and re-compress its contents as a .CPGZ file. I believe Libarchive is my best bet for this.

However when I run bundle install, I get the following errors: (it complains about archive.h missing).

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.

My Gemfile is fairly standard and includes the line gem 'libarchive'

I will be running this on Heroku.

Any ideas?

I believe what this means is that Heroku does not have the libarchive library in its stack. Doesn't work on Cedar either, I've found out. Alas, therefore you cannot use the libarchive gem, because it is just a wrapper around the C library, until they do include it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM