<div dir="ltr">Ok Matthew,<br><br>I'll list my steps :<br><b>> sudo docker run -itv myfolder:/home/shared -w /home/shared/ --rm dolfinx/dolfinx<br>root@container:/home/shared# echo $PETSCH_ARCH $PETSCH_DIR</b><br>linux-gnu-real-32 /usr/local/petsc<br><b>root@container:/home/shared# cd /usr/local/petsc</b><br><b>root@container:/usr/local/petsc# ./configure --with-hdf5 --with-petsc4py --force</b><br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>The version of PETSc you are using is out-of-date, we recommend updating to the new release<br> Available Version: 3.16.2 Installed Version: 3.16<br><a href="https://petsc.org/release/download/">https://petsc.org/release/download/</a><br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>=============================================================================================<br> Configuring PETSc to compile on your system <br>=============================================================================================<br>TESTING: configureLibrary from config.packages.petsc4py(config/BuildSystem/config/packages/petsc4py.py:116)<br>*******************************************************************************<br> UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log for details):<br>-------------------------------------------------------------------------------<br>PETSc4py requires Python with "cython" module(s) installed!<br>Please install using package managers - for ex: "apt" or "dnf" (on linux),<br>or with "pip" using: /usr/bin/python3 -m pip install cython<br>*******************************************************************************<br><b>root@container:/usr/local/petsc# pip install cython</b><br>Collecting cython<br> Downloading Cython-0.29.25-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (1.9 MB)<br> |████████████████████████████████| 1.9 MB 10.8 MB/s<br>Installing collected packages: cython<br><div>Successfully installed cython-0.29.25</div><div><b>root@container:/usr/local/petsc# ./configure --with-hdf5 --with-petsc4py --force</b></div>=============================================================================================<br> Configuring PETSc to compile on your system <br>=============================================================================================<br>Compilers: <br> C Compiler: mpicc -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Wno-misleading-indentation -Wno-stringop-overflow -fstack-protector -fvisibility=hidden -g3 -O0 <br> Version: gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0<br> C++ Compiler: mpicxx -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -fvisibility=hidden -g -O0 -fPIC -std=gnu++17<br> Version: g++ (Ubuntu 11.2.0-7ubuntu2) 11.2.0<br> Fortran Compiler: mpif90 -fPIC -Wall -ffree-line-length-0 -Wno-unused-dummy-argument -g -O0 <br> Version: GNU Fortran (Ubuntu 11.2.0-7ubuntu2) 11.2.0<br>Linkers:<br> Shared linker: mpicc -shared -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Wno-misleading-indentation -Wno-stringop-overflow -fstack-protector -fvisibility=hidden -g3 -O0<br> Dynamic linker: mpicc -shared -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Wno-misleading-indentation -Wno-stringop-overflow -fstack-protector -fvisibility=hidden -g3 -O0<br> Libraries linked against: -lquadmath -lstdc++ -ldl<br>BlasLapack:<br> Library: -llapack -lblas<br> Unknown if this uses OpenMP (try export OMP_NUM_THREADS=<1-4> yourprogram -log_view)<br> uses 4 byte integers<br>MPI:<br> Version: 3<br> mpiexec: mpiexec<br> Implementation: mpich3<br> MPICH_NUMVERSION: 30402300<br>X:<br> Library: -lX11<br>pthread:<br>hdf5:<br> Version: 1.12.1<br> Library: -lhdf5_hl -lhdf5<br>cmake:<br> Version: 3.18.4<br> /usr/bin/cmake<br>regex:<br> Language used to compile PETSc: C<br>PETSc:<br> PETSC_ARCH: linux-gnu-real-32<br> PETSC_DIR: /usr/local/petsc<br> Prefix: <inplace installation><br> Scalar type: real<br> Precision: double<br> Support for __float128<br> Integer size: 4 bytes<br> Single library: yes<br> Shared libraries: yes<br> Memory alignment from malloc(): 16 bytes<br> Using GNU make: /usr/bin/gmake<br>xxx=========================================================================xxx<br> Configure stage complete. Now build PETSc libraries with:<br> make PETSC_DIR=/usr/local/petsc PETSC_ARCH=linux-gnu-real-32 all<br>xxx=========================================================================xxx<br><b>root@17fbe5936a5d:/usr/local/petsc# make all</b><br>/usr/bin/python3 ./config/gmakegen.py --petsc-arch=linux-gnu-real-32<br>/usr/bin/python3 /usr/local/petsc/config/gmakegentest.py --petsc-dir=/usr/local/petsc --petsc-arch=linux-gnu-real-32 --testdir=./linux-gnu-real-32/tests<br>==========================================<br> <br>See documentation/faq.html and documentation/bugreporting.html<br>for help with installation problems. Please send EVERYTHING<br>printed out below when reporting problems. Please check the<br>mailing list archives and consider subscribing.<br> <br> <a href="https://petsc.org/release/community/mailing/">https://petsc.org/release/community/mailing/</a><br> <br>==========================================<br>Starting make run on 17fbe5936a5d at Fri, 10 Dec 2021 08:28:10 +0000<br>Machine characteristics: Linux 17fbe5936a5d 5.3.18d01-lp152.63-default #1 SMP PREEMPT Fri Feb 5 19:19:17 CET 2021 x86_64 x86_64 x86_64 GNU/Linux<br>-----------------------------------------<br>Using PETSc directory: /usr/local/petsc<br>Using PETSc arch: linux-gnu-real-32<br>-----------------------------------------<br>PETSC_VERSION_RELEASE 1<br>PETSC_VERSION_MAJOR 3<br>PETSC_VERSION_MINOR 16<br>PETSC_VERSION_SUBMINOR 0<br>PETSC_VERSION_PATCH 0<br>PETSC_VERSION_DATE "Sep 29, 2021"<br>PETSC_VERSION_GIT "v3.16.0"<br>PETSC_VERSION_DATE_GIT "2021-09-29 18:30:02 -0500"<br>PETSC_VERSION_EQ(MAJOR,MINOR,SUBMINOR) \<br>PETSC_VERSION_ PETSC_VERSION_EQ<br>PETSC_VERSION_LT(MAJOR,MINOR,SUBMINOR) \<br>PETSC_VERSION_LE(MAJOR,MINOR,SUBMINOR) \<br>PETSC_VERSION_GT(MAJOR,MINOR,SUBMINOR) \<br>PETSC_VERSION_GE(MAJOR,MINOR,SUBMINOR) \<br>-----------------------------------------<br>Using configure Options: --with-hdf5 --with-petsc4py --force<br>Using configuration flags:<br>#define INCLUDED_PETSCCONF_H<br>#define PETSC_ARCH "linux-gnu-real-32"<br>#define PETSC_ATTRIBUTEALIGNED(size) __attribute((aligned(size)))<br>#define PETSC_Alignx(a,b) <br>#define PETSC_BLASLAPACK_UNDERSCORE 1<br>#define PETSC_CLANGUAGE_C 1<br>#define PETSC_CXX_INLINE inline<br>#define PETSC_CXX_RESTRICT __restrict<br>#define PETSC_C_INLINE inline<br>#define PETSC_C_RESTRICT __restrict<br>#define PETSC_DEPRECATED_ENUM(why) __attribute((deprecated))<br>#define PETSC_DEPRECATED_FUNCTION(why) __attribute((deprecated))<br>#define PETSC_DEPRECATED_MACRO(why) _Pragma(why)<br>#define PETSC_DEPRECATED_TYPEDEF(why) __attribute((deprecated))<br>#define PETSC_DIR "/usr/local/petsc"<br>#define PETSC_DIR_SEPARATOR '/'<br>#define PETSC_FORTRAN_CHARLEN_T size_t<br>#define PETSC_FORTRAN_TYPE_INITIALIZE = -2<br>#define PETSC_FUNCTION_NAME_C __func__<br>#define PETSC_FUNCTION_NAME_CXX __func__<br>#define PETSC_HAVE_ACCESS 1<br>#define PETSC_HAVE_ATOLL 1<br>#define PETSC_HAVE_ATTRIBUTEALIGNED 1<br>#define PETSC_HAVE_BUILTIN_EXPECT 1<br>#define PETSC_HAVE_BZERO 1<br>#define PETSC_HAVE_C99_COMPLEX 1<br>#define PETSC_HAVE_CLOCK 1<br>#define PETSC_HAVE_CXX 1<br>#define PETSC_HAVE_CXX_COMPLEX 1<br>#define PETSC_HAVE_CXX_COMPLEX_FIX 1<br>#define PETSC_HAVE_CXX_DIALECT_CXX03 1<br>#define PETSC_HAVE_CXX_DIALECT_CXX11 1<br>#define PETSC_HAVE_CXX_DIALECT_CXX14 1<br>#define PETSC_HAVE_CXX_DIALECT_CXX17 1<br>#define PETSC_HAVE_DLADDR 1<br>#define PETSC_HAVE_DLCLOSE 1<br>#define PETSC_HAVE_DLERROR 1<br>#define PETSC_HAVE_DLFCN_H 1<br>#define PETSC_HAVE_DLOPEN 1<br>#define PETSC_HAVE_DLSYM 1<br>#define PETSC_HAVE_DOUBLE_ALIGN_MALLOC 1<br>#define PETSC_HAVE_DRAND48 1<br>#define PETSC_HAVE_DYNAMIC_LIBRARIES 1<br>#define PETSC_HAVE_ERF 1<br>#define PETSC_HAVE_FCNTL_H 1<br>#define PETSC_HAVE_FENV_H 1<br>#define PETSC_HAVE_FLOAT_H 1<br>#define PETSC_HAVE_FORK 1<br>#define PETSC_HAVE_FORTRAN 1<br>#define PETSC_HAVE_FORTRAN_FLUSH 1<br>#define PETSC_HAVE_FORTRAN_GET_COMMAND_ARGUMENT 1<br>#define PETSC_HAVE_FORTRAN_TYPE_STAR 1<br>#define PETSC_HAVE_FORTRAN_UNDERSCORE 1<br>#define PETSC_HAVE_GETCWD 1<br>#define PETSC_HAVE_GETDOMAINNAME 1<br>#define PETSC_HAVE_GETHOSTBYNAME 1<br>#define PETSC_HAVE_GETHOSTNAME 1<br>#define PETSC_HAVE_GETPAGESIZE 1<br>#define PETSC_HAVE_GETRUSAGE 1<br>#define PETSC_HAVE_HDF5 1<br>#define PETSC_HAVE_IMMINTRIN_H 1<br>#define PETSC_HAVE_INTTYPES_H 1<br>#define PETSC_HAVE_ISINF 1<br>#define PETSC_HAVE_ISNAN 1<br>#define PETSC_HAVE_ISNORMAL 1<br>#define PETSC_HAVE_LGAMMA 1<br>#define PETSC_HAVE_LOG2 1<br>#define PETSC_HAVE_LSEEK 1<br>#define PETSC_HAVE_MALLOC_H 1<br>#define PETSC_HAVE_MEMALIGN 1<br>#define PETSC_HAVE_MEMMOVE 1<br>#define PETSC_HAVE_MMAP 1<br>#define PETSC_HAVE_MPICH_NUMVERSION 30402300<br>#define PETSC_HAVE_MPIEXEC_ENVIRONMENTAL_VARIABLE MPIR_CVAR_CH3<br>#define PETSC_HAVE_MPIIO 1<br>#define PETSC_HAVE_MPI_COMBINER_CONTIGUOUS 1<br>#define PETSC_HAVE_MPI_COMBINER_DUP 1<br>#define PETSC_HAVE_MPI_COMBINER_NAMED 1<br>#define PETSC_HAVE_MPI_EXSCAN 1<br>#define PETSC_HAVE_MPI_F90MODULE 1<br>#define PETSC_HAVE_MPI_F90MODULE_VISIBILITY 1<br>#define PETSC_HAVE_MPI_FEATURE_DYNAMIC_WINDOW 1<br>#define PETSC_HAVE_MPI_FINALIZED 1<br>#define PETSC_HAVE_MPI_GET_ACCUMULATE 1<br>#define PETSC_HAVE_MPI_GET_LIBRARY_VERSION 1<br>#define PETSC_HAVE_MPI_IALLREDUCE 1<br>#define PETSC_HAVE_MPI_IBARRIER 1<br>#define PETSC_HAVE_MPI_INIT_THREAD 1<br>#define PETSC_HAVE_MPI_INT64_T 1<br>#define PETSC_HAVE_MPI_IN_PLACE 1<br>#define PETSC_HAVE_MPI_LONG_DOUBLE 1<br>#define PETSC_HAVE_MPI_NEIGHBORHOOD_COLLECTIVES 1<br>#define PETSC_HAVE_MPI_NONBLOCKING_COLLECTIVES 1<br>#define PETSC_HAVE_MPI_ONE_SIDED 1<br>#define PETSC_HAVE_MPI_PROCESS_SHARED_MEMORY 1<br>#define PETSC_HAVE_MPI_REDUCE_LOCAL 1<br>#define PETSC_HAVE_MPI_REDUCE_SCATTER 1<br>#define PETSC_HAVE_MPI_REDUCE_SCATTER_BLOCK 1<br>#define PETSC_HAVE_MPI_RGET 1<br>#define PETSC_HAVE_MPI_TYPE_DUP 1<br>#define PETSC_HAVE_MPI_TYPE_GET_ENVELOPE 1<br>#define PETSC_HAVE_MPI_WIN_CREATE 1<br>#define PETSC_HAVE_NANOSLEEP 1<br>#define PETSC_HAVE_NETDB_H 1<br>#define PETSC_HAVE_NETINET_IN_H 1<br>#define PETSC_HAVE_PACKAGES ":blaslapack:hdf5:mathlib:mpi:pthread:regex:x11:"<br>#define PETSC_HAVE_PETSC4PY 1<br>#define PETSC_HAVE_POPEN 1<br>#define PETSC_HAVE_PTHREAD 1<br>#define PETSC_HAVE_PTHREAD_BARRIER_T 1<br>#define PETSC_HAVE_PTHREAD_H 1<br>#define PETSC_HAVE_PWD_H 1<br>#define PETSC_HAVE_RAND 1<br>#define PETSC_HAVE_READLINK 1<br>#define PETSC_HAVE_REALPATH 1<br>#define PETSC_HAVE_REAL___FLOAT128 1<br>#define PETSC_HAVE_REGEX 1<br>#define PETSC_HAVE_RTLD_GLOBAL 1<br>#define PETSC_HAVE_RTLD_LAZY 1<br>#define PETSC_HAVE_RTLD_LOCAL 1<br>#define PETSC_HAVE_RTLD_NOW 1<br>#define PETSC_HAVE_SCHED_CPU_SET_T 1<br>#define PETSC_HAVE_SETJMP_H 1<br>#define PETSC_HAVE_SLEEP 1<br>#define PETSC_HAVE_SNPRINTF 1<br>#define PETSC_HAVE_SOCKET 1<br>#define PETSC_HAVE_SO_REUSEADDR 1<br>#define PETSC_HAVE_STDINT_H 1<br>#define PETSC_HAVE_STRCASECMP 1<br>#define PETSC_HAVE_STRINGS_H 1<br>#define PETSC_HAVE_STRUCT_SIGACTION 1<br>#define PETSC_HAVE_SYSINFO 1<br>#define PETSC_HAVE_SYS_PARAM_H 1<br>#define PETSC_HAVE_SYS_PROCFS_H 1<br>#define PETSC_HAVE_SYS_RESOURCE_H 1<br>#define PETSC_HAVE_SYS_SOCKET_H 1<br>#define PETSC_HAVE_SYS_SYSINFO_H 1<br>#define PETSC_HAVE_SYS_TIMES_H 1<br>#define PETSC_HAVE_SYS_TIME_H 1<br>#define PETSC_HAVE_SYS_TYPES_H 1<br>#define PETSC_HAVE_SYS_UTSNAME_H 1<br>#define PETSC_HAVE_SYS_WAIT_H 1<br>#define PETSC_HAVE_TGAMMA 1<br>#define PETSC_HAVE_TIME 1<br>#define PETSC_HAVE_TIME_H 1<br>#define PETSC_HAVE_UNAME 1<br>#define PETSC_HAVE_UNISTD_H 1<br>#define PETSC_HAVE_USLEEP 1<br>#define PETSC_HAVE_VA_COPY 1<br>#define PETSC_HAVE_VSNPRINTF 1<br>#define PETSC_HAVE_X 1<br>#define PETSC_HAVE_XMMINTRIN_H 1<br>#define PETSC_HDF5_HAVE_PARALLEL 1<br>#define PETSC_HDF5_HAVE_ZLIB 1<br>#define PETSC_IS_COLORING_MAX USHRT_MAX<br>#define PETSC_IS_COLORING_VALUE_TYPE short<br>#define PETSC_IS_COLORING_VALUE_TYPE_F integer2<br>#define PETSC_LEVEL1_DCACHE_LINESIZE 64<br>#define PETSC_LIB_DIR "/usr/local/petsc/linux-gnu-real-32/lib"<br>#define PETSC_MAX_PATH_LEN 4096<br>#define PETSC_MEMALIGN 16<br>#define PETSC_MPICC_SHOW "gcc -I/usr/local/include -L/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -Wl,--enable-new-dtags -lmpi"<br>#define PETSC_MPIU_IS_COLORING_VALUE_TYPE MPI_UNSIGNED_SHORT<br>#define PETSC_PETSC4PY_INSTALL_PATH "/usr/local/petsc/linux-gnu-real-32/lib"<br>#define PETSC_PREFETCH_HINT_NTA _MM_HINT_NTA<br>#define PETSC_PREFETCH_HINT_T0 _MM_HINT_T0<br>#define PETSC_PREFETCH_HINT_T1 _MM_HINT_T1<br>#define PETSC_PREFETCH_HINT_T2 _MM_HINT_T2<br>#define PETSC_PYTHON_EXE "/usr/bin/python3"<br>#define PETSC_Prefetch(a,b,c) _mm_prefetch((const char*)(a),(c))<br>#define PETSC_REPLACE_DIR_SEPARATOR '\\'<br>#define PETSC_SIGNAL_CAST <br>#define PETSC_SIZEOF_ENUM 4<br>#define PETSC_SIZEOF_INT 4<br>#define PETSC_SIZEOF_LONG 8<br>#define PETSC_SIZEOF_LONG_LONG 8<br>#define PETSC_SIZEOF_SHORT 2<br>#define PETSC_SIZEOF_SIZE_T 8<br>#define PETSC_SIZEOF_VOID_P 8<br>#define PETSC_SLSUFFIX "so"<br>#define PETSC_UINTPTR_T uintptr_t<br>#define PETSC_UNUSED __attribute((unused))<br>#define PETSC_USE_AVX512_KERNELS 1<br>#define PETSC_USE_BACKWARD_LOOP 1<br>#define PETSC_USE_CTABLE 1<br>#define PETSC_USE_DEBUG 1<br>#define PETSC_USE_DEBUGGER "gdb"<br>#define PETSC_USE_INFO 1<br>#define PETSC_USE_ISATTY 1<br>#define PETSC_USE_LOG 1<br>#define PETSC_USE_PROC_FOR_SIZE 1<br>#define PETSC_USE_REAL_DOUBLE 1<br>#define PETSC_USE_SHARED_LIBRARIES 1<br>#define PETSC_USE_SINGLE_LIBRARY 1<br>#define PETSC_USE_SOCKET_VIEWER 1<br>#define PETSC_USE_VISIBILITY_C 1<br>#define PETSC_USE_VISIBILITY_CXX 1<br>#define PETSC_USING_64BIT_PTR 1<br>#define PETSC_USING_F2003 1<br>#define PETSC_USING_F90FREEFORM 1<br>#define PETSC__BSD_SOURCE 1<br>#define PETSC__DEFAULT_SOURCE 1<br>#define PETSC__GNU_SOURCE 1<br>-----------------------------------------<br>Using C compile: mpicc -o .o -c -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Wno-misleading-indentation -Wno-stringop-overflow -fstack-protector -fvisibility=hidden -g3 -O0 <br>mpicc -show: gcc -I/usr/local/include -L/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -Wl,--enable-new-dtags -lmpi<br>C compiler version: gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0<br>Using C++ compile: mpicxx -o .o -c -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -fvisibility=hidden -g -O0 -fPIC -std=gnu++17 -I/usr/local/petsc/include -I/usr/local/petsc/linux-gnu-real-32/include <br>mpicxx -show: g++ -I/usr/local/include -L/usr/local/lib -lmpicxx -Wl,-rpath -Wl,/usr/local/lib -Wl,--enable-new-dtags -lmpi<br>C++ compiler version: g++ (Ubuntu 11.2.0-7ubuntu2) 11.2.0<br>Using Fortran compile: mpif90 -o .o -c -fPIC -Wall -ffree-line-length-0 -Wno-unused-dummy-argument -g -O0 -I/usr/local/petsc/include -I/usr/local/petsc/linux-gnu-real-32/include <br>mpif90 -show: gfortran -I/usr/local/include -I/usr/local/include -L/usr/local/lib -lmpifort -Wl,-rpath -Wl,/usr/local/lib -Wl,--enable-new-dtags -lmpi<br>Fortran compiler version: GNU Fortran (Ubuntu 11.2.0-7ubuntu2) 11.2.0<br>-----------------------------------------<br>Using C/C++ linker: mpicc<br>Using C/C++ flags: -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Wno-misleading-indentation -Wno-stringop-overflow -fstack-protector -fvisibility=hidden -g3 -O0<br>Using Fortran linker: mpif90<br>Using Fortran flags: -fPIC -Wall -ffree-line-length-0 -Wno-unused-dummy-argument -g -O0<br>-----------------------------------------<br>Using system modules:<br>Using mpi.h: # 1 "/usr/local/include/mpi.h" 1 3<br>-----------------------------------------<br>Using libraries: -Wl,-rpath,/usr/local/petsc/linux-gnu-real-32/lib -L/usr/local/petsc/linux-gnu-real-32/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11 -lpetsc -llapack -lblas -lhdf5_hl -lhdf5 -lm -lX11 -lstdc++ -ldl -lmpifort -lmpi -lgfortran -lm -lgfortran -lm -lgcc_s -lquadmath -lstdc++ -ldl<br>------------------------------------------<br>Using mpiexec: mpiexec<br>------------------------------------------<br>Using MAKE: /usr/bin/gmake<br>Using MAKEFLAGS: -j10 -l18.0 --no-print-directory -- PETSC_DIR=/usr/local/petsc PETSC_ARCH=linux-gnu-real-32<br>==========================================<br>gmake[3]: Nothing to be done for 'libs'.<br>*** Building petsc4py ***<br>/usr/bin/bash: line 1: cd: src/binding/petsc4py: No such file or directory<br>**************************ERROR*************************************<br>Error building petsc4py.<br>********************************************************************<br>gmake[2]: *** [/usr/local/petsc/linux-gnu-real-32/lib/petsc/conf/petscrules:45: petsc4pybuild] Error 1<br>**************************ERROR*************************************<br> Error during compile, check linux-gnu-real-32/lib/petsc/conf/make.log<br> Send it and linux-gnu-real-32/lib/petsc/conf/configure.log to <a href="mailto:petsc-maint@mcs.anl.gov">petsc-maint@mcs.anl.gov</a><br>********************************************************************<br>gmake[1]: *** [makefile:40: all] Error 1<br>make: *** [GNUmakefile:9: all] Error 2<br><br><div>Sorry for the massive text blob, but that was definitely unexepcted behaviour. I know I mailed before saying the --with-petsc4py option didn't change a thing, but now it seems to be breaking everything. I serached a bit through make.log and didn't find anything useful.<br></div><div><br></div>Quentin</div><br clear="all"><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><span style="font-family:"Arial",sans-serif;color:black"> </span>
<div>
<table style="width:369pt;margin-left:5.4pt;border-collapse:collapse" width="0" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr style="height:63pt">
<td style="width:57.75pt;border-color:windowtext currentcolor currentcolor;border-style:solid none none;border-width:1.5pt medium medium;padding:0cm 5.4pt;height:63pt" width="77" valign="top">
<p class="MsoNormal" style="margin-top:6pt;text-align:center" align="center"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><img style="width: 0.427in; height: 1in;" src="cid:image003.jpg@01D690CB.3B3FDC10" alt="cid:image003.jpg@01D690CB.3B3FDC10" width="41" height="96"></span></p>
</td>
<td style="width:311.25pt;border-style:solid none none;border-width:1.5pt medium medium;padding:0cm 5.4pt;height:63pt;border-color:currentcolor" width="415" valign="top">
<p class="MsoNormal" style="margin-right:0cm;margin-left:0.85pt;margin-bottom:0.0001pt;line-height:12pt;break-after:avoid">
<span style="font-size:11pt;font-family:"Berlin Sans FB",sans-serif;color:rgb(127,127,127)">Quentin CHEVALIER – IA parcours recherche</span></p>
<p class="MsoNormal" style="margin-left:0.9pt;line-height:12pt;break-after:avoid">
<span style="font-size:11pt;font-family:"Berlin Sans FB",sans-serif;color:rgb(127,127,127)">LadHyX - Ecole polytechnique</span></p>
<p class="MsoNormal" style="margin-left:0.9pt;line-height:12pt;break-after:avoid">
<span style="font-size:11pt;font-family:"Berlin Sans FB",sans-serif;color:rgb(127,127,127)">__________</span></p></td></tr></tbody></table></div></div></div></div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 9 Dec 2021 at 18:02, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Thu, Dec 9, 2021 at 11:40 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Matthew,<br>
<br>
You're absolutely right ! Editor error, my apologies. Running full<br>
process 1-5) in container gives :<br>
<br>
root@container_id: ./ex19 -da_refine 3 -pc_type mg -ksp_type fgmres<br>
lid velocity = 0.0016, prandtl # = 1., grashof # = 1.<br>
Number of SNES iterations = 2<br>
<br>
So I guess it is passing the test. </blockquote><div><br></div><div>Yes, that is right.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I guess it is a site-wide<br>
installation then. Is that good news or bad news when it comes to<br>
adding HDF5 on top of things ?<br></blockquote><div><br></div><div>It is fine either way. You should now be able to get further. petsc4py should be just using the shared</div><div>libraries, so you should now be able to run an HDF5 thing from there. Does it work?</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</div><div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Thank you for your time,<br>
<br>
Quentin<br>
<br>
On Wed, 8 Dec 2021 at 19:12, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
><br>
> On Wed, Dec 8, 2021 at 11:05 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>><br>
>> Sorry Matthew, I had a correct tabulation. The attached file gives the<br>
>> same error.<br>
><br>
><br>
> The file you attached has 6 spaces in front of ${CLINKER} rather than a tab character.<br>
><br>
> Thanks,<br>
><br>
> Matt<br>
><br>
>><br>
>> Quentin<br>
>><br>
>><br>
>><br>
>> Quentin CHEVALIER – IA parcours recherche<br>
>><br>
>> LadHyX - Ecole polytechnique<br>
>><br>
>> __________<br>
>><br>
>><br>
>><br>
>> On Wed, 8 Dec 2021 at 16:51, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> ><br>
>> > On Wed, Dec 8, 2021 at 9:39 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >><br>
>> >> Step 4) fails. Traceback is : makefile:2: *** missing separator. Stop.<br>
>> ><br>
>> ><br>
>> > Makefiles require a tab character at the beginning of every action line. When you cut & pasted from email<br>
>> > the tab got eaten. Once you put it back, the makefile will work.<br>
>> ><br>
>> >><br>
>> >> echo $CLINKER return an empty line. Same for PETSC_LIB. It would seem<br>
>> >> the docker container has no such environment variables. Or did you<br>
>> >> expect me to replace these by an environment specific linker ?<br>
>> ><br>
>> ><br>
>> > Those variables are defined in the included makefile<br>
>> ><br>
>> > include ${PETSC_DIR}/lib/petsc/conf/variables<br>
>> ><br>
>> > Thanks,<br>
>> ><br>
>> > Matt<br>
>> ><br>
>> >><br>
>> >> Quentin<br>
>> >><br>
>> >><br>
>> >><br>
>> >> Quentin CHEVALIER – IA parcours recherche<br>
>> >><br>
>> >> LadHyX - Ecole polytechnique<br>
>> >><br>
>> >> __________<br>
>> >><br>
>> >><br>
>> >><br>
>> >> On Wed, 8 Dec 2021 at 15:14, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> ><br>
>> >> > On Wed, Dec 8, 2021 at 9:07 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >><br>
>> >> >> I'm not sure I understand what you're saying... But it's my theory<br>
>> >> >> from the beginning that make check fails because PETSc examples were<br>
>> >> >> taken out of the docker image.<br>
>> >> ><br>
>> >> ><br>
>> >> > It appears so. There is no 'src' directory. Here is a simple way to test with an install like this.<br>
>> >> ><br>
>> >> > 1) mkdir test; cd test<br>
>> >> ><br>
>> >> > 2) Download the source: <a href="https://gitlab.com/petsc/petsc/-/raw/main/src/snes/tutorials/ex19.c?inline=false" rel="noreferrer" target="_blank">https://gitlab.com/petsc/petsc/-/raw/main/src/snes/tutorials/ex19.c?inline=false</a><br>
>> >> ><br>
>> >> > 3) Create a simple makefile:<br>
>> >> ><br>
>> >> > ex19: ex19.o<br>
>> >> > ${CLINKER} -o ex19 ex19.o ${PETSC_LIB}<br>
>> >> ><br>
>> >> > include ${PETSC_DIR}/lib/petsc/conf/variables<br>
>> >> > include ${PETSC_DIR}/lib/petsc/conf/rules<br>
>> >> ><br>
>> >> > 4) make ex19<br>
>> >> ><br>
>> >> > 5) ./ex19 -da_refine 3 -pc_type mg -ksp_type fgmres<br>
>> >> ><br>
>> >> > Thanks,<br>
>> >> ><br>
>> >> > Matt<br>
>> >> ><br>
>> >> >> I'm unsure what would be the correct way to discriminate between<br>
>> >> >> source and partial install, I tried a find . --name "testex19" from<br>
>> >> >> PETSC_DIR to no avail. A ls from PETSC_DIR yields : CODE_OF_CONDUCT.md<br>
>> >> >> CONTRIBUTING GNUmakefile LICENSE PKG-INFO config configtest.mod<br>
>> >> >> configure configure.log configure.log.bkp gmakefile gmakefile.test<br>
>> >> >> include interfaces lib linux-gnu-complex-32 linux-gnu-complex-64<br>
>> >> >> linux-gnu-real-32 linux-gnu-real-64 make.log makefile <a href="http://petscdir.mk" rel="noreferrer" target="_blank">petscdir.mk</a><br>
>> >> >> setup.py<br>
>> >> >><br>
>> >> >> Quentin<br>
>> >> >> On Wed, 8 Dec 2021 at 14:38, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> >> ><br>
>> >> >> > On Wed, Dec 8, 2021 at 8:29 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >><br>
>> >> >> >> @Matthew Knepley I'm confused by your comment. Judging from the<br>
>> >> >> >> traceback, PETSC_DIR is set and correct. You think it should be<br>
>> >> >> >> specified in the command line as well ?<br>
>> >> >> ><br>
>> >> >> ><br>
>> >> >> > You are right, usually this message<br>
>> >> >> ><br>
>> >> >> > >> /usr/bin/bash: line 1: cd: src/snes/tutorials: No such file or directory<br>
>> >> >> ><br>
>> >> >> > means that PETSC_DIR is undefined, and thus you cannot find the tutorials. However, it could be that<br>
>> >> >> > Your PETSC_DIR refers to a site-wide installation, which /usr/local/petsc seems like. There the source<br>
>> >> >> > is not installed and we cannot run 'make check' because only the headers and libraries are there. Is this<br>
>> >> >> > what is happening here?<br>
>> >> >> ><br>
>> >> >> > Thanks,<br>
>> >> >> ><br>
>> >> >> > Matt<br>
>> >> >> ><br>
>> >> >> >><br>
>> >> >> >> Quentin<br>
>> >> >> >><br>
>> >> >> >><br>
>> >> >> >><br>
>> >> >> >> Quentin CHEVALIER – IA parcours recherche<br>
>> >> >> >><br>
>> >> >> >> LadHyX - Ecole polytechnique<br>
>> >> >> >><br>
>> >> >> >> __________<br>
>> >> >> >><br>
>> >> >> >><br>
>> >> >> >><br>
>> >> >> >> On Wed, 8 Dec 2021 at 13:23, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> >> >> ><br>
>> >> >> >> > On Wed, Dec 8, 2021 at 4:08 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >> >><br>
>> >> >> >> >> @all thanks for your time it's heartening to see a lively community.<br>
>> >> >> >> >><br>
>> >> >> >> >> @Barry I've restarted the container and grabbed the .log file directly after the docker magic. I've tried a make check, it unsurprisingly spews the same answer as before :<br>
>> >> >> >> >><br>
>> >> >> >> >> Running check examples to verify correct installation<br>
>> >> >> >> >> Using PETSC_DIR=/usr/local/petsc and PETSC_ARCH=linux-gnu-real-32<br>
>> >> >> >> >> /usr/bin/bash: line 1: cd: src/snes/tutorials: No such file or directory<br>
>> >> >> >> >> /usr/bin/bash: line 1: cd: src/snes/tutorials: No such file or directory<br>
>> >> >> >> >> gmake[3]: *** No rule to make target 'testex19'. Stop.<br>
>> >> >> >> >> gmake[2]: *** [makefile:155: check_build] Error 2<br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > This happens if you run 'make check' without defining PETSC_DIR in your environment, since we are including<br>
>> >> >> >> > makefiles with PETSC_DIR in the path and make does not allow proper error messages in that case.<br>
>> >> >> >> ><br>
>> >> >> >> > Thanks,<br>
>> >> >> >> ><br>
>> >> >> >> > Matt<br>
>> >> >> >> ><br>
>> >> >> >> >><br>
>> >> >> >> >> @Matthew ok will do, but I think @Lawrence has already provided that answer. It's possible to change the dockerfile and recompute the dolfinx image with hdf5, only it is a time-consuming process.<br>
>> >> >> >> >><br>
>> >> >> >> >> Quentin<br>
>> >> >> >> >><br>
>> >> >> >> >><br>
>> >> >> >> >><br>
>> >> >> >> >> Quentin CHEVALIER – IA parcours recherche<br>
>> >> >> >> >><br>
>> >> >> >> >> LadHyX - Ecole polytechnique<br>
>> >> >> >> >><br>
>> >> >> >> >> __________<br>
>> >> >> >> >><br>
>> >> >> >> >><br>
>> >> >> >> >><br>
>> >> >> >> >> On Tue, 7 Dec 2021 at 19:16, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> >> >> >>><br>
>> >> >> >> >>> On Tue, Dec 7, 2021 at 9:43 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >> >>>><br>
>> >> >> >> >>>> @Matthew, as stated before, error output is unchanged, i.e.the python<br>
>> >> >> >> >>>> command below produces the same traceback :<br>
>> >> >> >> >>>><br>
>> >> >> >> >>>> # python3 -c "from petsc4py import PETSc; PETSc.Viewer().createHDF5('d.h5')"<br>
>> >> >> >> >>>> Traceback (most recent call last):<br>
>> >> >> >> >>>> File "<string>", line 1, in <module><br>
>> >> >> >> >>>> File "PETSc/Viewer.pyx", line 182, in petsc4py.PETSc.Viewer.createHDF5<br>
>> >> >> >> >>>> petsc4py.PETSc.Error: error code 86<br>
>> >> >> >> >>>> [0] PetscViewerSetType() at<br>
>> >> >> >> >>>> /usr/local/petsc/src/sys/classes/viewer/interface/viewreg.c:442<br>
>> >> >> >> >>>> [0] Unknown type. Check for miss-spelling or missing package:<br>
>> >> >> >> >>>> <a href="https://petsc.org/release/install/install/#external-packages" rel="noreferrer" target="_blank">https://petsc.org/release/install/install/#external-packages</a><br>
>> >> >> >> >>>> [0] Unknown PetscViewer type given: hdf5<br>
>> >> >> >> >>><br>
>> >> >> >> >>><br>
>> >> >> >> >>> The reason I wanted the output was that the C output shows the configure options that the PETSc library<br>
>> >> >> >> >>> was built with, However, Python seems to be eating this, so I cannot check.<br>
>> >> >> >> >>><br>
>> >> >> >> >>> It seems like using this container is counter-productive. If it was built correctly, making these changes would be trivial.<br>
>> >> >> >> >>> Send mail to FEniCS (I am guessing Chris Richardson maintains this), and ask how they intend people to change these<br>
>> >> >> >> >>> options.<br>
>> >> >> >> >>><br>
>> >> >> >> >>> Thanks,<br>
>> >> >> >> >>><br>
>> >> >> >> >>> Matt.<br>
>> >> >> >> >>><br>
>> >> >> >> >>>><br>
>> >> >> >> >>>> @Wence that makes sense. I'd assumed that the original PETSc had been<br>
>> >> >> >> >>>> overwritten, and if the linking has gone wrong I'm surprised anything<br>
>> >> >> >> >>>> happens with petsc4py at all.<br>
>> >> >> >> >>>><br>
>> >> >> >> >>>> Your tentative command gave :<br>
>> >> >> >> >>>><br>
>> >> >> >> >>>> ERROR: Invalid requirement: '/usr/local/petsc/src/binding/petsc4py'<br>
>> >> >> >> >>>> Hint: It looks like a path. File<br>
>> >> >> >> >>>> '/usr/local/petsc/src/binding/petsc4py' does not exist.<br>
>> >> >> >> >>>><br>
>> >> >> >> >>>> So I tested that global variables PETSC_ARCH & PETSC_DIR were correct<br>
>> >> >> >> >>>> then ran "pip install petsc4py" to restart petsc4py from scratch. This<br>
>> >> >> >> >>>> gives rise to a different error :<br>
>> >> >> >> >>>> # python3 -c "from petsc4py import PETSc"<br>
>> >> >> >> >>>> Traceback (most recent call last):<br>
>> >> >> >> >>>> File "<string>", line 1, in <module><br>
>> >> >> >> >>>> File "/usr/local/lib/python3.9/dist-packages/petsc4py/PETSc.py",<br>
>> >> >> >> >>>> line 3, in <module><br>
>> >> >> >> >>>> PETSc = ImportPETSc(ARCH)<br>
>> >> >> >> >>>> File "/usr/local/lib/python3.9/dist-packages/petsc4py/lib/__init__.py",<br>
>> >> >> >> >>>> line 29, in ImportPETSc<br>
>> >> >> >> >>>> return Import('petsc4py', 'PETSc', path, arch)<br>
>> >> >> >> >>>> File "/usr/local/lib/python3.9/dist-packages/petsc4py/lib/__init__.py",<br>
>> >> >> >> >>>> line 73, in Import<br>
>> >> >> >> >>>> module = import_module(pkg, name, path, arch)<br>
>> >> >> >> >>>> File "/usr/local/lib/python3.9/dist-packages/petsc4py/lib/__init__.py",<br>
>> >> >> >> >>>> line 58, in import_module<br>
>> >> >> >> >>>> with f: return imp.load_module(fullname, f, fn, info)<br>
>> >> >> >> >>>> File "/usr/lib/python3.9/imp.py", line 242, in load_module<br>
>> >> >> >> >>>> return load_dynamic(name, filename, file)<br>
>> >> >> >> >>>> File "/usr/lib/python3.9/imp.py", line 342, in load_dynamic<br>
>> >> >> >> >>>> return _load(spec)<br>
>> >> >> >> >>>> ImportError: /usr/local/lib/python3.9/dist-packages/petsc4py/lib/linux-gnu-real-32/<a href="http://PETSc.cpython-39-x86_64-linux-gnu.so" rel="noreferrer" target="_blank">PETSc.cpython-39-x86_64-linux-gnu.so</a>:<br>
>> >> >> >> >>>> undefined symbol: petscstack<br>
>> >> >> >> >>>><br>
>> >> >> >> >>>> Not sure that it a step forward ; looks like petsc4py is broken now.<br>
>> >> >> >> >>>><br>
>> >> >> >> >>>> Quentin<br>
>> >> >> >> >>>><br>
>> >> >> >> >>>> On Tue, 7 Dec 2021 at 14:58, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> > On Tue, Dec 7, 2021 at 8:26 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >> Ok my bad, that log corresponded to a tentative --download-hdf5. This<br>
>> >> >> >> >>>> >> log corresponds to the commands given above and has --with-hdf5 in its<br>
>> >> >> >> >>>> >> options.<br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> > Okay, this configure was successful and found HDF5<br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >> The whole process still results in the same error.<br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> > Now send me the complete error output with this PETSc.<br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> > Thanks,<br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> > Matt<br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >> Quentin<br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >> Quentin CHEVALIER – IA parcours recherche<br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >> LadHyX - Ecole polytechnique<br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >> __________<br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >><br>
>> >> >> >> >>>> >> On Tue, 7 Dec 2021 at 13:59, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> > On Tue, Dec 7, 2021 at 3:55 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >> Hello Matthew,<br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >> That would indeed make sense.<br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >> Full log is attached, I grepped hdf5 in there and didn't find anything alarming.<br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> > At the top of this log:<br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> > Configure Options: --configModules=PETSc.Configure --optionsModule=config.compilerOptions PETSC_ARCH=linux-gnu-complex-64 --COPTFLAGS=-O2 --CXXOPTFLAGS=-O2 --FOPTFLAGS=-O2 --with-make-np=2 --with-64-bit-indices=yes --with-debugging=no --with-fortran-bindings=no --with-shared-libraries --download-hypre --download-mumps --download-ptscotch --download-scalapack --download-suitesparse --download-superlu_dist --with-scalar-type=complex<br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> > So the HDF5 option is not being specified.<br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> > Thanks,<br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> > Matt<br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> >> Cheers,<br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >> Quentin<br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >> Quentin CHEVALIER – IA parcours recherche<br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >> LadHyX - Ecole polytechnique<br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >> __________<br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >><br>
>> >> >> >> >>>> >> >> On Mon, 6 Dec 2021 at 21:39, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>> On Mon, Dec 6, 2021 at 3:27 PM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >> >>>> >> >>>><br>
>> >> >> >> >>>> >> >>>> Fine. MWE is unchanged :<br>
>> >> >> >> >>>> >> >>>> * Run this docker container<br>
>> >> >> >> >>>> >> >>>> * Do : python3 -c "from petsc4py import PETSc; PETSc.Viewer().createHDF5('dummy.h5')"<br>
>> >> >> >> >>>> >> >>>><br>
>> >> >> >> >>>> >> >>>> Updated attempt at a fix :<br>
>> >> >> >> >>>> >> >>>> * cd /usr/local/petsc/<br>
>> >> >> >> >>>> >> >>>> * ./configure PETSC_ARCH= linux-gnu-real-32 PETSC_DIR=/usr/local/petsc --with-hdf5 --force<br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>> Did it find HDF5? If not, it will shut it off. You need to send us<br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>> $PETSC_DIR/configure.log<br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>> so we can see what happened in the configure run.<br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>> Thanks,<br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>> Matt<br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>>><br>
>> >> >> >> >>>> >> >>>> * make PETSC_DIR=/usr/local/petsc PETSC-ARCH= linux-gnu-real-32 all<br>
>> >> >> >> >>>> >> >>>><br>
>> >> >> >> >>>> >> >>>> Still no joy. The same error remains.<br>
>> >> >> >> >>>> >> >>>><br>
>> >> >> >> >>>> >> >>>> Quentin<br>
>> >> >> >> >>>> >> >>>><br>
>> >> >> >> >>>> >> >>>><br>
>> >> >> >> >>>> >> >>>><br>
>> >> >> >> >>>> >> >>>> On Mon, 6 Dec 2021 at 20:04, Pierre Jolivet <<a href="mailto:pierre@joliv.et" target="_blank">pierre@joliv.et</a>> wrote:<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > On 6 Dec 2021, at 7:42 PM, Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > The PETSC_DIR exactly corresponds to the previous one, so I guess that rules option b) out, except if a specific option is required to overwrite a previous installation of PETSc. As for a), well I thought reconfiguring pretty direct, you're welcome to give me a hint as to what could be wrong in the following process.<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > Steps to reproduce this behaviour are as follows :<br>
>> >> >> >> >>>> >> >>>> > * Run this docker container<br>
>> >> >> >> >>>> >> >>>> > * Do : python3 -c "from petsc4py import PETSc; PETSc.Viewer().createHDF5('dummy.h5')"<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > After you get the error Unknown PetscViewer type, feel free to try :<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > * cd /usr/local/petsc/<br>
>> >> >> >> >>>> >> >>>> > * ./configure --with-hfd5<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > It’s hdf5, not hfd5.<br>
>> >> >> >> >>>> >> >>>> > It’s PETSC_ARCH, not PETSC-ARCH.<br>
>> >> >> >> >>>> >> >>>> > PETSC_ARCH is missing from your configure line.<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > Thanks,<br>
>> >> >> >> >>>> >> >>>> > Pierre<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > * make PETSC_DIR=/usr/local/petsc PETSC-ARCH=linux-gnu-real-32 all<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > Then repeat the MWE and observe absolutely no behavioural change whatsoever. I'm afraid I don't know PETSc well enough to be surprised by that.<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > Quentin<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > Quentin CHEVALIER – IA parcours recherche<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > LadHyX - Ecole polytechnique<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > __________<br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > On Mon, 6 Dec 2021 at 19:24, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >> On Mon, Dec 6, 2021 at 1:22 PM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >> >>>> >> >>>> >>><br>
>> >> >> >> >>>> >> >>>> >>> It failed all of the tests included in `make<br>
>> >> >> >> >>>> >> >>>> >>> PETSC_DIR=/usr/local/petsc PETSC-ARCH=linux-gnu-real-32 check`, with<br>
>> >> >> >> >>>> >> >>>> >>> the error `/usr/bin/bash: line 1: cd: src/snes/tutorials: No such file<br>
>> >> >> >> >>>> >> >>>> >>> or directory`<br>
>> >> >> >> >>>> >> >>>> >>><br>
>> >> >> >> >>>> >> >>>> >>> I am therefore fairly confident this a "file absence" problem, and not<br>
>> >> >> >> >>>> >> >>>> >>> a compilation problem.<br>
>> >> >> >> >>>> >> >>>> >>><br>
>> >> >> >> >>>> >> >>>> >>> I repeat that there was no error at compilation stage. The final stage<br>
>> >> >> >> >>>> >> >>>> >>> did present `gmake[3]: Nothing to be done for 'libs'.` but that's all.<br>
>> >> >> >> >>>> >> >>>> >>><br>
>> >> >> >> >>>> >> >>>> >>> Again, running `./configure --with-hdf5` followed by a `make<br>
>> >> >> >> >>>> >> >>>> >>> PETSC_DIR=/usr/local/petsc PETSC-ARCH=linux-gnu-real-32 all` does not<br>
>> >> >> >> >>>> >> >>>> >>> change the problem. I get the same error at the same position as<br>
>> >> >> >> >>>> >> >>>> >>> before.<br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >> If you reconfigured and rebuilt, it is impossible to get the same error, so<br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >> a) You did not reconfigure<br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >> b) Your new build is somewhere else on the machine<br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >> Thanks,<br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >> Matt<br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >>><br>
>> >> >> >> >>>> >> >>>> >>> I will comment I am running on OpenSUSE.<br>
>> >> >> >> >>>> >> >>>> >>><br>
>> >> >> >> >>>> >> >>>> >>> Quentin<br>
>> >> >> >> >>>> >> >>>> >>><br>
>> >> >> >> >>>> >> >>>> >>> On Mon, 6 Dec 2021 at 19:09, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> > On Mon, Dec 6, 2021 at 1:08 PM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >> Hello Matthew and thanks for your quick response.<br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >> I'm afraid I did try to snoop around the container and rerun PETSc's<br>
>> >> >> >> >>>> >> >>>> >>> >> configure with the --with-hdf5 option, to absolutely no avail.<br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >> I didn't see any errors during config or make, but it failed the tests<br>
>> >> >> >> >>>> >> >>>> >>> >> (which aren't included in the minimal container I suppose)<br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> > Failed which tests? What was the error?<br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> > Thanks,<br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> > Matt<br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >> Quentin<br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >> Quentin CHEVALIER – IA parcours recherche<br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >> LadHyX - Ecole polytechnique<br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >> __________<br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >><br>
>> >> >> >> >>>> >> >>>> >>> >> On Mon, 6 Dec 2021 at 19:02, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br>
>> >> >> >> >>>> >> >>>> >>> >> ><br>
>> >> >> >> >>>> >> >>>> >>> >> > On Mon, Dec 6, 2021 at 11:28 AM Quentin Chevalier <<a href="mailto:quentin.chevalier@polytechnique.edu" target="_blank">quentin.chevalier@polytechnique.edu</a>> wrote:<br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >> Hello PETSc users,<br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >> This email is a duplicata of this gitlab issue, sorry for any inconvenience caused.<br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >> I want to compute a PETSc vector in real mode, than perform calculations with it in complex mode. I want as much of this process to be parallel as possible. Right now, I compile PETSc in real mode, compute my vector and save it to a file, then switch to complex mode, read it, and move on.<br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >> This creates unexpected behaviour using MPIIO, so on Lisandro Dalcinl's advice I'm moving to HDF5 format. My code is as follows (taking inspiration from petsc4py doc, a bitbucket example and another one, all top Google results for 'petsc hdf5') :<br>
>> >> >> >> >>>> >> >>>> >>> >> >>><br>
>> >> >> >> >>>> >> >>>> >>> >> >>> viewer = PETSc.Viewer().createHDF5(file_name, 'r', COMM_WORLD)<br>
>> >> >> >> >>>> >> >>>> >>> >> >>> q.load(viewer)<br>
>> >> >> >> >>>> >> >>>> >>> >> >>> q.ghostUpdate(addv=PETSc.InsertMode.INSERT, mode=PETSc.ScatterMode.FORWARD)<br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >> This crashes my code. I obtain traceback :<br>
>> >> >> >> >>>> >> >>>> >>> >> >>><br>
>> >> >> >> >>>> >> >>>> >>> >> >>> File "/home/shared/code.py", line 121, in Load<br>
>> >> >> >> >>>> >> >>>> >>> >> >>> viewer = PETSc.Viewer().createHDF5(file_name, 'r', COMM_WORLD)<br>
>> >> >> >> >>>> >> >>>> >>> >> >>> File "PETSc/Viewer.pyx", line 182, in petsc4py.PETSc.Viewer.createHDF5<br>
>> >> >> >> >>>> >> >>>> >>> >> >>> petsc4py.PETSc.Error: error code 86<br>
>> >> >> >> >>>> >> >>>> >>> >> >>> [0] PetscViewerSetType() at /usr/local/petsc/src/sys/classes/viewer/interface/viewreg.c:442<br>
>> >> >> >> >>>> >> >>>> >>> >> >>> [0] Unknown type. Check for miss-spelling or missing package: <a href="https://petsc.org/release/install/install/#external-packages" rel="noreferrer" target="_blank">https://petsc.org/release/install/install/#external-packages</a><br>
>> >> >> >> >>>> >> >>>> >>> >> >>> [0] Unknown PetscViewer type given: hdf5<br>
>> >> >> >> >>>> >> >>>> >>> >> ><br>
>> >> >> >> >>>> >> >>>> >>> >> > This means that PETSc has not been configured with HDF5 (--with-hdf5 or --download-hdf5), so the container should be updated.<br>
>> >> >> >> >>>> >> >>>> >>> >> ><br>
>> >> >> >> >>>> >> >>>> >>> >> > THanks,<br>
>> >> >> >> >>>> >> >>>> >>> >> ><br>
>> >> >> >> >>>> >> >>>> >>> >> > Matt<br>
>> >> >> >> >>>> >> >>>> >>> >> ><br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >> I have petsc4py 3.16 from this docker container (list of dependencies include PETSc and petsc4py).<br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >> I'm pretty sure this is not intended behaviour. Any insight as to how to fix this issue (I tried running ./configure --with-hdf5 to no avail) or more generally to perform this jiggling between real and complex would be much appreciated,<br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >> Kind regards.<br>
>> >> >> >> >>>> >> >>>> >>> >> >><br>
>> >> >> >> >>>> >> >>>> >>> >> >> Quentin<br>
>> >> >> >> >>>> >> >>>> >>> >> ><br>
>> >> >> >> >>>> >> >>>> >>> >> ><br>
>> >> >> >> >>>> >> >>>> >>> >> ><br>
>> >> >> >> >>>> >> >>>> >>> >> > --<br>
>> >> >> >> >>>> >> >>>> >>> >> > What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> >> >> >>>> >> >>>> >>> >> > -- Norbert Wiener<br>
>> >> >> >> >>>> >> >>>> >>> >> ><br>
>> >> >> >> >>>> >> >>>> >>> >> > <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> > --<br>
>> >> >> >> >>>> >> >>>> >>> > What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> >> >> >>>> >> >>>> >>> > -- Norbert Wiener<br>
>> >> >> >> >>>> >> >>>> >>> ><br>
>> >> >> >> >>>> >> >>>> >>> > <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >> --<br>
>> >> >> >> >>>> >> >>>> >> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> >> >> >>>> >> >>>> >> -- Norbert Wiener<br>
>> >> >> >> >>>> >> >>>> >><br>
>> >> >> >> >>>> >> >>>> >> <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> > <image003.jpg><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>>> ><br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>> --<br>
>> >> >> >> >>>> >> >>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> >> >> >>>> >> >>> -- Norbert Wiener<br>
>> >> >> >> >>>> >> >>><br>
>> >> >> >> >>>> >> >>> <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> > --<br>
>> >> >> >> >>>> >> > What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> >> >> >>>> >> > -- Norbert Wiener<br>
>> >> >> >> >>>> >> ><br>
>> >> >> >> >>>> >> > <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> > --<br>
>> >> >> >> >>>> > What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> >> >> >>>> > -- Norbert Wiener<br>
>> >> >> >> >>>> ><br>
>> >> >> >> >>>> > <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> >> >> >> >>><br>
>> >> >> >> >>><br>
>> >> >> >> >>><br>
>> >> >> >> >>> --<br>
>> >> >> >> >>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> >> >> >>> -- Norbert Wiener<br>
>> >> >> >> >>><br>
>> >> >> >> >>> <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > --<br>
>> >> >> >> > What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> >> >> > -- Norbert Wiener<br>
>> >> >> >> ><br>
>> >> >> >> > <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> >> >> ><br>
>> >> >> ><br>
>> >> >> ><br>
>> >> >> > --<br>
>> >> >> > What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> >> > -- Norbert Wiener<br>
>> >> >> ><br>
>> >> >> > <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> > --<br>
>> >> > What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> >> > -- Norbert Wiener<br>
>> >> ><br>
>> >> > <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
>> ><br>
>> ><br>
>> ><br>
>> > --<br>
>> > What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> > -- Norbert Wiener<br>
>> ><br>
>> > <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
><br>
><br>
><br>
> --<br>
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
> -- Norbert Wiener<br>
><br>
> <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>
</blockquote></div>