Switch dockerfile over from hysds image to ubuntu 20.04
parent
a7ea79807d
commit
b59c53f4df
|
@ -24,7 +24,7 @@ jobs:
|
|||
mkdir config build install
|
||||
. /opt/conda/bin/activate root
|
||||
conda install -y cython gdal h5py libgdal pytest numpy fftw scipy scons hdf4 hdf5 libgcc libstdcxx-ng cmake astropy pybind11
|
||||
yum install -y x11-devel motif-devel jq gcc-gfortran opencv opencv-devel opencv-python
|
||||
yum install -y libX11-devel motif-devel jq gcc-gfortran opencv-core
|
||||
|
||||
- run:
|
||||
name: Build and Install ISCE
|
||||
|
@ -82,7 +82,7 @@ jobs:
|
|||
mkdir config build install
|
||||
. /opt/conda/bin/activate root
|
||||
conda install --yes cython gdal h5py libgdal pytest numpy fftw scipy scons hdf4 hdf5 libgcc libstdcxx-ng cmake astropy pybind11
|
||||
yum install -y uuid-devel x11-devel motif-devel jq gcc-gfortran opencv opencv-devel opencv-python
|
||||
yum install -y libuuid-devel libX11-devel motif-devel jq gcc-gfortran opencv-core
|
||||
ln -s /opt/conda/bin/cython /opt/conda/bin/cython3
|
||||
cd /opt/conda/lib
|
||||
unlink libuuid.so
|
||||
|
|
|
@ -1,115 +1,66 @@
|
|||
FROM hysds/dev:latest
|
||||
FROM ubuntu:20.04 as builder
|
||||
|
||||
# Set an encoding to make things work smoothly.
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV TZ US/Pacific
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Set ISCE repo
|
||||
ENV ISCE_ORG isce-framework
|
||||
|
||||
# set to root user
|
||||
USER root
|
||||
|
||||
# install tools for RPM generation
|
||||
RUN set -ex \
|
||||
&& yum update -y \
|
||||
&& yum groupinstall -y "development tools" \
|
||||
&& yum install -y \
|
||||
make ruby-devel rpm-build rubygems \
|
||||
&& gem install ffi -v 1.12.2 \
|
||||
&& gem install --no-ri --no-rdoc fpm -v 1.11.0
|
||||
|
||||
# install isce requirements
|
||||
RUN set -ex \
|
||||
&& . /opt/conda/bin/activate root \
|
||||
&& conda install --yes \
|
||||
cython \
|
||||
gdal \
|
||||
git \
|
||||
h5py \
|
||||
libgdal \
|
||||
pytest \
|
||||
numpy \
|
||||
fftw \
|
||||
scipy \
|
||||
scons \
|
||||
hdf4 \
|
||||
hdf5 \
|
||||
libgcc \
|
||||
libstdcxx-ng \
|
||||
cmake \
|
||||
&& yum install -y uuid-devel x11-devel motif-devel jq \
|
||||
opencv opencv-devel opencv-python \
|
||||
&& ln -sf /opt/conda/bin/cython /opt/conda/bin/cython3 \
|
||||
&& mkdir -p /opt/isce2/src
|
||||
|
||||
# override system libuuid into conda env to link in libXm and libXt
|
||||
RUN set -ex \
|
||||
&& cd /opt/conda/lib \
|
||||
&& unlink libuuid.so \
|
||||
&& unlink libuuid.so.1 \
|
||||
&& ln -s /lib64/libuuid.so.1.3.0 libuuid.so \
|
||||
&& ln -s /lib64/libuuid.so.1.3.0 libuuid.so.1
|
||||
|
||||
# install libgfortran.so.3 and create missing link
|
||||
RUN set -ex \
|
||||
&& yum install -y gcc-gfortran \
|
||||
&& cd /lib64 \
|
||||
&& ( test -f libgfortran.so || ln -sv libgfortran.so.*.* libgfortran.so )
|
||||
&& apt-get update \
|
||||
&& apt-get install -y \
|
||||
cmake \
|
||||
cython3 \
|
||||
git \
|
||||
libfftw3-dev \
|
||||
libgdal-dev \
|
||||
libhdf4-alt-dev \
|
||||
libhdf5-dev \
|
||||
libopencv-dev \
|
||||
ninja-build \
|
||||
python3-gdal \
|
||||
python3-h5py \
|
||||
python3-numpy \
|
||||
python3-scipy \
|
||||
&& echo done
|
||||
|
||||
# copy repo
|
||||
COPY . /opt/isce2/src/isce2
|
||||
|
||||
# build ISCE
|
||||
RUN set -ex \
|
||||
&& . /opt/conda/bin/activate root \
|
||||
&& cd /opt/isce2/src/isce2 \
|
||||
&& source docker/build_env.sh \
|
||||
&& mkdir -p $BUILD_DIR \
|
||||
&& cp docker/SConfigISCE configuration/SConfigISCE \
|
||||
&& scons install \
|
||||
&& cp docker/isce_env.sh $ISCE_INSTALL_ROOT \
|
||||
&& cd /tmp \
|
||||
&& mkdir -p /tmp/rpm-build/opt \
|
||||
&& mv $ISCE_INSTALL_ROOT /tmp/rpm-build/opt \
|
||||
&& curl -s https://api.github.com/repos/$ISCE_ORG/isce2/git/refs/heads/main \
|
||||
> /tmp/rpm-build/opt/isce2/version.json \
|
||||
&& hash=$(cat /tmp/rpm-build/opt/isce2/version.json | jq -r .object.sha) \
|
||||
&& short_hash=$(echo $hash | cut -c1-5) \
|
||||
&& fpm -s dir -t rpm -C /tmp/rpm-build --name isce \
|
||||
--prefix=/ --version=2.3 --provides=isce \
|
||||
--maintainer=piyush.agram@jpl.nasa.gov \
|
||||
--description="InSAR Scientific Computing Environment v2 (${hash})"
|
||||
&& mkdir build && cd build \
|
||||
&& cmake .. \
|
||||
-DPYTHON_MODULE_DIR="$(python3 -c 'import site; print(site.getsitepackages()[-1])')" \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
&& make -j8 install \
|
||||
&& cpack -G DEB \
|
||||
&& cp isce*.deb /tmp/
|
||||
|
||||
FROM hysds/pge-base:latest
|
||||
FROM ubuntu:20.04
|
||||
|
||||
# Set an encoding to make things work smoothly.
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV TZ US/Pacific
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# install ISCE from RPM
|
||||
COPY --from=0 /tmp/isce-2.3-1.x86_64.rpm /tmp/isce-2.3-1.x86_64.rpm
|
||||
|
||||
# install isce and its minimal requirements
|
||||
RUN set -ex \
|
||||
&& sudo /opt/conda/bin/conda install --yes \
|
||||
gdal \
|
||||
h5py \
|
||||
libgdal \
|
||||
pytest \
|
||||
numpy \
|
||||
fftw \
|
||||
scipy \
|
||||
hdf4 \
|
||||
hdf5 \
|
||||
&& sudo yum update -y \
|
||||
&& sudo yum install -y uuid-devel x11-devel motif-devel gcc-gfortran \
|
||||
&& cd /opt/conda/lib \
|
||||
&& sudo unlink libuuid.so \
|
||||
&& sudo unlink libuuid.so.1 \
|
||||
&& sudo ln -s /lib64/libuuid.so.1.3.0 libuuid.so \
|
||||
&& sudo ln -s /lib64/libuuid.so.1.3.0 libuuid.so.1 \
|
||||
&& cd /lib64 \
|
||||
&& ( test -f libgfortran.so || sudo ln -sv libgfortran.so.*.* libgfortran.so ) \
|
||||
&& sudo yum install -y /tmp/isce-2.3-1.x86_64.rpm \
|
||||
&& sudo yum clean all \
|
||||
&& sudo rm -rf /var/cache/yum \
|
||||
&& sudo rm /tmp/isce-2.3-1.x86_64.rpm
|
||||
&& apt-get update \
|
||||
&& apt-get install -y \
|
||||
libfftw3-3 \
|
||||
libgdal26 \
|
||||
libhdf4-0 \
|
||||
libhdf5-103 \
|
||||
libopencv-core4.2 \
|
||||
libopencv-highgui4.2 \
|
||||
libopencv-imgproc4.2 \
|
||||
python3-gdal \
|
||||
python3-h5py \
|
||||
python3-numpy \
|
||||
python3-scipy \
|
||||
&& echo done
|
||||
|
||||
# install ISCE from DEB
|
||||
COPY --from=builder /tmp/isce*.deb /tmp/isce2.deb
|
||||
|
||||
RUN dpkg -i /tmp/isce2.deb
|
||||
|
|
Loading…
Reference in New Issue