# Problems installing pecl-radis from ports



## kevdog (Mar 4, 2017)

Any help would be appreciated.

I'm currently running FreeNas 9.10 but my problem is currently with a jail setup (running FreeBSD 10.3-Stable) where I'm running NextCloud in a Jail.

I used to use the php70-redis pkg, however recently php70-redis was replaced by pecl-redis.  I couldn't install pecl-redis from pkg because it has as a dependency php 5.6 and it wanted to remove all my php7.0 files.  I contacted the maintainer of the pecl-redis package (https://www.freshports.org/databases/pecl-redis/) and he suggested the php 7.0 was supported by I needed to install from ports.

So when trying to compile I get the following

```
$ sudo make clean install
===>  Cleaning for pecl-redis-3.1.1
===>  License PHP301 accepted by the user
===>  Found saved configuration for pecl-redis-3.1.1
===>   pecl-redis-3.1.1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by pecl-redis-3.1.1 for building
===>  Extracting for pecl-redis-3.1.1
=> SHA256 Checksum OK for redis-3.1.1.tgz.
===>  Patching for pecl-redis-3.1.1
===>   pecl-redis-3.1.1 depends on file: /usr/local/bin/phpize - found
===>   pecl-redis-3.1.1 depends on file: /usr/local/bin/autoconf-2.69 - found
===>   pecl-redis-3.1.1 depends on file: /usr/local/lib/php/20151012/session.so - found
===>  PHPizing for pecl-redis-3.1.1
grep: /usr/local/include/php/main/php.h: No such file or directory
grep: /usr/local/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/local/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
cp: mkdep.awk: No such file or directory
cp: scan_makefile_in.awk: No such file or directory
cp: shtool: No such file or directory
cp: libtool.m4: No such file or directory
cp: Makefile.global: No such file or directory
cp: config.sub: No such file or directory
cp: config.guess: No such file or directory
cp: ltmain.sh: No such file or directory
cat: ./build/libtool.m4: No such file or directory
/usr/local/bin/phpize: cannot open /usr/local/lib/php/build/phpize.m4: No such file or directory
chmod: /usr/ports/databases/pecl-redis/work/redis-3.1.1/build/shtool: No such file or directory
shtool at '/usr/ports/databases/pecl-redis/work/redis-3.1.1/build/shtool' does not exist or is not executable.
Make sure that the file exists and is executable and then rerun this script.

*** Error code 1

Stop.
make[1]: stopped in /usr/ports/databases/pecl-redis
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/pecl-redis
```

I'm sure there is something screwed up with my php install.  Can someone give me a pointer?


----------



## kevdog (Mar 4, 2017)

Solved the problem by reinstalling php70 and php70-session.  I have no idea why the packages were broken since they were previously installed.  Please note however I had to lock the pecl-redis package
sudo pkg lock pecl-redis 

Since everytime I ran

sudo pkg upgrade

The package manager wanted to pull in php5.6 as a dependency.


----------



## SirDice (Mar 6, 2017)

PC-BSD, FreeNAS, NAS4Free, and all other FreeBSD Derivatives

On FreeBSD, use /etc/make.conf:

```
DEFAULT_VERSIONS+= php=7.0
```

Note that package dependencies are "set in stone" and cannot be changed after the package has been created. If you want/need to deviate from the defaults you will have to build from ports.


----------



## kevdog (Mar 19, 2017)

Thanks for your help


----------

