boxen/our-boxen

Build of Nginx and NodeJS fail on 10.11 (openssl related)

fculpo opened this issue · 6 comments

On a fresh 10.11 install, Nginx and node cannot build via boxen.
OpenSSL is not found on the system.

Error: install failed with a crazy error: Execution of '/opt/boxen/node-build/bin/node-build 0.6.20 /opt/nodes/0.6.20' returned 1: Installing node-v0.6.20...

BUILD FAILED

Inspect or clean up the working tree at /tmp/node-build.20151001195057.86123
Results logged to /tmp/node-build.20151001195057.86123.log

Last 10 log lines:
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for program gcc or cc : /usr/bin/cc
Checking for gcc : ok
Checking for library dl : yes
Checking for openssl : not found
Checking for function SSL_library_init : not found
Checking for header openssl/crypto.h : not found
/private/tmp/node-build.20151001195057.86123/node-v0.6.20/wscript:386: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message. ["/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/util/execution.rb:203:in execute'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/provider.rb:115:inexecute'", "/opt/boxen/repo/shared/nodejs/lib/puppet/provider/nodejs/nodebuild.rb:66:in build_node'", "/opt/boxen/repo/shared/nodejs/lib/puppet/provider/nodejs/nodebuild.rb:45:increate'", "/opt/boxen/repo/shared/nodejs/lib/puppet/type/nodejs.rb:5:in block (3 levels) in <top (required)>'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/property.rb:197:incall_valuemethod'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/property.rb:498:in set'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/property.rb:581:insync'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction/resource_harness.rb:204:in sync'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction/resource_harness.rb:128:insync_if_needed'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction/resource_harness.rb:81:in perform_changes'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction/resource_harness.rb:20:inevaluate'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction.rb:204:in apply'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction.rb:217:ineval_resource'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction.rb:147:in call'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction.rb:147:inblock (2 levels) in evaluate'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/util.rb:327:in block in thinmark'", "/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/benchmark.rb:296:inrealtime'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/util.rb:326:in thinmark'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction.rb:147:inblock in evaluate'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/graph/relationship_graph.rb:118:in traverse'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction.rb:138:inevaluate'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/resource/catalog.rb:169:in block in apply'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/util/log.rb:149:inwith_destination'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/transaction/report.rb:112:in as_logging_destination'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/resource/catalog.rb:168:inapply'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/configurer.rb:118:in block in apply_catalog'", "/opt/boxen/repo/shared/boxen/lib/puppet/provider/package/hax.rb:12:inbenchmark'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/configurer.rb:117:in apply_catalog'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/configurer.rb:222:inrun_internal'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/configurer.rb:132:in block in run'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/context.rb:64:inoverride'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet.rb:244:in override'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/configurer.rb:131:inrun'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/application/apply.rb:297:in apply_catalog'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/application/apply.rb:231:inblock in main'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/context.rb:64:in override'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet.rb:244:inoverride'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/application/apply.rb:193:in main'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/application/apply.rb:154:inrun_command'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/application.rb:384:in block (2 levels) in run'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/application.rb:510:inplugin_hook'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/application.rb:384:in block in run'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/util.rb:488:inexit_on_fail'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/application.rb:384:in run'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/util/command_line.rb:146:inrun'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/lib/puppet/util/command_line.rb:92:in execute'", "/opt/boxen/repo/.bundle/ruby/2.0.0/gems/puppet-3.7.1/bin/puppet:8:in<top (required)>'", "/opt/boxen/repo/bin/puppet:16:in load'", "/opt/boxen/repo/bin/puppet:16:in

'"]
Error: /Stage[main]/Main/Node[default]/Nodejs::Version[0.6]/Nodejs::Alias[0.6]/Nodejs::Version[0.6.20]/Nodejs[0.6.20]/ensure: change from absent to present failed: install failed with a crazy error: Execution of '/opt/boxen/node-build/bin/node-build 0.6.20 /opt/nodes/0.6.20' returned 1: Installing node-v0.6.20...

bbck commented

Same issue here. Python also fails from the lack of openssl.

orien commented

@bbck Pyenv have resolved this with this change pyenv/pyenv@db325cc

Unfortunately this hasn't been released in a tag yet. But you get it early by updating your pyenv to this commit. I did this via hiera/common.yaml

python::pyenv_version: db325cc66d8f77c859ac9cb770940ef5390c6eb0
orien commented

#787 Will fix the nginx issue.

Has this been fixed for NodeJS yet?

DeanSingh try :
brew install openssl
brew link openssl --force
brew install nodejs
then you can run ./script/boxen into /opt/boxen/repo
it works for me