# Broken apps

- Thread: https://externals.io/message/80782
- Original archive: https://news-web.php.net/php.internals/80782
- Started by Dmitry Stogov on 2015-01-19T09:49:43+00:00
- Messages: 19
- 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

---

## #80782 — Dmitry Stogov — 2015-01-19T09:49:43+00:00

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

Despite of PEAR, I also found few other apps, from my usual test list,
broken - Typo3, Xoops, SugarCRM.
Magento is broken long time ago by "unified variable syntax".

I'm really unhappy with this direction...

Thanks. Dmitry.



> PEAR is broken. "make install" doesn't work.
>
> Thanks. Dmitry.
>
> 
>
> > […]

---

## #80787 — Pierre Joye — 2015-01-19T10:11:45+00:00

URL: https://externals.io/message/80782#80787 · In reply to: #80782

>
> Despite of PEAR, I also found few other apps, from my usual test list,
> broken - Typo3, Xoops, SugarCRM.
> Magento is broken long time ago by "unified variable syntax".
>
> I'm really unhappy with this direction...

I have concerns too. I am not saying we should do it but we should be very
careful about the impact. Right now we shoot in the dark.

Some blocking bugs have been fixed in master (thanks!), that allows us to
launch again our tests suite against master (it uses a good dozen apps,
units tests and real life scenarios). That should give us a better view and
some warnings if we do change breaking too many things out there with no
gain but cleanness or purity.

> Thanks. Dmitry.
>
> 
>
> > […]
http://git.php.net/?p=php-src.git;a=commitdiff;h=dc9991b167533c7ee13ff96da6048988e6e31bc2
> > […]

---

## #80790 — Dmitry Stogov — 2015-01-19T10:24:56+00:00

URL: https://externals.io/message/80782#80790 · In reply to: #80782

There are also a number of tests started to fail since last Friday

> testing integer overflow (32bit) [Zend/tests/oct_overflow_32bit.phpt]
> Test `fscanf()` function: usage variations - hexa formats with integer
values [ext/standard/tests/file/fscanf_variation33.phpt]
> Test `fscanf()` function: usage variations - unsigned int formats with
integer values [ext/standard/tests/file/fscanf_variation39.phpt]
> Test `fscanf()` function: usage variations - float formats with integer
values [ext/standard/tests/file/fscanf_variation9.phpt]
> Test `intval()` function [ext/standard/tests/general_functions/intval.phpt]
> Test `is_int()` & it's FALIASes: `is_long()` & `is_integer()` functions
[ext/standard/tests/general_functions/is_int.phpt]
> Test `printf()` function : basic functionality - octal format
[ext/standard/tests/strings/printf_basic8.phpt]

Thanks. Dmitry.



> Despite of PEAR, I also found few other apps, from my usual test list,
> broken - Typo3, Xoops, SugarCRM.
> Magento is broken long time ago by "unified variable syntax".
>
> I'm really unhappy with this direction...
>
> Thanks. Dmitry.
>
> 
>
> > […]

---

## #80792 — Dmitry Stogov — 2015-01-19T10:26:47+00:00

URL: https://externals.io/message/80782#80792 · In reply to: #80787

hi Pierre,

please send your test results when they available.

Thanks. Dmitry.





>
> 
> > […]
>
> I have concerns too. I am not saying we should do it but we should be very
> careful about the impact. Right now we shoot in the dark.
>
> Some blocking bugs have been fixed in master (thanks!), that allows us to
> launch again our tests suite against master (it uses a good dozen apps,
> units tests and real life scenarios). That should give us a better view and
> some warnings if we do change breaking too many things out there with no
> gain but cleanness or purity.
>
> > […]
> http://git.php.net/?p=php-src.git;a=commitdiff;h=dc9991b167533c7ee13ff96da6048988e6e31bc2
> > […]

---

## #80793 — Andrea Faulds — 2015-01-19T10:28:36+00:00

URL: https://externals.io/message/80782#80793 · In reply to: #80790

Hi Dmitry,

