- PHP 7.2.3 is for ARM
- PHP 7.2.24 is for x86
- But this applies correctly to all PHP packages.
Can you print:
dpkg --print-architecture
dpkg --print-foreign-architectures
dpkg -l 'php7.2-*'
Can you print:
dpkg --print-architecture
dpkg --print-foreign-architectures
dpkg -l 'php7.2-*'
Strange, in universe security repo and normal universe php7.2-intl with correct v7.2.24 is available with correct dependencies on php7.2-common v7.2.24, just checked.
Can you paste:
apt policy php-intl
apt policy php7.2-intl
php-intl:
Installed: (none)
Candidate: 1:7.2+60ubuntu1
Version table:
1:7.2+60ubuntu1 500
500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
--------------------------------------
php7.2-intl:
Installed: 7.2.3-1ubuntu1
Candidate: 7.2.3-1ubuntu1
Version table:
*** 7.2.3-1ubuntu1 500
500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
100 /var/lib/dpkg/status
Okay I justed checked the package lists for PHP common (in main) and intl (in universe) in default archive and security repo:
All of them contain the PHP 7.2.3 packages without exception, no 7.2.24 version at all!
The same time the package pools of all those repos contain the PHP 7.2.24 packages as well (beside the 7.2.3 ones) by filename for bionic 18.04, matching the php7.2-common version that is about to be pulled as above user posts:
I can only imagine that Ubuntu released the new version and then reverted the change due to issues, or such. And now local package lists or cache might contain inconsistent data.
Please try the following:
apt clean
rm -Rf /var/lib/apt/lists/* /var/cache/apt/*
apt update
apt install php-intl
and see if it now installs without the dependency error.
And last resort btw is to manipulate the installer a way that it has changed upstream already, sadly one day after Pi-hole v5 release: https://github.com/pi-hole/pi-hole/pull/3204
sed -i 's/php-intl/${phpVer}-intl/' /etc/.pihole/automated\ install/basic-install.sh
Since the php7.2-intl package is already installed on your system, with this change, no additional PHP package will be installed, hence no dependency error.
@MichaIng
I was now able to update to 5.0! Thank you so much for the help.
One final question. How do I change the Web Interface Version so its' not on vDev?
Great, which step solved it, cleaning the package lists already or did you need to run the sed command?
To migrate to stable/master branch actually pihole checkout master should do it.
I ran all the steps. However, no when I run "pihole checkout master" I get the same exact error!
Re-ran your steps above, but no dice this time.
Try to skip the apt install php-intl, instead purge it and install the package with php version inside only:
apt purge php-intl
apt clean
rm -Rf /var/lib/apt/lists/* /var/cache/apt/*
apt update
apt install php7.2-intl
sed -i 's/php-intl/${phpVer}-intl/' /etc/.pihole/automated\ install/basic-install.sh
pihole -up
Ah the checkout downloads and overrides the installer script so that it pulls php-intl again. So I guess this will not work until the next minor release contains the change.
This appears to have allowed me to go back on the master branch. Thanks again!
This fixed it for me
6
As it states in your error, you are having broken packages so in that case, you should try to fix it, probably following commands will fix them.
apt update
apt autoremove
Once you have fixed that issue, you can try executing following commands if you have not added ondrej PPA:
add-apt-repository -y ppa:ondrej/php
apt install php7.2 php7.2-intl
pihole -up to finished and this time should complete successfully.
Applying Ondrejs repo will re-introduce this error with current Pi-hole version as fast as the installer/updater/repair is called. The issue is that pulling the meta package (php-intl) pulls the php7.4-intl package when Ondrejs repo is used. So your suggestion should only be done it PHP7.4 is wanted (and I am not sure if Pi-hole has been proven fully PHP7.4 compatible?) and not other PHP version is installed yet.
Next Pi-hole version contains a fix that pulls the intl package version that matches the currently installed PHP, so then Ondrejs repo does not fix anything but will also not break anything.
Your right i realised later today that the web gui had stopped to and now not working at all. Had to unistall completely till I can fix it. Liked the look of the new graphics while it lasted. Shame never had issues with it before this.
The step I posted above fixes the installer:
sed -i 's/php-intl/${phpVer}-intl/' /etc/.pihole/automated\ install/basic-install.sh
With this it will not pull a different PHP version if one is installed already. Then Ondrejs repo can nicely be used to experiment with PHP7.4 or simply to have newer package versions compared to stock Debian/Ubuntu
.