# pkgng conflicts with PEAR, PECL?



## dejamuse (Oct 18, 2013)

Hi,

I'm running a Warden jail in PC-BSD 9.2 and installed PHP53 (my application requires that version) along with PHP53-extensions. I wanted to additionally install pecl-APC but if I try to install by ports or the pkgng package manager it wants to install PHP54 as a dependency which I don't want. Before pkgng I could just use pkg_add thusly: `# pkg_add pecl-APC-3.1.13.tbz` from a file I saved in that directory.

Now if I try that it bombs because it can't find required packages like PHP 5.3.27 even though it's installed, presumably because pkgng uses a different database that pkg_add can't use. There doesn't seem to be a way to use pkgng to install a package from a local file, only a repository. So I tried to install PEAR which for some reason isn't bundled with the FreeBSD PHP port/package. It should. Pear also would not install because pgkng wanted to install PHP54, etc.  So I got PEAR from the PEAR website and installed it directly. Then I went to install APC with: `# pecl install apc`. That caused a slew of PHP errors and finally bombed saying it couldn't find the XML extension even though it's installed.
	
	



```
Warning: Invalid argument supplied for foreach() in /usr/local/share/pear/PEAR/Command.php on line 259
XML Extension not found
```

So if you use pkgng (as PC-BSD does when creating jails) you can't use PEAR to install anything anymore? I almost like the Warden's package manager but it can be quite tedious to find things and so I often just resort to: `# pkg info` to see what's installed.

In the case of APC I don't think there are any specific required versions of PHP, etc., so I don't know where the package manager got them from but here's what happened when I used pkg_add:

```
# pkg_add pecl-APC-3.1.14_1.tbz
pkg_add: could not find package expat-2.1.0 !
pkg_add: could not find package openssl-1.0.1_8 !
pkg_add: could not find package cyrus-sasl-2.1.26_2 !
pkg_add: could not find package openldap-sasl-client-2.4.35 !
pkg_add: could not find package perl-5.14.4 !
pkg_add: could not find package pkgconf-0.9.2_1 !
pkg_add: could not find package pcre-8.33 !
pkg_add: could not find package gdbm-1.10 !
pkg_add: could not find package db46-4.6.21.4 !
pkg_add: could not find package libiconv-1.14_1 !
pkg_add: could not find package libxml2-2.8.0_2 !
pkg_add: could not find package apr-1.4.8.1.5.2 !
pkg_add: could not find package apache22-2.2.25 !
pkg_add: could not find package php53-5.3.27 !
```
It couldn't find them because pkg_add can't use the pkgng DB, but why all the specific versions listed as prerequisites in the first place?

Thanks,

Jeff


----------



## SirDice (Oct 18, 2013)

[thread=7290]*PC-BSD* DesktopBSD FreeNAS NAS4Free m0N0WALL pfSense ArchBSD kFreeBSD JabirOS topics[/thread]



			
				dejamuse said:
			
		

> I'm running a Warden jail in PC-BSD 9.2 and installed PHP53 (my app requires that version) along with PHP53-extensions. I wanted to additionally install pecl-APC but if I try to install by ports or the pkgng package manager it wants to install PHP54 as a dependency which I don't want. Before pkgng I could just use pkg_add thusly:
> 
> 
> 
> ...


This isn't correct. If the package was built with PHP 5.4 as a dependency it will result in exactly the same thing with both pkg_add and pkgng. Packages have set dependencies that cannot be changed. If you need different versions you will have to build from ports.



> Now if I try that it bombs because it can't find required packages like PHP 5.3.27 even though it's installed, presumably because pkgng uses a different database that pkg_add can't use.


Don't mix the two. Really, don't. Use one or the other.



> There doesn't seem to be a way to use pkgng to install a package from a local file, only a repository.


pkg-add(8)


----------



## dejamuse (Oct 20, 2013)

Ok, but pkg-add wants to install php54 as does the port. How can I find and install the version of APC for PHP53? I found an old copy of the version that likes PHP5.3.27, the version I'm running, but it won't install since it can't find the dependencies as they were all installed with pkgng or ports.  

If I could only get PEAR to work right I could do this I think.  Is `pecl install APC` bombing because it too can't work with pkgng?

Tnx Thanks,

Jeff


----------



## dejamuse (Oct 20, 2013)

I got APC installed using Portmaster.


----------

