New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 621694 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

blink layout tests lack support for php7 on Ubuntu 16.04 xenial

Reported by jwo...@igalia.com, Jun 20 2016

Issue description

php5 has been replaced by php7 in Ubuntu 16.04 xenial. Although `build/install-build-deps.sh` is aware of this, it seems none of the other infrastructure will work with php7. Notably, `third_party/WebKit/LayoutTests/http/conf/debian-httpd-2.4.conf` hardcodes "php5", and causes an error when running `run-webkit-tests`:


jwolfe@jwolfe-desktop:~/chromium/src$ time python third_party/WebKit/Tools/Scripts/run-webkit-tests -t Release
...
Starting HTTP server ...apache2: Syntax error on line 30 of /home/jwolfe/chromium/src/third_party/WebKit/LayoutTests/http/conf/debian-httpd-2.4.conf: Cannot load modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory


I can work around this issue locally by editing third_party/WebKit/LayoutTests/http/conf/debian-httpd-2.4.conf and replacing "libphp5.so" with "libphp7.0.so" and all remaining occurrences "php5" with "php7".
 
Cc: thestig@chromium.org thomasanderson@chromium.org qyears...@chromium.org krasin@chromium.org tansell@chromium.org
Components: Blink>Infra
For the record this is the related WebKit/EFL bug: https://bugs.webkit.org/show_bug.cgi?id=158141 ([EFL] Layout Test doesn't run on Ubuntu 16.04).
I believe that this year, more people will be switching to 16.04, so this will be an issue for most people.

The most obvious change would be to add a check and use php7 if available and otherwise fall back to php5.

Meanwhile, if all layout tests that use PHP could be changed to use wptserve (issue 347864), then that would also solve this issue.

Comment 4 by rob@robwu.nl, Oct 22 2016

The same happens on ArchLinux.

The upstream bug at WebKit has been resolved. Those who are interested in fixing the issue in Ubuntu can test the patches and submit a CL if it also works in Chromium/Blink.

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b4501f1a7771e0d22074e30ab3be3a9626adcd9e

commit b4501f1a7771e0d22074e30ab3be3a9626adcd9e
Author: rob <rob@robwu.nl>
Date: Wed Oct 26 21:17:39 2016

Change ArchLinux httpd config to php7 (from php5)

ArchLinux's default PHP version is now PHP 7 instead of 5.
This must be installed using:
sudo pacman -S php-apache

BUG= 621694 
TEST=Before this patch, run-webkit-tests did not work, after this patch it does.

Review-Url: https://codereview.chromium.org/2444633002
Cr-Commit-Position: refs/heads/master@{#427796}

[modify] https://crrev.com/b4501f1a7771e0d22074e30ab3be3a9626adcd9e/third_party/WebKit/LayoutTests/http/conf/arch-httpd-2.4.conf

I didn't properly understand how it was fixed for WebKit, but it looks like it wouldn't work the same way, since we don't have a Tools/efl or Tools/gtk with an install-dependencies script.

My initial idea about how this might be solved would be to modify Port._apache_config_file_name_for_platform (at https://cs.chromium.org/chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py?l=1542), so that it returns a different config file for Ubuntu 16.04 Xenial, and in that config file it would 

I can work around this issue locally by editing third_party/WebKit/LayoutTests/http/conf/debian-httpd-2.4.conf and replacing "libphp5.so" with "libphp7.0.so" and all remaining occurrences "php5" with "php7".

In order to do this, Tools/Scripts/webkitpy/common/system/platforminfo.py might need to be changed so that we can get the Ubuntu version?
What do you think of the following [1]?
It works for me on Debian Stretch.
I expect it will work on all current Debian and Ubuntu versions.

[1] https://codereview.chromium.org/2502893002
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a13cddf67f1d46f26103cc2f6704086d9d9a812e

commit a13cddf67f1d46f26103cc2f6704086d9d9a812e
Author: jack <jack@nottheoilrig.com>
Date: Wed Nov 16 17:40:41 2016

Update Debian and Ubuntu Apache configuration.

Support PHP 7 for Stretch, Xenial and later,
and version 5 for Jessie, Wily and earlier.

BUG= 621694 

Review-Url: https://codereview.chromium.org/2502893002
Cr-Commit-Position: refs/heads/master@{#432542}

[modify] https://crrev.com/a13cddf67f1d46f26103cc2f6704086d9d9a812e/AUTHORS
[modify] https://crrev.com/a13cddf67f1d46f26103cc2f6704086d9d9a812e/third_party/WebKit/Tools/Scripts/apache_config/debian-httpd-2.4.conf

Comment 9 by jwo...@igalia.com, Nov 16 2016

This seems to work for me now. I don't need the workaround in my httpd conf I mentioned in Comment 0.

About 40 tests are still failing on my system, but that's probably due to https://bugs.chromium.org/p/chromium/issues/detail?id=624091 . This is an improvement from 100% of the tests failing. :)
Status: Fixed (was: Unconfirmed)
Excellent, thanks jack@nottheoilrig.com :-D

Sign in to add a comment