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