tdtds / kindlegen

Installing kindlegen command via gem
GNU General Public License v3.0
47 stars 18 forks source link

Gem fails to install on MacOS #51

Open ben opened 3 years ago

ben commented 3 years ago

My environment is MacOS 10.15.7, using Ruby 2.7.3 in rbenv. Here's what I get from gem install kindlegen:

❯ gem install kindlegen                                                                                                                                                                   5 ↵
Building native extensions. This could take a while...
ERROR:  Error installing kindlegen:
        ERROR: Failed to build gem native extension.

    current directory: /Users/ben/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/kindlegen-3.1.1/ext
/Users/ben/.rbenv/versions/2.7.3/bin/ruby -I/Users/ben/.rbenv/versions/2.7.3/lib/ruby/2.7.0/rubygems -rrubygems /Users/ben/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.3/exe/rake RUBYARCHDIR\=/Users/ben/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-19/2.7.0/kindlegen-3.1.1 RUBYLIBDIR\=/Users/ben/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-19/2.7.0/kindlegen-3.1.1
rake aborted!
Zlib::GzipFile::Error: not in gzip format

Tasks: TOP => default => install => kindlegen
(See full trace by running task with --trace)
open(https://web.archive.org/web/20200814013519/https://kindlegen.s3.amazonaws.com/KindleGen_Mac_i386_v2_9.zip)
save to KindleGen_Mac_i386_v2_9.zip

rake failed, exit code 1

Gem files will remain installed in /Users/ben/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/kindlegen-3.1.1 for inspection.
Results logged to /Users/ben/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-19/2.7.0/kindlegen-3.1.1/gem_make.out
ben commented 3 years ago

Looks like it's assuming a tgz file here, when it should be running through the Zip decompresser further down.

slonopotamus commented 3 years ago

See #36. There's no kindlegen for modern MacOS, so it won't work anyway.

ben commented 3 years ago

Well poop. OK, can we at least get a better error message then? "Sorry, kindlegen isn't available for your platform" would be better than what I saw.