boxen / puppet-php

PHP ALL THE BOXEN
boxen.github.com
MIT License
11 stars 29 forks source link

Fails to configure on 10.11 #78

Open jenslind opened 9 years ago

jenslind commented 9 years ago

Looks like the openssl headers have been removed from /usr in El Capitan.

gblair commented 9 years ago

Aye, we've noticed the same issue here. I haven't had a chance to look into it to see if it's a puppet-php issue or a phpenv one, though. Did you find a resolution for this @jenslind?

jenslind commented 9 years ago

@gblair Yes, using openssl from homebrew solves this. see: https://github.com/oddhill/puppet-php/commit/82e386d6f5562ba2744a4f4f522b6e7c35ad26fb

Also had to do some ugly regex to fix php 5.5 support. As discussed here: https://github.com/Homebrew/homebrew-php/issues/1941 There is probably a better solution to this now. :) see: https://github.com/oddhill/puppet-php/commit/521c34387d7e20ebcf9bf8ec044b44806216926d

gblair commented 9 years ago

Thanks! oddhill@82e386d did work for us, too.

hussfelt commented 8 years ago

:+1: We're most probably seeing this issue as well...

hussfelt commented 8 years ago

We're still seeing issues with this, but currently with the above patch I still get stuck with the same error as in here: https://github.com/Homebrew/homebrew-php/issues/1931

hussfelt commented 8 years ago

The suggested fix brew link libxml2 --force does not help in my situation.

hussfelt commented 8 years ago

@mattheath any suggestions? :) I'll try a clean install of this next week.

gblair commented 8 years ago

@hussfelt does this help at all?: https://github.com/castiron/puppet-php/compare/castiron:2a2d9b8020524f8853e526763cf9435e3c9f0816...master

Credit to @jenslind for most of that. I believe those were the ∆s we needed to make in order to be able to build PHP in El Cap on our team here. In a nutshell, we ensure that an alternative version of OpenSSL is in place and then use that when compiling PHP.

hussfelt commented 8 years ago

@gblair I actually pointed at your repo/version 2.0.107, and now I get even more confused.

Error: Could not find dependency Package[homebrew/versions/openssl098] for Php_version[5.6.9] at /opt/boxen/repo/shared/php/manifests/version.pp:152

Feels that I am missing something obvious?

gblair commented 8 years ago

Hmmm @hussfelt it looks like homebrew/versions/openssl098 is no longer a package! We have a relatively small team (~10ppl), so it may be the case that we haven't had new machines since that package was removed. Does it work if you modify it to install homebrew/versions/openssl101, instead?

hussfelt commented 8 years ago

@gblair I get the same error, but with the 101 version instead. :(

gblair commented 8 years ago

We had some new people join the team here in recent days, and in provisioning new machines, we ran into the issue of openssl098 no longer being available from Homebrew. For posterity, here's how we got past it, in case it helps anyone: castiron/puppet-php@677cac2. Keep in mind you'll also need to install the requisite openssl in your our-boxen repo, too, like:

  # El Cap doesn't provide Openssl dev resources any more, so let's use
  # OpenSSL from Homebrew (with all the headers and things) in order to build PHP on El Cap
  package { 'homebrew/versions/openssl098':
    ensure => absent
  }
  package { 'homebrew/versions/openssl101': }

I chose to include the openssl package in our own repo like this, because if libraries start including it internally, silly conflicts can arise when two different libraries try to install the same package (duplicate resource errors).