To run tests on ppc64 and ppc64el, this patch install cross building packages for both architectures on the Debian image, these packages will be install every time the CI triggered. A proper fix would be to install these packages to the image directly. This patch follows a different approach to get access LD shared library for qemu. Other architectures install native libc6 packages while both ppc64 and ppc64el install cross libc6 packages and export QEMU_LD_PREFIX to point to LD path which is more reasonable.
.gitlab-ci.yml | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9f3b5c63..7f12ecfa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -139,6 +139,11 @@ Debian.cross.x86: before_script: # remove any previously installed nettle headers to avoid conflicts - for arch in armhf mips arm64;do apt-get remove -y nettle-dev:$arch;done + - host="${CI_JOB_NAME#*.cross.}" + - if [ "$host" == "powerpc64-linux-gnu" ];then apt-get update && apt-get install -y gcc-$host && + apt-get install -y g++-$host && apt-get install -y libstdc++6-ppc64-cross && export QEMU_LD_PREFIX=/usr/$host;fi + - if [ "$host" == "powerpc64le-linux-gnu" ];then apt-get update && apt-get install -y gcc-$host && + apt-get install -y g++-$host && apt-get install -y libstdc++6-ppc64el-cross && export QEMU_LD_PREFIX=/usr/$host;fi script: - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE) - host="${CI_JOB_NAME#*.cross.}" @@ -162,3 +167,7 @@ Debian.cross.mips-linux-gnu: <<: *Debian_cross_template Debian.cross.aarch64-linux-gnu: <<: *Debian_cross_template +Debian.cross.powerpc64-linux-gnu: + <<: *Debian_cross_template +Debian.cross.powerpc64le-linux-gnu: + <<: *Debian_cross_template