# PEAR and make install on master

- Thread: https://externals.io/message/80730
- Original archive: https://news-web.php.net/php.internals/80730
- Started by Matteo Beccati on 2015-01-18T08:40:16+00:00
- Messages: 14
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #80730 — Matteo Beccati — 2015-01-18T08:40:16+00:00

URL: https://externals.io/message/80730#80730

Hi,

so, the removal of deprecated features has started and make install is 
now rightfully failing because PEAR is installed by default, although it 
is not compatible anymore:

Installing PEAR environment:      /home/atlassian/phpNext/lib/php/

Fatal error: Non-static method PEAR_Installer_Role::initializeConfig() 
cannot be called statically, assuming $this from incompatible context in 
phar:///.../pear/install-pear-nozlib.phar/PEAR/Config.php on line 599
make[1]: *** [install-pear-installer] Error 255
make: *** [install-pear] Error 2

I've tried to look up the pear MLs, but I haven't seen any recent 
activity... what's the plan, if any?


Cheers
-- 
Matteo Beccati

Development & Consulting - http://www.beccati.com/

---

## #80732 — Sebastian Bergmann — 2015-01-18T08:42:41+00:00

URL: https://externals.io/message/80730#80732 · In reply to: #80730

Am 18.01.2015 um 09:40 schrieb Matteo Beccati:
> what's the plan, if any?

 Remove it?

---

## #80746 — Nikita Popov — 2015-01-18T16:44:31+00:00

URL: https://externals.io/message/80730#80746 · In reply to: #80730

> Hi,
>
> so, the removal of deprecated features has started and make install is now
> rightfully failing because PEAR is installed by default, although it is not
> compatible anymore:
>
> Installing PEAR environment:      /home/atlassian/phpNext/lib/php/
>
> Fatal error: Non-static method PEAR_Installer_Role::initializeConfig()
> cannot be called statically, assuming $this from incompatible context in
> phar:///.../pear/install-pear-nozlib.phar/PEAR/Config.php on line 599
> make[1]: *** [install-pear-installer] Error 255
> make: *** [install-pear] Error 2
>
> I've tried to look up the pear MLs, but I haven't seen any recent
> activity... what's the plan, if any?
>

That's a good question. As far as I understand we still need PEAR because
it also provides the PECL installer. So it would be good if the installer
is fixed.

As an immediate action I would suggest to disable installation of PEAR by
default, given how it should be irrelevant to most PHP users who don't
install extensions via PECL.

Nikita

---

## #80750 — Pierre Joye — 2015-01-18T16:59:45+00:00

URL: https://externals.io/message/80730#80750 · In reply to: #80746

> 
>
> > […]
>
> That's a good question. As far as I understand we still need PEAR because
> it also provides the PECL installer. So it would be good if the installer
> is fixed.

For pecl, we will propose to bundle pickle.phar, which basically
provides 100% bc for existing packages and allow much more, like
install from any URL/VCS based on composer, integration with composer
(composer will call pickle for any php-ext dep). Last but not least,
if one likes to drop "pecl install" support, he won't need to maintain
package.xml, duplicate versions, meta and co but only the sources,
config.* and README.

I am waiting for the discussions+RFC about how to deal with 5 and 7
extensions support. Once we have a decision we will implement what is
necessary for that in pickle.

For the ref here: https://github.com/FriendsOfPHP/pickle


Cheers,
-- 
Pierre

@pierrejoye | http://www.libgd.org

---

## #80773 — Stanislav Malyshev — 2015-01-19T06:58:17+00:00

URL: https://externals.io/message/80730#80773 · In reply to: #80730

Hi!

> Fatal error: Non-static method PEAR_Installer_Role::initializeConfig()
> cannot be called statically, assuming $this from incompatible context in
> phar:///.../pear/install-pear-nozlib.phar/PEAR/Config.php on line 599
> make[1]: *** [install-pear-installer] Error 255
> make: *** [install-pear] Error 2
> 
> I've tried to look up the pear MLs, but I haven't seen any recent
> activity... what's the plan, if any?

Can't we just fix it? As I understand, it's just making this:

    function initializeConfig(&$config)

into this:

    static function initializeConfig(&$config)

