voxpupuli / voxpupuli/puppet-php
memcached extension is listed as created when it is not
Nobody has claimed this yet.
- Dominant language
- Puppet
- Stars
- 86
- Forks
- 264
- Avg merge
- 29m
- Merged PRs (30d)
- 1
Description
Attempted to use puppet-php to install memcached.
After puppet apply, ran php -v which displayed the following error Warning: Could not match PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/memcached.so' - /usr/lib/php/20151012/memcached.so: cannot open shared object file: No such file or directory in Unknown on line 0
attempting to run pecl install memcached manually
returned
pkg-config not found
configure: error: Please reinstall the pkg-config distribution
ERROR: `/tmp/pear/temp/memcached/configure --with-php-config=/usr/bin/php-config --with-libmemcached-dir=no' failed
Affected Puppet, Ruby, OS and module versions/distributions
- Puppet: 3.8.5
- Ruby: 2.3.1p112
- Distribution: ubuntu 16.04.2 LTS
- Module version: 4.0.0
How to reproduce (e.g Puppet code you use)
extensions => {
memcached => {
provider => 'pecl',
header_packages => [ 'libmemcached-dev', ],
},
},
What are you seeing
Notice: /Stage[main]/Php/Php::Extension[memcached]/Package[memcached]/ensure: created
What behaviour did you expect instead
Notice: /Stage[main]/Php/Php::Extension[memcached] :Skipping because of failed dependencies
Output log
Any additional information you'd like to impart
Was able to successfully have puppet install memcached extension by sudo apt-get install pkgconf then re-running puppet apply.
as I see it there are two issue
- the user should be notified if a particular extension does not compile properly
- since pecl relies on pkg-config it would be good to check for the presence of pkg-config, and install it if necessary
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the memcached extension declaration on Ubuntu 16.04 with puppet-php 4.0.0, then inspect the PECL provider and extension dependency handling described in the issue. Done should mean missing pkg-config is handled before compilation and a failed build is reported instead of the package being marked created.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, ubuntu
- Domain
- devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100