code-saturne / code_saturne

code_saturne public mirror
https://www.code-saturne.org
GNU General Public License v2.0
215 stars 80 forks source link

docker image build on master branch failed #95

Closed jacktang closed 1 year ago

jacktang commented 2 years ago

Hello!

The document on docker image is outdated? I copy the code of Dockerfile (https://github.com/code-saturne/code_saturne/wiki/Code_Saturne-in-a-Docker-container#create-a-container-based-on-the-development-version-of-code_saturne=) and build the image, and it failed.

The error is

Removing intermediate container 618fd6847a14
 ---> f766f66fb432
Step 15/22 : RUN ./sbin/bootstrap  && mkdir /opt/saturne_tmp /opt/code_saturne-${version}_build /opt/code_saturne-${version}_debug  && chmod -R 777 /opt/code_saturne-${version}_src
 ---> Running in e085d0a5542c
running aclocal
running autoconf
running autoheader
running automake
configure.ac:61: error: required directory ./build-aux does not exist
cp: cannot create regular file 'build-aux/ar-lib': No such file or directory
configure.ac:133: error: installing 'build-aux/ar-lib'
configure.ac:133:     error while copying
cp: cannot create regular file 'build-aux/compile': No such file or directory
configure.ac:125: error: installing 'build-aux/compile'
configure.ac:125:     error while copying
cp: cannot create regular file 'build-aux/config.guess': No such file or directory
configure.ac:64: error: installing 'build-aux/config.guess'
configure.ac:64:     error while copying
cp: cannot create regular file 'build-aux/config.sub': No such file or directory
configure.ac:64: error: installing 'build-aux/config.sub'
configure.ac:64:     error while copying
cp: cannot create regular file 'build-aux/install-sh': No such file or directory
configure.ac:71: error: installing 'build-aux/install-sh'
configure.ac:71:     error while copying
cp: cannot create regular file 'build-aux/missing': No such file or directory
configure.ac:71: error: installing 'build-aux/missing'
configure.ac:71:     error while copying
cp: cannot create regular file 'build-aux/py-compile': No such file or directory
pyple/Makefile.am:69: error: installing 'build-aux/py-compile'
pyple/Makefile.am:69:     error while copying
cp: cannot create regular file 'build-aux/depcomp': No such file or directory
tests/Makefile.am: error: installing 'build-aux/depcomp'
tests/Makefile.am:     error while copying
running aclocal
running autoconf
running libtoolize
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
libtoolize: copying file 'build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
running autoheader
running automake
configure.ac:139: installing 'build-aux/ar-lib'
configure.ac:118: installing 'build-aux/compile'
configure.ac:63: installing 'build-aux/config.guess'
configure.ac:63: installing 'build-aux/config.sub'
configure.ac:70: installing 'build-aux/install-sh'
configure.ac:70: installing 'build-aux/missing'
preprocessor/appli/Makefile.am: installing 'build-aux/depcomp'
python/code_saturne/Makefile.am:31: installing 'build-aux/py-compile'
src/alge/Makefile.am:209: warning: libcsalge_extension_la_CPPFLAGS multiply defined in condition TRUE ...
src/alge/Makefile.am:84: ... 'libcsalge_extension_la_CPPFLAGS' previously defined here
Removing intermediate container e085d0a5542c
 ---> cad479d4d777
Step 16/22 : WORKDIR /opt/saturne_tmp
 ---> Running in 9428e73d289a
Removing intermediate container 9428e73d289a
 ---> d5c22530be01
Step 17/22 : RUN ../code_saturne-${version}_src/configure PYTHON=/usr/bin/python3 CC=mpicc FC=mpif90 CXX=mpic++         --prefix=/opt/code_saturne-${version}_build --with-hdf5=${hdfdir}         --with-med=${meddir}  && make -j  && make install  && rm -r /opt/saturne_tmp/*  && chmod -R 777 /opt/code_saturne-${version}_build
 ---> Running in 6cb4bd218509
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... (cached) yes
configure: WARNING: no supported environment module commmand detected
checking for gcc... mpicc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mpicc accepts -g... yes
checking for mpicc option to accept ISO C89... none needed
checking whether mpicc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of mpicc... gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether mpic++ accepts -g... yes
checking dependency style of mpic++... gcc3
checking whether we are using the GNU Fortran compiler... yes
checking whether mpif90 accepts -g... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for ar... ar
checking the archiver (ar) interface... ar
configure: sourcing config/cs_auto_flags.sh (test for known compilers)
compiler 'mpicc' is GNU gcc-7.5.0
compiler 'mpic++' is GNU g++-7.5.0
compiler 'mpif90' is GNU gfortran-7.5.0
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by mpicc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from mpicc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... mpicc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if mpicc supports -fno-rtti -fno-exceptions... no
checking for mpicc option to produce PIC... -fPIC -DPIC
checking if mpicc PIC flag -fPIC -DPIC works... yes
checking if mpicc static flag -static works... no
checking if mpicc supports -c -o file.o... yes
checking if mpicc supports -c -o file.o... (cached) yes
checking whether the mpicc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... mpic++ -E
checking for ld used by mpic++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the mpic++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for mpic++ option to produce PIC... -fPIC -DPIC
checking if mpic++ PIC flag -fPIC -DPIC works... yes
checking if mpic++ static flag -static works... no
checking if mpic++ supports -c -o file.o... yes
checking if mpic++ supports -c -o file.o... (cached) yes
checking whether the mpic++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for mpif90 option to produce PIC... -fPIC
checking if mpif90 PIC flag -fPIC works... yes
checking if mpif90 static flag -static works... no
checking if mpif90 supports -c -o file.o... yes
checking if mpif90 supports -c -o file.o... (cached) yes
checking whether the mpif90 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking for pid_t... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for long long... yes
checking for unsigned long long... yes
checking for int32_t... yes
checking for int64_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for ptrdiff_t... yes
checking size of void *... 8
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of float... 4
checking size of double... 8
checking how to get verbose linking output from mpif90... -v
checking for Fortran libraries of mpif90...  -L/usr//lib -L/usr/lib/x86_64-linux-gnu/openmpi/lib -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lgfortran -lm -lquadmath -lpthread
checking for OpenMP (C)... yes
checking for OpenMP (Fortran)... yes
checking how to get verbose linking output from mpif90... (cached) -v
checking for Fortran libraries of mpif90... (cached)  -L/usr//lib -L/usr/lib/x86_64-linux-gnu/openmpi/lib -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lgfortran -lm -lquadmath -lpthread
checking whether /usr/bin/python3 version is >= "3.4"... yes
checking for /usr/bin/python3 version... 3.6
checking for /usr/bin/python3 platform... linux
checking for /usr/bin/python3 script directory... ${prefix}/lib/python3.6/site-packages
checking for /usr/bin/python3 extension module directory... ${exec_prefix}/lib/python3.6/site-packages
checking for dlopen... dlopen
checking for MPI (MPI compiler wrapper test)... yes
checking for MPI I/O... yes
checking for MPI in place... yes
checking for MPI nonblocking barrier... yes
checking hdf5.h usability... yes
checking hdf5.h presence... yes
checking for hdf5.h... yes
checking for H5Fopen in -lhdf5... yes
CGNS >= 3.1.0 headers not found
configure: WARNING: no CGNS file support
MED >= 3.0 headers found
CCMIO headers not found
checking freesteam/steam.h usability... no
checking freesteam/steam.h presence... no
checking for freesteam/steam.h... no
checking for CoolProp library)... no
checking for Zlib... yes
checking size of z_off_t... 8
configure: WARNING: no MEDCoupling file support
checking for pdflatex... configure: WARNING: pdflatex not found
no
checking for bibtex... no
configure: WARNING: bibtex not found
checking for makeindex... configure: WARNING: makeindex not found
no
checking for doxygen... configure: WARNING: doxygen not found
no
checking for dot... configure: WARNING: dot not found
no
checking for sphinx-build... configure: WARNING: sphinx-build not found
no
checking for PyQt5 version >= 5.0... yes
checking for pyuic5... /usr/bin/pyuic5
checking for pyrcc5... /usr/bin/pyrcc5
checking for sys/types.h... (cached) yes
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking for sys/stat.h... (cached) yes
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for unistd.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for sys/types.h... (cached) yes
checking sys/signal.h usability... yes
checking sys/signal.h presence... yes
checking for sys/signal.h... yes
checking sys/procfs.h usability... yes
checking sys/procfs.h presence... yes
checking for sys/procfs.h... yes
checking sys/sysinfo.h usability... yes
checking sys/sysinfo.h presence... yes
checking for sys/sysinfo.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for mkdir... yes
checking for chdir... yes
checking for stat... yes
checking for dup2... yes
checking for access... yes
checking for snprintf... yes
checking for getcwd... yes
checking for sleep... yes
checking for getpwuid... yes
checking for geteuid... yes
checking for uname... yes
checking for linkat... yes
checking for clock_gettime... yes
checking for clock_getcpuclockid... yes
checking for getrusage... yes
checking for gettimeofday... yes
checking for sbrk... yes
checking for sysinfo... yes
checking for posix_memalign... yes
checking for memset... yes
checking for sigaction... yes
checking for strtok_r... yes
checking for pow... yes
checking for modf... yes
checking for tgamma... yes
checking for erf... yes
checking for working strtod... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGEFILE_SOURCE value needed for large files... no
checking size of off_t... 8
checking for glibc backtrace... yes
checking for glibc cplus_demangle... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating preprocessor/Makefile
config.status: creating preprocessor/appli/Makefile
config.status: creating preprocessor/base/Makefile
config.status: creating preprocessor/pre-post/Makefile
config.status: creating preprocessor/util/Makefile
config.status: creating src/Makefile
config.status: creating src/apps/Makefile
config.status: creating src/gui/Makefile
config.status: creating src/bft/Makefile
config.status: creating src/fvm/Makefile
config.status: creating src/base/Makefile
config.status: creating src/atmo/Makefile
config.status: creating src/cdo/Makefile
config.status: creating src/cfbl/Makefile
config.status: creating src/cogz/Makefile
config.status: creating src/ctwr/Makefile
config.status: creating src/darc/Makefile
config.status: creating src/elec/Makefile
config.status: creating src/comb/Makefile
config.status: creating src/pprt/Makefile
config.status: creating src/lagr/Makefile
config.status: creating src/rayt/Makefile
config.status: creating src/turb/Makefile
config.status: creating src/alge/Makefile
config.status: creating src/mesh/Makefile
config.status: creating src/user/Makefile
config.status: creating src/user_examples/Makefile
config.status: creating src/meg/Makefile
config.status: creating python/Makefile
config.status: creating python/code_saturne/Makefile
config.status: creating python/code_saturne/base/Makefile
config.status: creating python/code_saturne/studymanager/Makefile
config.status: creating python/code_saturne/model/Makefile
config.status: creating python/code_saturne/gui/Makefile
config.status: creating python/code_saturne/gui/base/Makefile
config.status: creating python/code_saturne/gui/case/Makefile
config.status: creating python/code_saturne/gui/trackcvg/Makefile
config.status: creating python/code_saturne/gui/studymanager_gui/Makefile
config.status: creating docs/Makefile
config.status: creating docs/doxygen/Makefile
config.status: creating docs/style/csvers.tex
config.status: creating docs/refcard/Makefile
config.status: creating docs/theory/Makefile
config.status: creating docs/user/Makefile
config.status: creating tests/Makefile
config.status: creating config/code_saturne_build.cfg.in
config.status: creating cs_config.h
config.status: executing depfiles commands
config.status: executing libtool commands
=== configuring in libple (/opt/saturne_tmp/libple)
configure: running /bin/bash ../../code_saturne-master_src/libple/configure --disable-option-checking '--prefix=/opt/code_saturne-master_build'  'PYTHON=/usr/bin/python3' 'CC=mpicc' 'FC=mpif90' 'CXX=mpic++' '--with-hdf5=/opt/hdf5-1.8.21' '--with-med=/opt/med-3.2.1' --cache-file=/dev/null --srcdir=../../code_saturne-master_src/libple
: error: cannot find install-sh, install.sh, or shtool in build-aux "../../code_saturne-master_src/libple"/build-aux
configure: error: ../../code_saturne-master_src/libple/configure failed for libple
The command '/bin/sh -c ../code_saturne-${version}_src/configure PYTHON=/usr/bin/python3 CC=mpicc FC=mpif90 CXX=mpic++         --prefix=/opt/code_saturne-${version}_build --with-hdf5=${hdfdir}         --with-med=${meddir}  && make -j  && make install  && rm -r /opt/saturne_tmp/*  && chmod -R 777 /opt/code_saturne-${version}_build' returned a non-zero code: 1

apple@apples-MacBook-Pro ~/Codes/caebigdata/docker/code_saturne                                                                 [19:10:57]
(base) > $ DOCKER_BUILDKIT=0 docker build -t code_saturne .                                                                  [±master ●●⚑]
Sending build context to Docker daemon    238MB
Step 1/22 : FROM ubuntu:18.04 as builder
 ---> ad080923604a
Step 2/22 : RUN sed -i s@/archive.ubuntu.com/@/mirrors.tuna.tsinghua.edu.cn/@g /etc/apt/sources.list
 ---> Using cache
 ---> 2f91aac87034
Step 3/22 : RUN apt-get clean && apt-get update
 ---> Using cache
 ---> 6adf6dee12e5
Step 4/22 : RUN apt-get update -y  && apt-get upgrade -y  && DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata  && apt-get install -y         wget         vim         gfortran g++ gcc make cmake         python3 python3-pyqt5         pyqt5-dev pyqt5-dev-tools         openmpi-bin  libopenmpi-dev zlib1g-dev         libopenmpi2  && apt-get autoremove  && apt-get clean
 ---> Using cache
 ---> 989ba9c82841
Step 5/22 : ARG hdfdir=/opt/hdf5-1.8.21
 ---> Using cache
 ---> 84029ae5a516
Step 6/22 : COPY dist/hdf5-1.8.21.tar.gz /tmp/
 ---> Using cache
 ---> 5f70474091b9
Step 7/22 : RUN tar -zxvf /tmp/hdf5-1.8.21.tar.gz -C /tmp/  && rm -r /tmp/hdf5-1.8.21.tar.gz  && mkdir ${hdfdir}  && cd /tmp/hdf5-1.8.21  && ./configure CC=mpicc FC=mpif90 CXX=mpic++         --prefix=${hdfdir} --enable-production --enable-parallel  && make -j  && make install  && rm -rf /tmp/hdf5-1.8.21  && chmod -R 777 ${hdfdir}
 ---> Using cache
 ---> 78449ccfa8bc
Step 8/22 : ARG meddir=/opt/med-3.2.1
 ---> Using cache
 ---> 2c5801327ba0
Step 9/22 : COPY dist/med-3.2.1.tar.gz /tmp/
 ---> Using cache
 ---> 99229ee66738
Step 10/22 : RUN tar -xvf /tmp/med-3.2.1.tar.gz -C /tmp/  && rm -r /tmp/med-3.2.1.tar.gz  && mkdir ${meddir}  && cd /tmp/med-3.2.1_SRC  && ./configure CC=mpicc CXX=mpic++ --prefix=${meddir}         --with-med_int=long --disable-python --disable-fortran --with-hdf5=${hdfdir}  && make -j  && make install  && rm -rf /tmp/med-3.2.1_SRC  && chmod -R 777 ${meddir}
 ---> Using cache
 ---> cc8c7a64e6a7
Step 11/22 : ARG version=master
 ---> Using cache
 ---> d9e1fa248b86
Step 12/22 : WORKDIR /opt/code_saturne-${version}_src/
 ---> Using cache
 ---> d81102c7b2ad
Step 13/22 : COPY dist/code_saturne-${version}_src .
 ---> Using cache
 ---> de08a229300d
Step 14/22 : RUN apt-get install -y build-essential autoconf automake libtool bison flex gettext python git  && apt-get autoremove  && apt-get clean
 ---> Using cache
 ---> f766f66fb432
Step 15/22 : RUN ./sbin/bootstrap  && mkdir /opt/saturne_tmp /opt/code_saturne-${version}_build /opt/code_saturne-${version}_debug  && chmod -R 777 /opt/code_saturne-${version}_src
 ---> Using cache
 ---> cad479d4d777
Step 16/22 : WORKDIR /opt/saturne_tmp
 ---> Using cache
 ---> d5c22530be01
Step 17/22 : RUN ../code_saturne-${version}_src/configure PYTHON=/usr/bin/python3 CC=mpicc FC=mpif90 CXX=mpic++         --prefix=/opt/code_saturne-${version}_build --with-hdf5=${hdfdir}         --with-med=${meddir}  && make -j  && make install  && rm -r /opt/saturne_tmp/*  && chmod -R 777 /opt/code_saturne-${version}_build
 ---> Running in f5d1bc024f3c
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... (cached) yes
configure: WARNING: no supported environment module commmand detected
checking for gcc... mpicc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mpicc accepts -g... yes
checking for mpicc option to accept ISO C89... none needed
checking whether mpicc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of mpicc... gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether mpic++ accepts -g... yes
checking dependency style of mpic++... gcc3
checking whether we are using the GNU Fortran compiler... yes
checking whether mpif90 accepts -g... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for ar... ar
checking the archiver (ar) interface... ar
configure: sourcing config/cs_auto_flags.sh (test for known compilers)
compiler 'mpicc' is GNU gcc-7.5.0
compiler 'mpic++' is GNU g++-7.5.0
compiler 'mpif90' is GNU gfortran-7.5.0
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by mpicc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from mpicc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... mpicc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if mpicc supports -fno-rtti -fno-exceptions... no
checking for mpicc option to produce PIC... -fPIC -DPIC
checking if mpicc PIC flag -fPIC -DPIC works... yes
checking if mpicc static flag -static works... no
checking if mpicc supports -c -o file.o... yes
checking if mpicc supports -c -o file.o... (cached) yes
checking whether the mpicc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... mpic++ -E
checking for ld used by mpic++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the mpic++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for mpic++ option to produce PIC... -fPIC -DPIC
checking if mpic++ PIC flag -fPIC -DPIC works... yes
checking if mpic++ static flag -static works... no
checking if mpic++ supports -c -o file.o... yes
checking if mpic++ supports -c -o file.o... (cached) yes
checking whether the mpic++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for mpif90 option to produce PIC... -fPIC
checking if mpif90 PIC flag -fPIC works... yes
checking if mpif90 static flag -static works... no
checking if mpif90 supports -c -o file.o... yes
checking if mpif90 supports -c -o file.o... (cached) yes
checking whether the mpif90 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking for pid_t... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for long long... yes
checking for unsigned long long... yes
checking for int32_t... yes
checking for int64_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for ptrdiff_t... yes
checking size of void *... 8
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of float... 4
checking size of double... 8
checking how to get verbose linking output from mpif90... -v
checking for Fortran libraries of mpif90...  -L/usr//lib -L/usr/lib/x86_64-linux-gnu/openmpi/lib -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lgfortran -lm -lquadmath -lpthread
checking for OpenMP (C)... yes
checking for OpenMP (Fortran)... yes
checking how to get verbose linking output from mpif90... (cached) -v
checking for Fortran libraries of mpif90... (cached)  -L/usr//lib -L/usr/lib/x86_64-linux-gnu/openmpi/lib -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lgfortran -lm -lquadmath -lpthread
checking whether /usr/bin/python3 version is >= "3.4"... yes
checking for /usr/bin/python3 version... 3.6
checking for /usr/bin/python3 platform... linux
checking for /usr/bin/python3 script directory... ${prefix}/lib/python3.6/site-packages
checking for /usr/bin/python3 extension module directory... ${exec_prefix}/lib/python3.6/site-packages
checking for dlopen... dlopen
checking for MPI (MPI compiler wrapper test)... yes
checking for MPI I/O... yes
checking for MPI in place... yes
checking for MPI nonblocking barrier... yes
checking hdf5.h usability... yes
checking hdf5.h presence... yes
checking for hdf5.h... yes
checking for H5Fopen in -lhdf5... yes
CGNS >= 3.1.0 headers not found
configure: WARNING: no CGNS file support
MED >= 3.0 headers found
CCMIO headers not found
checking freesteam/steam.h usability... no
checking freesteam/steam.h presence... no
checking for freesteam/steam.h... no
checking for CoolProp library)... no
checking for Zlib... yes
checking size of z_off_t... 8
configure: WARNING: no MEDCoupling file support
checking for pdflatex... configure: WARNING: pdflatex not found
no
checking for bibtex... configure: WARNING: bibtex not found
no
checking for makeindex... configure: WARNING: makeindex not found
no
checking for doxygen... configure: WARNING: doxygen not found
no
checking for dot... no
configure: WARNING: dot not found
checking for sphinx-build... no
configure: WARNING: sphinx-build not found
checking for PyQt5 version >= 5.0... yes
checking for pyuic5... /usr/bin/pyuic5
checking for pyrcc5... /usr/bin/pyrcc5
checking for sys/types.h... (cached) yes
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking for sys/stat.h... (cached) yes
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for unistd.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for sys/types.h... (cached) yes
checking sys/signal.h usability... yes
checking sys/signal.h presence... yes
checking for sys/signal.h... yes
checking sys/procfs.h usability... yes
checking sys/procfs.h presence... yes
checking for sys/procfs.h... yes
checking sys/sysinfo.h usability... yes
checking sys/sysinfo.h presence... yes
checking for sys/sysinfo.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for mkdir... yes
checking for chdir... yes
checking for stat... yes
checking for dup2... yes
checking for access... yes
checking for snprintf... yes
checking for getcwd... yes
checking for sleep... yes
checking for getpwuid... yes
checking for geteuid... yes
checking for uname... yes
checking for linkat... yes
checking for clock_gettime... yes
checking for clock_getcpuclockid... yes
checking for getrusage... yes
checking for gettimeofday... yes
checking for sbrk... yes
checking for sysinfo... yes
checking for posix_memalign... yes
checking for memset... yes
checking for sigaction... yes
checking for strtok_r... yes
checking for pow... yes
checking for modf... yes
checking for tgamma... yes
checking for erf... yes
checking for working strtod... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGEFILE_SOURCE value needed for large files... no
checking size of off_t... 8
checking for glibc backtrace... yes
checking for glibc cplus_demangle... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating preprocessor/Makefile
config.status: creating preprocessor/appli/Makefile
config.status: creating preprocessor/base/Makefile
config.status: creating preprocessor/pre-post/Makefile
config.status: creating preprocessor/util/Makefile
config.status: creating src/Makefile
config.status: creating src/apps/Makefile
config.status: creating src/gui/Makefile
config.status: creating src/bft/Makefile
config.status: creating src/fvm/Makefile
config.status: creating src/base/Makefile
config.status: creating src/atmo/Makefile
config.status: creating src/cdo/Makefile
config.status: creating src/cfbl/Makefile
config.status: creating src/cogz/Makefile
config.status: creating src/ctwr/Makefile
config.status: creating src/darc/Makefile
config.status: creating src/elec/Makefile
config.status: creating src/comb/Makefile
config.status: creating src/pprt/Makefile
config.status: creating src/lagr/Makefile
config.status: creating src/rayt/Makefile
config.status: creating src/turb/Makefile
config.status: creating src/alge/Makefile
config.status: creating src/mesh/Makefile
config.status: creating src/user/Makefile
config.status: creating src/user_examples/Makefile
config.status: creating src/meg/Makefile
config.status: creating python/Makefile
config.status: creating python/code_saturne/Makefile
config.status: creating python/code_saturne/base/Makefile
config.status: creating python/code_saturne/studymanager/Makefile
config.status: creating python/code_saturne/model/Makefile
config.status: creating python/code_saturne/gui/Makefile
config.status: creating python/code_saturne/gui/base/Makefile
config.status: creating python/code_saturne/gui/case/Makefile
config.status: creating python/code_saturne/gui/trackcvg/Makefile
config.status: creating python/code_saturne/gui/studymanager_gui/Makefile
config.status: creating docs/Makefile
config.status: creating docs/doxygen/Makefile
config.status: creating docs/style/csvers.tex
config.status: creating docs/refcard/Makefile
config.status: creating docs/theory/Makefile
config.status: creating docs/user/Makefile
config.status: creating tests/Makefile
config.status: creating config/code_saturne_build.cfg.in
config.status: creating cs_config.h
config.status: executing depfiles commands
config.status: executing libtool commands
=== configuring in libple (/opt/saturne_tmp/libple)
configure: running /bin/bash ../../code_saturne-master_src/libple/configure --disable-option-checking '--prefix=/opt/code_saturne-master_build'  'PYTHON=/usr/bin/python3' 'CC=mpicc' 'FC=mpif90' 'CXX=mpic++' '--with-hdf5=/opt/hdf5-1.8.21' '--with-med=/opt/med-3.2.1' --cache-file=/dev/null --srcdir=../../code_saturne-master_src/libple
: error: cannot find install-sh, install.sh, or shtool in build-aux "../../code_saturne-master_src/libple"/build-aux
configure: error: ../../code_saturne-master_src/libple/configure failed for libple
The command '/bin/sh -c ../code_saturne-${version}_src/configure PYTHON=/usr/bin/python3 CC=mpicc FC=mpif90 CXX=mpic++         --prefix=/opt/code_saturne-${version}_build --with-hdf5=${hdfdir}         --with-med=${meddir}  && make -j  && make install  && rm -r /opt/saturne_tmp/*  && chmod -R 777 /opt/code_saturne-${version}_build' returned a non-zero code: 1
jacktang commented 2 years ago

And when I inspected the layer ---> f766f66fb432, it did contain build-aux dir, so I don't understand why below error came up

 ---> f766f66fb432
Step 15/22 : RUN ./sbin/bootstrap  && mkdir /opt/saturne_tmp /opt/code_saturne-${version}_build /opt/code_saturne-${version}_debug  && chmod -R 777 /opt/code_saturne-${version}_src
 ---> Running in e085d0a5542c
running aclocal
running autoconf
running autoheader
running automake
configure.ac:61: error: required directory ./build-aux does not exist
cp: cannot create regular file 'build-aux/ar-lib': No such file or directory
configure.ac:133: error: installing 'build-aux/ar-lib'
configure.ac:133:     error while copying
cp: cannot create regular file 'build-aux/compile': No such file or directory
configure.ac:125: error: installing 'build-aux/compile'
configure.ac:125:     error while copying
cp: cannot create regular file 'build-aux/config.guess': No such file or directory
configure.ac:64: error: installing 'build-aux/config.guess'
configure.ac:64:     error while copying
kikuznetsov commented 2 years ago

You can run autoreconf -vif in the source code folder of code_saturne. So instead RUN ./sbin/bootstrap && .... you can modify this line as following RUN autoreconf -vif && RUN ./sbin/bootstrap && ....

jacktang commented 2 years ago

@kikuznetsov Thanks! I'll it later.

Another question is libopenmpi2 is missed in ubuntu 22, which means I have to install it by source code?

kikuznetsov commented 1 year ago

I think openmpi is not installed by default. In order to install all dependencies you can run: apt-get install gcc g++ openmpi-bin openmpi-common libopenmpi-dev git automake libtool gfortran make cmake vim python3 python3-dev ssh python3-pyqt5 pyqt5-dev-tools qttools5-dev-tools

YvanFournier commented 1 year ago

Hello,

Please see https://github.com/code-saturne/code_saturne/wiki/Pre-installation:-Linux-distribution-packages for lists of recommended packages.

If the documentation for the Docker image is outdated, updates are welcome here (otherwise I would close thus issue).

YvanFournier commented 1 year ago

Hello,

The issue with the PLE library's build-aux directory not being created seems to occur on systems without autopoint. Its creation is now forced in this case (commit af8c7a93c on master branch and 83c2f87e6da on v7.2 branch).