boxen / our-boxen

Copy me for your team.
https://github.com/boxen/our-boxen/
MIT License
2.58k stars 883 forks source link

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

Closed fculpo closed 8 years ago

fculpo commented 8 years ago

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 8 years ago

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

pwae commented 8 years ago

related: https://github.com/boxen/puppet-nginx/pull/45

orien commented 8 years ago

@bbck Pyenv have resolved this with this change https://github.com/yyuu/pyenv/commit/db325cc66d8f77c859ac9cb770940ef5390c6eb0

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 8 years ago

787 Will fix the nginx issue.

DeanSingh commented 8 years ago

Has this been fixed for NodeJS yet?

tetsuo692 commented 8 years ago

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