Azure-pipelines-agent: installdependencies.sh fails on Ubuntu 20.04

Created on 2 May 2020  路  7Comments  路  Source: microsoft/azure-pipelines-agent

Agent Version and Platform

2.168.0
Ubuntu 20.04 LTS

What's not working?

The installdependencies.sh script fails because it tries to install outdated dependencies.

Agent and Worker's Diagnostic Logs

--------OS Information--------
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
------------------------------
The current OS is Debian based
--------Debian Version--------
bullseye/sid
------------------------------
/usr/bin/apt

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [106 kB]
Get:3 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
Get:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease [89.2 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [11.3 MB]
Get:6 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [177 kB]
Get:7 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages [1275 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal/restricted amd64 Packages [33.4 kB]
Get:9 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [14.1 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [3190 B]
Get:11 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [42.7 kB]
Get:12 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [3717 B]
Get:13 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [35.3 kB]
Get:14 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [3190 B]
Fetched 13.5 MB in 2s (6561 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
All packages are up to date.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
libkrb5-3 is already the newest version (1.17-6ubuntu4).
libkrb5-3 set to manually installed.
zlib1g is already the newest version (1:1.2.11.dfsg-2ubuntu1).
The following additional packages will be installed:
  liblttng-ust-ctl4 libnuma1 liburcu6
The following NEW packages will be installed:
  liblttng-ust-ctl4 liblttng-ust0 libnuma1 liburcu6
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 316 kB of archives.
After this operation, 1583 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libnuma1 amd64 2.0.12-1 [20.8 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 liblttng-ust-ctl4 amd64 2.11.0-1 [80.9 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 liburcu6 amd64 0.11.1-2 [54.2 kB]
Get:4 http://archive.ubuntu.com/ubuntu focal/main amd64 liblttng-ust0 amd64 2.11.0-1 [160 kB]
Fetched 316 kB in 0s (1969 kB/s)
Selecting previously unselected package libnuma1:amd64.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 9564 files and directories currently installed.)
Preparing to unpack .../libnuma1_2.0.12-1_amd64.deb ...
Unpacking libnuma1:amd64 (2.0.12-1) ...
Selecting previously unselected package liblttng-ust-ctl4:amd64.
Preparing to unpack .../liblttng-ust-ctl4_2.11.0-1_amd64.deb ...
Unpacking liblttng-ust-ctl4:amd64 (2.11.0-1) ...
Selecting previously unselected package liburcu6:amd64.
Preparing to unpack .../liburcu6_0.11.1-2_amd64.deb ...
Unpacking liburcu6:amd64 (0.11.1-2) ...
Selecting previously unselected package liblttng-ust0:amd64.
Preparing to unpack .../liblttng-ust0_2.11.0-1_amd64.deb ...
Unpacking liblttng-ust0:amd64 (2.11.0-1) ...
Setting up libnuma1:amd64 (2.0.12-1) ...
Setting up liburcu6:amd64 (0.11.1-2) ...
Setting up liblttng-ust-ctl4:amd64 (2.11.0-1) ...
Setting up liblttng-ust0:amd64 (2.11.0-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
Package libcurl3 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libcurl4

E: Package 'libcurl3' has no installation candidate

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
libcurl4 is already the newest version (7.68.0-1ubuntu2).
libcurl4 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
Package libssl1.0.0 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libssl1.0.0' has no installation candidate

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
Package libssl1.0.2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libssl1.0.2' has no installation candidate

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
libssl1.1 is already the newest version (1.1.1f-1ubuntu2).
libssl1.1 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu52

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu55

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu57

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu60

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
'apt' failed with exit code '0'
Can't install dotnet core dependencies.
You can manually install all required dependencies based on following documentation
https://docs.microsoft.com/en-us/dotnet/core/dependencies?pivots=os-linux&tabs=netcore31
E: Unable to locate package libicu63


ABTT bug no-stale

Most helpful comment

@anatolybolshakov This would be a good one to prioritize. The script needs to work correctly on 20.04, but more generally we need to flesh out our ability to verify changes to it and rethink the general approach of the script.

All 7 comments

Any plans when to support this?

installdependencies.sh doesn't even work right on Ubuntu 18.04. Everything is installed backwards on it.
It starts by trying to install the older package first, then the newer package. This is regressive behavior.

On Ubunt 18.04 (and I assume 20.04 as well) older packages exist, but most system utilities are compiled against the newer packages.

As an example. If you install curl, then you run installdependencies.sh, it will uninstall libcurl4 and curl, then install libcurl3, when it would have been just fine with libcurl4 in the first place.

This issue has had no activity in 180 days. Please comment if it is not actually stale

@anatolybolshakov This would be a good one to prioritize. The script needs to work correctly on 20.04, but more generally we need to flesh out our ability to verify changes to it and rethink the general approach of the script.

Created PR

Hi everyone, we have rolled out the fix for this issue, so I'm closing it at the moment - please let us know if you still have any questions.

Was this page helpful?
0 / 5 - 0 ratings