> 
> 
> There are also a number of tests started to fail since last Friday
> 
> > […]
> values [ext/standard/tests/file/fscanf_variation33.phpt]
> > […]
> integer values [ext/standard/tests/file/fscanf_variation39.phpt]
> > […]
> values [ext/standard/tests/file/fscanf_variation9.phpt]
> > […]
> [ext/standard/tests/general_functions/is_int.phpt]
> > […]
> [ext/standard/tests/strings/printf_basic8.phpt]

That’ll be my fault, I must have missed them when I committed the octal fix. I’ll fix them later today.

Thanks.
--
Andrea Faulds
http://ajf.me/

---

## #80799 — Sebastian Bergmann — 2015-01-19T10:51:17+00:00

URL: https://externals.io/message/80782#80799 · In reply to: #80782

Am 19.01.2015 um 10:49 schrieb Dmitry Stogov:
> Despite of PEAR, I also found few other apps, from my usual test list,
> broken - Typo3, Xoops, SugarCRM.
> Magento is broken long time ago by "unified variable syntax".

 The vendors of these applications have time to become compatible
 with PHP 7 until PHP 7 is released.

---

## #80800 — Sebastian Bergmann — 2015-01-19T10:51:17+00:00

URL: https://externals.io/message/80782#80800 · In reply to: #80782

Am 19.01.2015 um 10:49 schrieb Dmitry Stogov:
> Despite of PEAR, I also found few other apps, from my usual test list,
> broken - Typo3, Xoops, SugarCRM.
> Magento is broken long time ago by "unified variable syntax".

 The vendors of these applications have time to become compatible
 with PHP 7 until PHP 7 is released.

---

## #80813 — Ferenc Kovacs — 2015-01-19T13:25:23+00:00

URL: https://externals.io/message/80782#80813 · In reply to: #80782

> Despite of PEAR, I also found few other apps, from my usual test list,
> broken - Typo3, Xoops, SugarCRM.
> Magento is broken long time ago by "unified variable syntax".
>
> I'm really unhappy with this direction...
>
> Thanks. Dmitry.
>
>
I guess you already reported it to the pear guys, but just to be sure:
Tyrael | [17:17:14] laruence: you can ask the guys at #pear or simply
report the problem
Tyrael | [17:28:27] on github
Tyrael | [17:28:52] https://github.com/pear/pear-core
Tyrael | [17:35:55] as far as I can see all of the methods in
https://github.com/pear/pear-core/blob/06b171273752dc2012018067a3a3dd3505cb9c51/PEAR/Installer/Role.php
should be changed into static
Tyrael | [17:36:09] they are all called statically

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

---

## #80818 — Nikita Popov — 2015-01-19T14:15:57+00:00

URL: https://externals.io/message/80782#80818 · In reply to: #80782

> Despite of PEAR, I also found few other apps, from my usual test list,
> broken - Typo3, Xoops, SugarCRM.
> Magento is broken long time ago by "unified variable syntax".
>
> I'm really unhappy with this direction...
>
> Thanks. Dmitry.
>

I've decided to revert the $this change for now, so make install works and
we can continue testing applications that haven't been fixed yet. We can
reapply this a bit later.

Nikita

---

## #80826 — Rowan Collins — 2015-01-19T15:13:54+00:00

URL: https://externals.io/message/80782#80826 · In reply to: #80813

Ferenc Kovacs wrote on 19/01/2015 13:25:
> 
>
> > […]
> I guess you already reported it to the pear guys, but just to be sure:
> Tyrael | [17:17:14] laruence: you can ask the guys at #pear or simply
> report the problem
> Tyrael | [17:28:27] on github
> Tyrael | [17:28:52] https://github.com/pear/pear-core
> Tyrael | [17:35:55] as far as I can see all of the methods in
> https://github.com/pear/pear-core/blob/06b171273752dc2012018067a3a3dd3505cb9c51/PEAR/Installer/Role.php
> should be changed into static
> Tyrael | [17:36:09] they are all called statically
>

Hm, I wasn't aware quite how strict this change was - I'm definitely on 
board with not allowing $this from an incompatible context, but thought 
it would only be access to $this that was made illegal, not the call 
itself.  HHVM takes the approach of simply leaving $this undefined, but 
appears to special case get_class($this). http://3v4l.org/gKWBD 
http://3v4l.org/0gabo

