Skip to content
This repository has been archived by the owner on Nov 9, 2018. It is now read-only.

Can't run on nanobox: can't modify frozen Array #28

Closed
steveklebanoff opened this issue Apr 17, 2018 · 4 comments
Closed

Can't run on nanobox: can't modify frozen Array #28

steveklebanoff opened this issue Apr 17, 2018 · 4 comments

Comments

@steveklebanoff
Copy link

Trying to run this on nanobox.io. At first I was getting the "TypeError: no implicit conversion of nil into String" error found on #25. I then updated the Gemfile to fetch the latest revision from github, and now I get this error:

Using rbnacl-libsodium 1.0.16 from https://github.com/crypto-rb/rbnacl-libsodium.git (at c1ee4d6@c1ee4d6)
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/app/vendor/bundle/ruby/2.3.0/bundler/gems/rbnacl-libsodium-c1ee4d621b2e/ext/rbnacl
/data/bin/ruby -r ./siteconf20180417-984-14el4ip.rb extconf.rb
extconf.rb:22:in `<main>': can't modify frozen Array (RuntimeError)

extconf failed, exit code 1

Isolated repo here: https://github.com/steveklebanoff/libsodium-nanobox-example/blob/master/README.md

@steveklebanoff
Copy link
Author

@tarcieri it looks like it's failing on this line: https://github.com/crypto-rb/rbnacl-libsodium/blob/master/ext/rbnacl/extconf.rb#L22

it looks like we are trying to append to a frozen array. this was introduced by fb8bfb6

@steveklebanoff
Copy link
Author

With the .freeze removed, this new error appears:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/app/vendor/bundle/ruby/2.3.0/bundler/gems/rbnacl-libsodium-6e720c884d5e/ext/rbnacl
/data/bin/ruby -r ./siteconf20180418-987-1rpbt3t.rb extconf.rb
-- sh -c "./configure
--prefix=/app/vendor/bundle/ruby/2.3.0/bundler/gems/rbnacl-libsodium-6e720c884d5e/tmp/x86_64-linux/stage/vendor/libsodium/dist
--host=x86_64-debian-linux"
sh: 1: ./configure: not found
extconf.rb:8:in `sys': ERROR: 'sh -c "./configure
--prefix=/app/vendor/bundle/ruby/2.3.0/bundler/gems/rbnacl-libsodium-6e720c884d5e/tmp/x86_64-linux/stage/vendor/libsodium/dist
--host=x86_64-debian-linux"' failed (RuntimeError)
from extconf.rb:36:in `block in <main>'
from extconf.rb:34:in `chdir'
from extconf.rb:34:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in
/app/vendor/bundle/ruby/2.3.0/bundler/gems/rbnacl-libsodium-6e720c884d5e for
inspection.
Results logged to
/app/vendor/bundle/ruby/2.3.0/bundler/gems/extensions/x86_64-linux/2.3.0/rbnacl-libsodium-6e720c884d5e/gem_make.out

@joshleblanc
Copy link

Building from github doesn't work. The git submodule for libsodium doesn't have the configure script, so it's going to fail.

I'll post a comment on your other issue regarding that.

@tarcieri
Copy link
Contributor

tarcieri commented May 2, 2018

FYI: I plan on deprecating this gem. Therefore I am closing all other open issues.

Please discuss any concerns on #29.

@tarcieri tarcieri closed this as completed May 2, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants