diff --git a/docker/Dockerfile b/docker/Dockerfile index e21d7c5239c2268727d21e9beb9201100e8d5cf5..39f9bf1f1a1ec3bf51e239d9c03495b1eadb741e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -174,11 +174,13 @@ COPY --chown=binary_c ./binary_c_master /home/binary_c/progs/stars/binary_c # build binary_c and libbinary_c ############################################################ +#RUN export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && meson builddir -Dgeneric=true --buildtype release + WORKDIR /home/binary_c/progs/stars/binary_c # meson/ninja RUN export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && wc -c LICENCE |gawk "{print \$1}" > .lread -RUN export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && meson builddir -Dgeneric=true --buildtype release +RUN export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && meson builddir WORKDIR /home/binary_c/progs/stars/binary_c/builddir RUN export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && ninja binary_c_install_legacy diff --git a/docker/build.log b/docker/build.log index bde22dc4e091face47b19985b1c80b5d06a16615..986c765b98864acd8d219c2d2d54c2e5ac9a7658 100644 --- a/docker/build.log +++ b/docker/build.log @@ -1,104 +1,182 @@ -Sending build context to Docker daemon 438.4MB +Sending build context to Docker daemon 438MB Step 1/53 : FROM ubuntu:18.04 ---> 775349758637 Step 2/53 : MAINTAINER Robert Izzard r.izzard@surrey.ac.uk rob.izzard@gmail.com ---> Using cache - ---> 7241b3537ef3 + ---> 76241808c7d4 Step 3/53 : RUN apt-get update && apt-get -y --no-install-recommends install apt-utils software-properties-common && /usr/bin/add-apt-repository -y ppa:ubuntu-toolchain-r/test && apt-get update && apt-get -y --no-install-recommends install gcc curl wget emacs gawk sed gdb valgrind git libgsl-dev libbsd-dev binutils-dev libiberty-dev unzip tar file gzip perl make libc6-dev sudo okular pkg-config cmake python3 python3-setuptools python3-pip meson ninja-build && pip3 install wheel && pip3 install meson && pip3 install 'ninja' ---> Using cache - ---> 297a42b27eaa + ---> 27605bdad2d9 Step 4/53 : RUN apt-get autoclean && apt-get autoremove && apt clean ---> Using cache - ---> 4ecd5390d13c + ---> 1a6fcdda7ac2 Step 5/53 : RUN useradd --user-group --create-home --no-log-init --password binary_c --groups sudo binary_c && mkdir -p /home/binary_c && chown binary_c /home/binary_c && chgrp binary_c /home/binary_c ---> Using cache - ---> c8d54906824c + ---> c61c9b3e8160 Step 6/53 : RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers ---> Using cache - ---> a3acfcffd060 + ---> f2e79b59ab96 Step 7/53 : USER binary_c ---> Using cache - ---> 2d6be1a42d0b + ---> 494e1b8e7ecb Step 8/53 : ENV HOME /home/binary_c ---> Using cache - ---> e75291d45942 + ---> 66d2f4ad7880 Step 9/53 : WORKDIR /home/binary_c ---> Using cache - ---> 490ea0ec164a + ---> 99fdb3c73617 Step 10/53 : RUN curl -skL http://install.perlbrew.pl | bash && ~/perl5/perlbrew/bin/perlbrew -v -f install-patchperl && ~/perl5/perlbrew/bin/perlbrew -v -f install-cpanm && ~/perl5/perlbrew/bin/perlbrew install perl-$(~/perl5/perlbrew/bin/perlbrew available --all |grep -v perl5|grep -v cperl | grep -v RC | grep ^\\s*perl| sed s/^\\s*perl-// | sort -V |tail -1) --notest --thread --multi --64bitall -Dusethreads -Duseshrplib -Duselargefiles -Dcccdlflags=-fPIC -Dpager=/usr/bin/sensible-pager -Doptimize='-O2 -mtune=generic -march=x86-64' -O2 -j$(nproc) && echo source /home/binary_c/perl5/perlbrew/etc/bashrc >> /home/binary_c/.profile && echo source /home/binary_c/perl5/perlbrew/etc/bashrc >> /home/binary_c/.bashrc ---> Using cache - ---> 25939ffee30e + ---> 1e647589c406 Step 11/53 : RUN rm -rf /home/binary_c/perl5/perlbrew/build && rm -rf /home/binary_c/perl5/perlbrew/dists ---> Using cache - ---> 49db472b0a52 + ---> 21debb9f4903 Step 12/53 : SHELL ["/bin/bash","--login","-c"] ---> Using cache - ---> 4e4b0154673a + ---> d03033653f16 Step 13/53 : RUN echo export LD_LIBRARY_PATH=/home/binary_c/lib >> /home/binary_c/.profile && echo export LD_LIBRARY_PATH=/home/binary_c/lib >> /home/binary_c/.bashrc ---> Using cache - ---> 7c518fa411a2 + ---> 31f780badd5f Step 14/53 : RUN perlbrew switch $(perlbrew list | tail -1) ---> Using cache - ---> ff9fdff60040 + ---> f1bf0a64f6e8 Step 15/53 : RUN mkdir GSL ---> Using cache - ---> 94e2d577f5ae + ---> e94a10a78e7a Step 16/53 : WORKDIR /home/binary_c/GSL ---> Using cache - ---> f1298593232c + ---> 603bf6ca5208 Step 17/53 : RUN wget -N https://gitlab.eps.surrey.ac.uk/ri0005/GSL-RGI/repository/archive.zip -O GSL.zip && unzip GSL.zip && cd GSL-RGI-*/2.6 ; export CFLAGS="-O2 -mtune=generic -march=x86-64 -g"; ./configure generic --prefix=/home/binary_c ; make -j$(nproc); make install && cd ; rm -rf GSL ---> Using cache - ---> e3df8473d53c + ---> 49c9daae994a Step 18/53 : RUN mkdir /home/binary_c/libmemoize ---> Using cache - ---> 0d07b9d6f379 + ---> b3ffca0ce616 Step 19/53 : WORKDIR /home/binary_c/libmemoize ---> Using cache - ---> c2567e5628a4 + ---> 220552d71cc5 Step 20/53 : RUN wget -N https://gitlab.eps.surrey.ac.uk/ri0005/libmemoize/repository/archive.zip -O libmemoize.zip && unzip libmemoize.zip && cd libmemoize*/src ; export PREFIX=/home/binary_c ; export LIBMEMOIZE_ARCHFLAGS="-mtune=generic -march=x86-64"; make -j$(nproc); make install && cd ; rm -rf libmemoize ---> Using cache - ---> 2423e56c438e + ---> dba98e902739 Step 21/53 : RUN mkdir /home/binary_c/librinterpolate ---> Using cache - ---> bd64284fc4ae + ---> 54dac0f23cba Step 22/53 : WORKDIR /home/binary_c/librinterpolate ---> Using cache - ---> 837f27f9c589 + ---> 813b523d3f22 Step 23/53 : RUN wget -N https://gitlab.eps.surrey.ac.uk/ri0005/librinterpolate/repository/archive.zip -O librinterpolate.zip && unzip librinterpolate.zip && cd librinterpolate*/src ; export PREFIX=/home/binary_c ; export LIBRINTERPOLATE_ARCHFLAGS="-mtune=generic -march=x86-64"; make -j$(nproc); make install && cd ; rm -rf librinterpolate ---> Using cache - ---> cd59e2a10edb + ---> 2253414031bc Step 24/53 : RUN mkdir /home/binary_c/libbacktrace ---> Using cache - ---> dd5b17450a22 + ---> cd4d81c46444 Step 25/53 : WORKDIR /home/binary_c/ ---> Using cache - ---> 8c3a71e13a5b + ---> 6a0f57667fe8 Step 26/53 : RUN git clone https://github.com/ianlancetaylor/libbacktrace.git ---> Using cache - ---> 56add801f64f + ---> e096a9fec77f Step 27/53 : WORKDIR /home/binary_c/libbacktrace/ ---> Using cache - ---> c44ab4c5fbfc + ---> 14a00b44ac29 Step 28/53 : RUN export CFLAGS="-O2 -mtune=generic -march=x86-64" && ./configure --prefix=/home/binary_c && make -j$(nproc) && make install || true ---> Using cache - ---> 880c908e3503 + ---> b2eeedb5ccca Step 29/53 : WORKDIR /home/binary_c ---> Using cache - ---> 65e6bae3f79e + ---> 08f19201825a Step 30/53 : RUN rm -rf libbacktrace ---> Using cache - ---> 381ec9ca57eb + ---> efa4dcb04cb2 Step 31/53 : WORKDIR /home/binary_c ---> Using cache - ---> c7d6011db26a + ---> 24fe5633c775 Step 32/53 : RUN mkdir -p /home/binary_c/progs/stars/ ---> Using cache - ---> 4fc93d36c41e + ---> 0902970fdac2 Step 33/53 : COPY --chown=binary_c ./binary_c_master /home/binary_c/progs/stars/binary_c - ---> 85a20eaa997f + ---> 13bb944ae886 Step 34/53 : WORKDIR /home/binary_c/progs/stars/binary_c - ---> Running in cbb16107a8ab -Removing intermediate container cbb16107a8ab - ---> f74e20aa6883 -Step 35/53 : RUN export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && wc -c LICENCE |gawk "{print \$1}" > .lread && export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && meson builddir -Dgeneric=true --buildtype release - ---> Running in a919f44a381f + ---> Running in 04b2cbcd2db1 +Removing intermediate container 04b2cbcd2db1 + ---> e2ec3b54ae1f +Step 35/53 : RUN export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && wc -c LICENCE |gawk "{print \$1}" > .lread && export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && meson builddir + ---> Running in a5a06ee146da +The Meson build system +Version: 0.52.1 +Source dir: /home/binary_c/progs/stars/binary_c +Build dir: /home/binary_c/progs/stars/binary_c/builddir +Build type: native build +Project name: binary_c +Project version: 2.1.5 +C compiler for the host machine: cc (gcc 7.4.0 "cc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0") +C linker for the host machine: GNU ld.bfd 2.30 +Host machine cpu family: x86_64 +Host machine cpu: x86_64 +Program meson found: YES (/usr/local/bin/meson) +Program ninja found: YES (/usr/local/bin/ninja) +Message: CPU frequency 3500MHz +Message: binary_c version is 2.1.5 +Checking for alignment of "double" : 8 +Compiler for C supports arguments -std=gnu99: YES +Compiler for C supports arguments -march=native: YES +Compiler for C supports arguments -mtune=native: YES +Compiler for C supports arguments -ffast-math: YES +Compiler for C supports arguments -fno-associative-math: YES +Compiler for C supports arguments -fno-finite-math-only: YES +Compiler for C supports arguments -fsignaling-nans: YES +Compiler for C supports arguments -fomit-frame-pointer: YES +Compiler for C supports arguments -fvisibility=hidden: YES +Compiler for C supports arguments -rdynamic: YES +Compiler for C supports arguments -O0: YES +Checking if "64-bit check" compiles: YES +Library c found: YES +Library m found: YES +Library c found: YES +Library gsl found: YES +Message: Adding GSL-specific flags from gsl-config +Library gslcblas found: YES +Library backtrace found: YES +Library bfd found: YES +Library bsd found: YES +Library iberty found: YES +Library m found: YES +Library memoize found: YES +Library rinterpolate found: YES +Has header "stdlib.h" : YES +Checking for size of "drand48_r" : 1 +Has header "malloc.h" : YES +Has header "sys/time.h" : YES +Checking for function "setitimer" : YES +Has header "valgrind/valgrind.h" : YES +Library iberty found: YES +Has header "libiberty.h" : NO +Has header "libiberty/libiberty.h" : YES +Message: Checking and building data objects +Message: LIBDIRS=-DLIBDIRS="-L./src -L/usr/lib/x86_64-linux-gnu" +Message: abs ./src /usr/lib/x86_64-linux-gnu +Compiler for C supports arguments -Wall: YES +Compiler for C supports arguments -Wformat: YES +Compiler for C supports arguments -Wstrict-prototypes: YES +Compiler for C supports arguments -Wformat-signedness: YES +Message: building precompiled headers +Build targets in project: 45 +Found ninja-1.9.0.git.kitware.dyndep-1.jobserver-1 at /usr/local/bin/ninja +Removing intermediate container a5a06ee146da + ---> f464ed8c8674 +Step 36/53 : WORKDIR /home/binary_c/progs/stars/binary_c/builddir + ---> Running in 99e5780a8334 +Removing intermediate container 99e5780a8334 + ---> 0e2cd3b861fc +Step 37/53 : RUN export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && ninja binary_c_install_legacy + ---> Running in 93bde4fce68b +[1/860] Generating binary_c.h.pch with a custom command. +FAILED: binary_c.h.gch +cc -DALIGNSIZE=8 -std=gnu99 -march=native -mtune=native -ffast-math -fno-associative-math -fno-finite-math-only -fsignaling-nans -fomit-frame-pointer -fvisibility=hidden -rdynamic -O0 -DCPUFREQ=3500 -DOPERATING_SYSTEM=linux -DLINUX -DPOSIX -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 '-DGIT_REVISION="1:20191204:479ac27"' '-DGIT_URL="gitlab@gitlab.eps.surrey.ac.uk:ri0005/binary_c.git"' -D__HAVE_LIBC__ -D__HAVE_LIBGSL__ -I/usr/include -DUSE_GSL -D__HAVE_LIBGSLCBLAS__ -D__HAVE_LIBBACKTRACE__ -D__HAVE_LIBBFD__ -D__HAVE_LIBBSD__ -D__HAVE_LIBIBERTY__ -D__HAVE_LIBM__ -D__HAVE_LIBMEMOIZE__ -D__HAVE_LIBRINTERPOLATE__ -D__HAVE_DRAND48__ -D__HAVE_MALLOC_H__ -D__HAVE_SETITIMER__ -D__HAVE_PKG_CONFIG__ -D__HAVE_VALGRIND__ -D__SHOW_STARDATA__ -D__DIFF_STARDATA__ -D__HAVE_LIBIBERTY_LIBIBERTYH__ -Wall -Wformat -Wstrict-prototypes -Wformat-signedness -L./src -L/usr/lib/x86_64-linux-gnu -fpch-deps -fpch-preprocess -O0 -g -fPIC -I/home/binary_c/progs/stars/binary_c -I/home/binary_c/progs/stars/binary_c/src -I. -MT binary_c.h.gch -MMD -MP -MF /home/binary_c/progs/stars/binary_c/src/binary_c.h.gch.d -x c-header -gdwarf-2 ../src/binary_c.h +In file included from ../src/binary_c.h:65:0: +../src/binary_c_prototypes.h:55:12: fatal error: rinterpolate_prototypes.h: No such file or directory + # include <rinterpolate_prototypes.h> + ^~~~~~~~~~~~~~~~~~~~~~~~~~~ +compilation terminated. +ninja: build stopped: subcommand failed. +The command '/bin/bash --login -c export LD_LIBRARY_PATH=$HOME/lib LIBRARY_PATH=$HOME/lib && ninja binary_c_install_legacy' returned a non-zero code: 1 diff --git a/docker/build.sh b/docker/build.sh index aed39db75e3b66c172dc1be70bbb37f7251103fc..2d7db87ddebbefb2c8a114d8adec37decb4a50d2 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -12,9 +12,9 @@ WD=$PWD echo "binary_c docker build script" # set cache date to 'date ...' for a unique (non-cached build) -CACHE_DATE=$(date +%Y-%m-%d:%H:%M:%S) # default +#CACHE_DATE=$(date +%Y-%m-%d:%H:%M:%S) # default # or today to use the cache -#CACHE_DATE=today +CACHE_DATE=today echo "CACHE_DATE=$CACHE_DATE" # which git branch do we want?