Note that all the methods in that class are actually annotated as static 
using PHPDoc, but the file is annotated as compatible with both PHP 4 
and 5. I suspect that there will be a lot of cases like this, where the 
methods are fully static, just not declared with the keyword (for 
compatibility with older versions, or just laziness); there is no risk 
of "$this from incompatible context" there.

Regards,
-- 
Rowan Collins
[IMSoP]

---

## #80829 — Xinchen Hui — 2015-01-19T15:17:51+00:00

URL: https://externals.io/message/80782#80829 · In reply to: #80818

Hey:


> 
>
> > […]
>
> I've decided to revert the $this change for now, so make install works and
> we can continue testing applications that haven't been fixed yet. We can
> reapply this a bit later.
actually, it still fails with:

Fatal error: Call to undefined function set_magic_quotes_runtime() in
phar:///home/huixinchen/opensource/trunk/pear/install-pear-nozlib.phar/PEAR/Config.php
on line 1026
make[1]: *** [install-pear-installer] Error 255
make: *** [install-pear] Error 2

:<

thanks
>
> Nikita



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

---

## #80847 — Stanislav Malyshev — 2015-01-19T19:42:24+00:00

URL: https://externals.io/message/80782#80847 · In reply to: #80826

Hi!

> Hm, I wasn't aware quite how strict this change was - I'm definitely on
> board with not allowing $this from an incompatible context, but thought
> it would only be access to $this that was made illegal, not the call
> itself.  HHVM takes the approach of simply leaving $this undefined, but
> appears to special case get_class($this). http://3v4l.org/gKWBD
> http://3v4l.org/0gabo

I think this is maybe what we should do, just make this another static
call and ignore/null out $this if the context is not compatible.

-- 
Stas Malyshev
smalyshev@gmail.com

---

## #80859 — Andrea Faulds — 2015-01-20T05:55:34+00:00

URL: https://externals.io/message/80782#80859 · In reply to: #80793

Hi again,

> 
> 
> > […]
> 
> That’ll be my fault, I must have missed them when I committed the octal fix. I’ll fix them later today.

I’ve fixed these, sorry about that.

We really should set up a 32-bit build on Travis to catch these sorts of issues… it’s my fault this slipped through, but it would be easier to catch if Travis did 32-bit builds.

Thanks.
--
Andrea Faulds
http://ajf.me/

---

## #80870 — Ferenc Kovacs — 2015-01-20T10:24:28+00:00

URL: https://externals.io/message/80782#80870 · In reply to: #80859

> Hi again,
>
> > […]
> [ext/standard/tests/general_functions/intval.phpt]
> > […]
> fix. I’ll fix them later today.
>
> I’ve fixed these, sorry about that.
>
> We really should set up a 32-bit build on Travis to catch these sorts of
> issues… it’s my fault this slipped through, but it would be easier to catch
> if Travis did 32-bit builds.
>
>
unfortunatelly travis doesn't provide 32bit worker(otherwise we would be
using them already), my attempt to set up multiarch compilation failed
(because hitting into a number of packages not having proper multiarch
support): https://github.com/Tyrael/php-src/commits/travis_ia32_2nd_attempt
I guess it would be better to have a working 32bit build without the
extensions with the problematic dependencies, I will create a PR with that
soon.

ps: btw. similar status with the osx builds, the build on those workers are
noticeably slower and doing a build with the same number of exts makes it
go over the 50 minutes hard limit set by travis, which fails the build, I
will shave off some exts from the osx build so it can finish in time.

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

---

## #81123 — Lester Caine — 2015-01-25T12:51:31+00:00

URL: https://externals.io/message/80782#81123 · In reply to: #80829

> actually, it still fails with:
> 
> Fatal error: Call to undefined function set_magic_quotes_runtime() in
> phar:///home/huixinchen/opensource/trunk/pear/install-pear-nozlib.phar/PEAR/Config.php
> on line 1026
> make[1]: *** [install-pear-installer] Error 255
> make: *** [install-pear] Error 2

Anything been done about this?