In PEAR/Installer/Role.php but I'm not sure where to commit the patch or
how to get it into phars (they don't seem to be the latest code in git).
Anybody knows what's the right way here?

-- 
Stas Malyshev
smalyshev@gmail.com

---

## #80789 — Derick Rethans — 2015-01-19T10:12:38+00:00

URL: https://externals.io/message/80730#80789 · In reply to: #80732

> Am 18.01.2015 um 09:40 schrieb Matteo Beccati:
> > […]
> 
>  Remove it?

Then how would you install extensions? As there is no finished 
alternative, PEAR still needs to work.

cheers,
Derick

---

## #80796 — Pierre Joye — 2015-01-19T10:39:17+00:00

URL: https://externals.io/message/80730#80796 · In reply to: #80789

>
> 
>
> > […]
>
> Then how would you install extensions? As there is no finished
> alternative, PEAR still needs to work.

There is, pickle. Pecl tgz or SRC install works out of the box already (or
from VCS), from pecl.php.net, etc.

Binaries install works too as well (windows).

The only reason we did not propose it yet is about which plan will be
chosen for php7 pecl releases and devs.

Cheers,
Pierre

---

## #80802 — Derick Rethans — 2015-01-19T11:09:35+00:00

URL: https://externals.io/message/80730#80802 · In reply to: #80796

> 
> > […]
> 
> There is, pickle. Pecl tgz or SRC install works out of the box already (or
> from VCS), from pecl.php.net, etc.

I know what pickle is. But as it's not bundled, it's not "finished" - 
exactly the reason why I used that word in my original reply. Please 
read what I write.

Derick

---

## #80815 — Pierre Joye — 2015-01-19T13:32:26+00:00

URL: https://externals.io/message/80730#80815 · In reply to: #80802

>
> 
>
> > […]
(or
> > […]
>
> I know what pickle is. But as it's not bundled, it's not "finished" -
> exactly the reason why I used that word in my original reply. Please
> read what I write.

Please do read what I wrote.

It is finished for what pecl provides. For developers and end users, and
with more.

The only open question is about what we want to do to maintain code base
for 5.x and 7.x. Branches will be a pain. We need to solve that and you,
along many, did not answer this question.

> Derick

---

## #80825 — Sebastian Bergmann — 2015-01-19T15:07:21+00:00

URL: https://externals.io/message/80730#80825 · In reply to: #80773

Am 19.01.2015 um 07:58 schrieb Stanislav Malyshev:
> Can't we just fix it? As I understand, it's just making this:
> 
>     function initializeConfig(&$config)
> 
> into this:
> 
>     static function initializeConfig(&$config)
> 
> In PEAR/Installer/Role.php but I'm not sure where to commit the patch or
> how to get it into phars (they don't seem to be the latest code in git).
> Anybody knows what's the right way here?

 I checked out pear/pear-core.git but cannot figure out how to run
 the test suite. Don't want to commit a change without running the
 tests ...

---

## #80827 — Xinchen Hui — 2015-01-19T15:15:17+00:00

URL: https://externals.io/message/80730#80827 · In reply to: #80825

Hey Pear core:


> Am 19.01.2015 um 07:58 schrieb Stanislav Malyshev:
> > […]
>
>  I checked out pear/pear-core.git but cannot figure out how to run
>  the test suite. Don't want to commit a change without running the
>  tests ...

maybe you should involved in recent changes which could impact PEAR?

thanks
>
>
> --
> 
> 
>



-- 
Xinchen Hui
@Laruence
http://www.laruence.com/

---

## #80828 — Ferenc Kovacs — 2015-01-19T15:16:35+00:00

URL: https://externals.io/message/80730#80828 · In reply to: #80825

On Mon, Jan 19, 2015 at 4:07 PM, Sebastian Bergmann <sebastian@php.net>
wrote:

> Am 19.01.2015 um 07:58 schrieb Stanislav Malyshev:
> > […]
>
>  I checked out pear/pear-core.git but cannot figure out how to run
>  the test suite. Don't want to commit a change without running the
>  tests ...
>
>
> --
> 
> 
>
>
I've started working on it already (had to fix pear-core for php 5.5, so I
have a bit experience with it).

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

---

## #80848 — Christian Weiske — 2015-01-19T20:56:45+00:00

URL: https://externals.io/message/80730#80848 · In reply to: #80827

Hello Xinchen,


> > […]

We have a "stable" branch that's up to date with the latest release
(1.9.5). You should use that to base your patch on.

-- 
Regards/Mit freundlichen Grüßen
Christian Weiske

-=≡ Geeking around in the name of science since 1982 ≡=

---

## #81162 — Ferenc Kovacs — 2015-01-26T13:54:23+00:00

URL: https://externals.io/message/80730#81162 · In reply to: #80848

On Mon, Jan 19, 2015 at 9:56 PM, Christian Weiske <cweiske@cweiske.de>
wrote:

> Hello Xinchen,
>
>
> > […]
>
> We have a "stable" branch that's up to date with the latest release
> (1.9.5). You should use that to base your patch on.
>
> --
> Regards/Mit freundlichen Grüßen
> Christian Weiske
>
> -=≡ Geeking around in the name of science since 1982 ≡=-
>

the issue is resolved for now: I've added a php7 compatible
pear/install-pear-nozlib.phar to the repo and opened a pull request with
the fixes to the pear guys to review/merge:
https://github.com/pear/pear-core/pull/33
as mentioned in another thread: this is just a temporary solution to fix
the immediate problem, and as discussed multiple times, PHP7 would be a
good time to revisit our strategy of bundling the pear/pecl installer with
the core.

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu
