Libssl1.0.0 package issue on Ubuntu 14.04

We have a build script that 1) used to work on CircleCI 1.0 and 2) still works in Ubuntu 14.04 Trusty when I spin up a fresh instance in AWS. I cannot figured out how to fix my problem in CircleCI 2.0.

The beginning of the build script installs an openly accessible tool called parity. It looks something like this:

#!/usr/bin/env bash

# exit with non-zero, if any line in this script fails
set -e

sudo apt-get update -y
sudo apt-get install curl expect -y

echo "Downloading and installing parity"

PARITY_DEB_URL=http://d1h4xl4cr1h0mo.cloudfront.net/v1.5.1/x86_64-unknown-linux-gnu/parity_1.5.1_amd64.deb
file=/tmp/parity.deb

curl -L ${PARITY_DEB_URL} > $file
sudo dpkg -i $file
rm $file

echo "Downloading and installing parity... done"

The error occurs on the sudo dpkg -i and seems very clear:

dpkg: dependency problems prevent configuration of parity:
 parity depends on libssl1.0.0 (>= 1.0.0); however:
  Package libssl1.0.0 is not installed.

When I look at the Ubuntu 14.04 Build Image Updates, libssl1.0.0 is an included library and like I mentioned, this used to work just fine.

Any idea what’s going on? Thanks very much!

Are you using the machine executor or docker in your 2.0 config?

docker. Here is the CircleCI 2.0 file for reference…

# Java Gradle CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-java/ for more details
#
version: 2
jobs:
  build:
    docker:
      # specify the version you desire here
      - image: circleci/openjdk:8-jdk

      # Specify service dependencies here if necessary
      # CircleCI maintains a library of pre-built images
      # documented at https://circleci.com/docs/2.0/circleci-images/
      # - image: circleci/postgres:9.4

    working_directory: ~/repo

    environment:
      # Customize the JVM maximum heap limit
      JVM_OPTS: -Xmx3200m
      TERM: dumb


    steps:
      - checkout

      # Download and cache dependencies
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "build.gradle" }}
          # fallback to using the latest cache if no exact match is found
          - v1-dependencies-

      - run: ./circleci-chain-init.sh

      - run: gradle dependencies

      - save_cache:
          paths:
            - ~/.m2
          key: v1-dependencies-{{ checksum "build.gradle" }}

      # run tests!
      - run: gradle test

That docker image isn’t using Ubuntu. It’s a Debian stretch image. It looks like an issue with parity running on that version of Debian. You can read more about it on their github page.

https://github.com/paritytech/parity/issues/5893
https://github.com/paritytech/parity/pull/4260