From 2c81b4957f7317d846882958ebac7bf924a8c51c Mon Sep 17 00:00:00 2001 From: Jean-Christophe Fillion-Robin Date: Mon, 18 Apr 2016 23:37:20 -0400 Subject: [PATCH] linux-ppc64le: Specify system processor and fix library finding. This commit updates the toolchain to ensure libraries associated with ppc64le can be found. Since the libraries are all installed on the system and not in dedicated root, FIND_ROOT_PATH should *not* be specified. --- linux-ppc64le/Dockerfile | 6 +++++- linux-ppc64le/Toolchain.cmake | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/linux-ppc64le/Dockerfile b/linux-ppc64le/Dockerfile index a85a3c1..802444b 100644 --- a/linux-ppc64le/Dockerfile +++ b/linux-ppc64le/Dockerfile @@ -8,7 +8,11 @@ RUN echo "deb http://emdebian.org/tools/debian/ jessie main" >> /etc/apt/sources RUN apt-get update && apt-get install -y \ crossbuild-essential-ppc64el \ - gfortran-powerpc64le-linux-gnu + gfortran-powerpc64le-linux-gnu \ + libbz2-dev:ppc64el \ + libexpat1-dev:ppc64el \ + ncurses-dev:ppc64el \ + libssl-dev:ppc64el WORKDIR /usr/src diff --git a/linux-ppc64le/Toolchain.cmake b/linux-ppc64le/Toolchain.cmake index a8f9ba9..69e1a95 100644 --- a/linux-ppc64le/Toolchain.cmake +++ b/linux-ppc64le/Toolchain.cmake @@ -1,5 +1,6 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) +set(CMAKE_SYSTEM_PROCESSOR ppc64le) set(cross_triple "powerpc64le-linux-gnu") @@ -7,9 +8,8 @@ set(CMAKE_C_COMPILER /usr/bin/${cross_triple}-cc) set(CMAKE_CXX_COMPILER /usr/bin/${cross_triple}-c++) set(CMAKE_Fortran_COMPILER /usr/bin/${cross_triple}-gfortran) -set(CMAKE_FIND_ROOT_PATH /usr/${cross_triple}) -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +# Discard path returned by pkg-config and associated with HINTS in module +# like FindOpenSSL. +set(CMAKE_IGNORE_PATH /usr/lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/lib/) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-ppc64le)