lando / platformsh

The Official Platform.sh Lando Plugin
https://docs.lando.dev/platformsh
GNU General Public License v3.0
6 stars 4 forks source link

Errors were encountered while processing libc6:amd64 #23

Open aimfeld opened 2 years ago

aimfeld commented 2 years ago

With recent lando versions (e.g. 3.4.2, 3.4.3, 3.5.0), we get the following error (using platformsh recipe) when running lando rebuild (no difference with option Y or N):

Configuration file '/etc/ld.so.conf.d/x86_64-linux-gnu.conf'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** x86_64-linux-gnu.conf (Y/I/N/O/D/Z) [default=N] ? N
/usr/bin/perl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /usr/bin/perl)
dpkg: error processing package libc6:amd64 (--install):
 subprocess installed post-installation script returned error exit status 1
dpkg: libgcc1:amd64: dependency problems, but configuring anyway as you requested:
 libgcc1:amd64 depends on libc6 (>= 2.14); however:
  Package libc6:amd64 is not configured yet.

Setting up libgcc1:amd64 (1:6.3.0-18+deb9u1) ...
Errors were encountered while processing:
 libc6:amd64
ERROR ==> libc6:amd64 
Creating blueprint_mysql_1      ... done
Creating blueprint_cacheredis_1 ... done
Opening platform.sh containers... this may take a bit...
ERROR ==> /usr/bin/python2.7: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /usr/bin/python2.7) 

This is our stripped down lando.yaml:

name: blueprint
recipe: platformsh

services:
  surveylab:
    # Configure xdebug, see https://docs.lando.dev/config/php.html#configuration
    xdebug: "debug,develop"
    run:
      # Print deploy log, see https://github.com/cloud-solutions/blueprint/issues/583
      - cat /var/log/deploy.log

config:
  id: bftge3smv4qgi
  variables:
    surveylab:
      php:
        # Needed for debugging laminas-cli commands (not working).
        # xdebug.start_with_request: yes
  overrides:
    surveylab:
      runtime:
        extensions:
          - igbinary  # Required by redis, see https://github.com/lando/lando/issues/2788
          - redis
          - xdebug
          # Make xdebug work. Resources:
          # - https://docs.lando.dev/guides/lando-phpstorm.html
          # - https://untoldhq.com/blog/2019/08/02/when-lando-phpstorm-and-xdebug-setup-gets-hairy

env_file:
  - .env
aimfeld commented 2 years ago

I narrowed it down, this problem occurs with lando >= 3.4.2 (3.4.1 still works). As of 3.4.2, it tries to download install this package which seems to cause problems:

Opening platform.sh containers... this may take a bit...
Scanning to determine which services are ready... Please standby...
Manually Installing DPKG...
--2021-10-26 09:41:48--  http://ftp.us.debian.org/debian/pool/main/d/dpkg/dpkg_1.18.25_amd64.deb
Resolving ftp.us.debian.org (ftp.us.debian.org)... 64.50.233.100, 64.50.236.52, 208.80.154.15, ...
thasmo commented 2 years ago

We're experiencing the same issue after lando/lando#3169 being resolved now.

thasmo commented 2 years ago

So, it seems that when setting up a php:7.4 project, the manual installation of DPKG succeeds and it also installs various other packages.

Manually Installing gcc-6-base, libc6, & libgcc1 ...
Manually Installing perl-base ...
Manually Installing debconf ...
Manually Installing libssl1 ...

Setting up a php:8.0 project seems to first stop/pause on

Configuration file '/etc/ld.so.conf.d/x86_64-linux-gnu.conf'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** x86_64-linux-gnu.conf (Y/I/N/O/D/Z) [default=N] ?

and fail after choosing any option (as stated in the original issue description).

Installing new version of config file /etc/ld.so.conf.d/x86_64-linux-gnu.conf ...
/usr/bin/perl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /usr/bin/perl)
dpkg: error processing package libc6:amd64 (--install):
 subprocess installed post-installation script returned error exit status 1
dpkg: libgcc1:amd64: dependency problems, but configuring anyway as you requested:
 libgcc1:amd64 depends on libc6 (>= 2.14); however:
  Package libc6:amd64 is not configured yet.
Setting up libgcc1:amd64 (1:6.3.0-18+deb9u1) ...
Errors were encountered while processing:
 libc6:amd64

Afaik all platform.sh images are based on Debian, where the php:7.4 image is based on Debian 9 and the php:8.0 image is based on Debian 10.