I'm getting it as Fatal error: Call to undefined function
set_magic_quotes_runtime() in
phar:///srv/repo/php-src_master/pear/install-pear-nozlib.phar/PEAR/DependencyDB.php
on line 581

Starting from a clean checkout from github - git.php.net would not let
me clone - now have a local copy running on mecurial

Have got as far as
./configure --enable-fpm --prefix=/opt/php7 --enable-shared=yes
--enable-static=no

Trying to build php7 php-fpm to go with nginx ... to mirror the php5 setup.

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk

---

## #81124 — Matteo Beccati — 2015-01-25T13:52:15+00:00

URL: https://externals.io/message/80782#81124 · In reply to: #81123

> 
> > […]
>
> Anything been done about this?
>
> I'm getting it as Fatal error: Call to undefined function
> set_magic_quotes_runtime() in
> phar:///srv/repo/php-src_master/pear/install-pear-nozlib.phar/PEAR/DependencyDB.php
> on line 581

Not yet. For now, use --without-pear.


Cheers
-- 
Matteo Beccati

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

---

## #81125 — Nikita Popov — 2015-01-25T13:53:10+00:00

URL: https://externals.io/message/80782#81125 · In reply to: #81123

> 
> > […]
> phar:///home/huixinchen/opensource/trunk/pear/install-pear-nozlib.phar/PEAR/Config.php
> > […]
>
> Anything been done about this?
>
> I'm getting it as Fatal error: Call to undefined function
> set_magic_quotes_runtime() in
>
> phar:///srv/repo/php-src_master/pear/install-pear-nozlib.phar/PEAR/DependencyDB.php
> on line 581
>
> Starting from a clean checkout from github - git.php.net would not let
> me clone - now have a local copy running on mecurial
>
> Have got as far as
> ./configure --enable-fpm --prefix=/opt/php7 --enable-shared=yes
> --enable-static=no
>
> Trying to build php7 php-fpm to go with nginx ... to mirror the php5 setup.
>

I've just updated configure.in to disable PEAR by default. You'll have to
run ./buildconf for this to take effect. Alternatively you can
./config.nice --without-pear.

Nikita

---

## #81126 — Lester Caine — 2015-01-25T14:18:20+00:00

URL: https://externals.io/message/80782#81126 · In reply to: #81124

> Not yet. For now, use --without-pear.

Just for the record ... There have been various comments about PEAR's
future. There is a substantial base of code using it. However the
versions downloaded direct may not actually be usable currently so some
plan to make that code base usable again probably needs to be on the
PHP7 todo list?

I will cross check the PEAR modules I am currently using when I get that
far since they have already been made e_strict clean.

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk

---

## #81131 — Ferenc Kovacs — 2015-01-25T16:32:11+00:00

URL: https://externals.io/message/80782#81131 · In reply to: #81126

> 
> > […]
>
> Just for the record ... There have been various comments about PEAR's
> future. There is a substantial base of code using it. However the
> versions downloaded direct may not actually be usable currently so some
> plan to make that code base usable again probably needs to be on the
> PHP7 todo list?
>
> I will cross check the PEAR modules I am currently using when I get that
> far since they have already been made e_strict clean.
>
> --
> Lester Caine - G8HFL
> -----------------------------
> Contact - http://lsces.co.uk/wiki/?page=contact
> L.S.Caine Electronic Services - http://lsces.co.uk
> EnquirySolve - http://enquirysolve.com/
> Model Engineers Digital Workshop - http://medw.co.uk
> Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
>
> --
> 
> 
>
>
I've added a PR for pear-core(https://github.com/pear/pear-core/pull/33),
with those fixes I was able to build a install-pear-nozlib.phar which when
copied to php-src/pear/ made make install without error (and I was able to
install pear/pecl packages so it seems to be working fine)
As I mentioned in the PR, I think it is likely that we will be other
upcoming BC breaks requiring changes in PEAR, so instead of requiring a
PEAR release and rebuilding http://pear.php.net/install-pear-nozlib.phar I
would suggest having a php7 compatible install-pear-nozlib.phar committed
to php-src for now (until we have release freeze with php7).
What do you think?

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