Libssl1.0.0 package issue on Ubuntu 14.04

build-image

#1

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!


#2

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


#3

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

#4

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


#5