<div dir="ltr">Hi All,<div><br></div><div>I&#39;m unable to build the Einstein Toolkit on Mac OS Catalina. Has anyone done so -- and do you have suggestions?</div><div><br></div><div>When I try to run <font size="1">./simfactory/bin/sim build -j2 --thornlist ../<a href="http://einsteintoolkit.th">einsteintoolkit.th</a></font> I get the following error:</div><div><br></div><div><font size="1">Cactus requires a C++11 compiler -- check your C++ compiler and C++ compiler flags</font></div><div><br></div><div>I know that the Mac makes it very difficult to use gcc instead of clang, but AFAICS I&#39;m using the Homebrew gcc-11 compiler (Homebrew GCC 11.1.0_1) 11.1.0) and setting the options and flags properly in both the files OptionsList and generic-11.cfg :</div><div><br></div><div>Setting CC to &#39;gcc-11&#39;<br></div><div>Setting CXX to &#39;g++-11&#39;<br></div><div><br></div><div>Setting CXXFLAGS to &#39;-g -std=gnu++11&#39;<br></div><div><br></div><div>etc.</div><div><br></div><div>Do I need to set environment variables? Is there some other toolkit file I should l modify? </div><div><br></div><div>I appreciate any help anyone can provide!</div><div><br></div><div>Thanks in advance!</div><div><br></div><div>Murray</div><div><br></div><div>____________________________________________________________</div><div><br></div><div>This is the output from the above sim command:</div><div><br></div><div><font size="1">~/et/Cactus ❯ ./simfactory/bin/sim build -j2 --thornlist ../<a href="http://einsteintoolkit.th">einsteintoolkit.th</a>                         base 3.8.3 11:58:06<br>Using configuration: sim<br>Reconfiguring sim<br>Writing configuration to: /Users/murray/et/Cactus/configs/sim/OptionList<br>Cactus - version: 4.10.0<br>Reconfiguring sim.<br>Using configuration options from configure line<br>  Setting fds to &#39;3,4 -j --&#39;<br>End of options from configure line<br>Adding configuration options from &#39;/Users/murray/et/Cactus/configs/sim/OptionList&#39;...<br>  Setting VERSION to &#39;2021-07-27&#39;<br>  Setting CPP to &#39;cpp-11&#39;<br>  Setting CC to &#39;gcc-11&#39;<br>  Setting CXX to &#39;g++-11&#39;<br>  Setting FPP to &#39;cpp-11&#39;<br>  Setting F90 to &#39;gfortran-11&#39;<br>  Setting LIBS to &#39;gfortran&#39;<br>  Setting LIBDIRS to &#39;/usr/local/Cellar/gcc/11.1.0_1/lib/gcc/11/ /usr/local/lib/&#39;<br>  Setting CPPFLAGS to &#39;-g -std=gnu++11&#39;<br>  Setting FPPFLAGS to &#39;-traditional&#39;<br>  Setting CFLAGS to &#39;-g -std=gnu99&#39;<br>  Setting CXXFLAGS to &#39;-g -std=gnu++11&#39;<br>  Setting F90FLAGS to &#39;-g -fcray-pointer -ffixed-line-length-none&#39;<br>  Setting LDFLAGS to &#39;-rdynamic -I/usr/local/lib/gfortran&#39;<br>  Setting DEBUG to &#39;no&#39;<br>  Setting CPP_DEBUG_FLAGS to &#39;&#39;<br>  Setting C_DEBUG_FLAGS to &#39;&#39;<br>  Setting CXX_DEBUG_FLAGS to &#39;&#39;<br>  Setting OPTIMISE to &#39;yes&#39;<br>  Setting CPP_OPTIMISE_FLAGS to &#39;&#39;<br>  Setting C_OPTIMISE_FLAGS to &#39;-O2&#39;<br>  Setting CXX_OPTIMISE_FLAGS to &#39;-O2&#39;<br>  Setting F90_OPTIMISE_FLAGS to &#39;-O2&#39;<br>  Setting PROFILE to &#39;no&#39;<br>  Setting CPP_PROFILE_FLAGS to &#39;&#39;<br>  Setting C_PROFILE_FLAGS to &#39;-pg&#39;<br>  Setting CXX_PROFILE_FLAGS to &#39;-pg&#39;<br>  Setting F90_PROFILE_FLAGS to &#39;-pg&#39;<br>  Setting WARN to &#39;yes&#39;<br>  Setting CPP_WARN_FLAGS to &#39;-Wall&#39;<br>  Setting C_WARN_FLAGS to &#39;-Wall&#39;<br>  Setting CXX_WARN_FLAGS to &#39;-Wall&#39;<br>  Setting F90_WARN_FLAGS to &#39;-Wall&#39;<br>  Setting OPENMP to &#39;yes&#39;<br>  Setting CPP_OPENMP_FLAGS to &#39;-fopenmp&#39;<br>  Setting FPP_OPENMP_FLAGS to &#39;-D_OPENMP&#39;<br>  Setting C_OPENMP_FLAGS to &#39;-fopenmp&#39;<br>  Setting CXX_OPENMP_FLAGS to &#39;-fopenmp&#39;<br>  Setting F90_OPENMP_FLAGS to &#39;-fopenmp&#39;<br>  Setting VECTORISE to &#39;yes&#39;<br>  Setting VECTORISE_ALIGNED_ARRAYS to &#39;no&#39;<br>  Setting VECTORISE_INLINE to &#39;yes&#39;<br>  Setting PTHREADS_DIR to &#39;NO_BUILD&#39;<br>End of options from &#39;/Users/murray/et/Cactus/configs/sim/OptionList&#39;.<br>creating cache ./config.cache<br>checking host system type... x86_64-apple-darwin19.6.0<br>checking for mawk... no<br>checking for gawk... no<br>checking for nawk... no<br>checking for awk... awk<br>checking whether make sets ${MAKE}... yes<br>checking whether the C compiler (gcc-11 -g -std=gnu99 -rdynamic -I/usr/local/lib/gfortran) works... yes<br>checking whether the C compiler (gcc-11 -g -std=gnu99 -rdynamic -I/usr/local/lib/gfortran) is a cross-compiler... no<br>checking whether we are using GNU C... yes<br>checking whether the C++ compiler (g++-11 -g -std=gnu++11 -rdynamic -I/usr/local/lib/gfortran) works... yes<br>checking whether the C++ compiler (g++-11 -g -std=gnu++11 -rdynamic -I/usr/local/lib/gfortran) is a cross-compiler... no<br>checking whether we are using GNU C++... yes<br>checking for nvcc... no<br>checking for ranlib... ranlib<br>checking for perl... perl<br>checking for gtar... no<br>checking for tar... tar<br>checking for xargs... xargs<br>checking for gzip... gzip<br>checking for gpatch... no<br>checking for patch... patch<br>checking for git... git<br>checking for ar... ar<br>checking for mkdir... mkdir<br>checking for bash... /bin/sh<br>checking whether the Fortran compiler (gfortran-11  ) works... yes<br>checking whether the Fortran compiler (gfortran-11  ) is a cross-compiler... no<br>checking whether the Fortran compiler (gfortran-11  ) supports TYPE(*) for CCTK_PointerTo... yes<br>checking how to run the C preprocessor... cpp-11<br>checking for ANSI C header files... no<br>checking for C99 features... yes<br>checking for M_PI... yes<br>checking for C strdup... yes<br>checking for C++ strdup... yes<br>checking whether byte ordering is bigendian... no<br>checking size of long long... 8<br>checking size of long int... 8<br>checking size of int... 4<br>checking size of short int... 2<br>checking size of long double... 16<br>checking size of double... 8<br>checking size of float... 4<br>checking size of char *... 8<br>checking for the null device... /dev/null<br>checking for gethostbyname... yes<br>checking whether mode_t is defined... yes<br>checking for availability of gettimeofday timing... yes<br>checking if gettimeofday needs timezone... yes<br>checking for availability of getrusage timing... yes<br>checking for availability of _ftime timing... no<br>checking for time.h... yes<br>checking for sys/time.h... yes<br>checking for sys/types.h... yes<br>checking for unistd.h... yes<br>checking for string.h... yes<br>checking for assert.h... yes<br>checking for tgmath.h... yes<br>checking for sys/stat.h... yes<br>checking for getopt.h... yes<br>checking for dirent.h... yes<br>checking for c_asm.h... no<br>checking for intrinsics.h... no<br>checking for mach/mach_time.h... yes<br>checking for regex.h... yes<br>checking for sys/filio.h... yes<br>checking for sys/ioctl.h... yes<br>checking for sys/socket.h... yes<br>checking for netinet/in.h... yes<br>checking for netdb.h... yes<br>checking for arpa/inet.h... yes<br>checking for winsock2.h... no<br>checking for crypt.h... no<br>checking for signal.h... yes<br>checking for malloc.h... no<br>checking for sched.h... yes<br>checking for execinfo.h... yes<br>checking whether time.h and sys/time.h may both be included... yes<br>checking whether socklen_t is defined... yes<br>checking whether SOCKET is defined... no<br>checking for hrtime_t... no<br>checking for gethrtime... no<br>checking for read_real_time... no<br>checking for time_base_to_time... no<br>checking for clock_gettime... yes<br>checking for mach_absolute_time... yes<br>checking for _rtc intrinsic... no<br>checking for mallinfo... no<br>checking for mallopt... no<br>checking for malloc_info... no<br>checking whether M_MMAP_THRESHOLD is defined... no<br>checking for sched_getaffinity... no<br>checking for getpid... yes<br>checking if __int64 is defined... no<br>checking if __int128 is defined... yes<br>checking for vector... yes<br>checking for vector.h... no<br>checking if Intel compiler has broken restrict... no<br>checking if compiler has broken omp collapse... no<br>checking for getopt_long_only... yes<br>checking for working const... yes<br>checking for C inline... inline<br>checking for C static inline... static inline<br>checking for C restrict... restrict<br>checking for C++ restrict... __restrict__<br>checking for C++ copysign... std::copysign<br>checking for C++ fpclassify... std::fpclassify<br>checking for C++ isfinite... std::isfinite<br>checking for C++ isinf... std::isinf<br>checking for C++ isnan... std::isnan<br>checking for C++ isnormal... std::isnormal<br>checking for C++ signbit... std::signbit<br>checking for C _Pragma... yes<br>checking for C data __attribute__((__common__))... yes<br>checking for C+ data __attribute__((__common__))... yes<br>checking for C function __attribute__((__noinline__))... yes<br>checking for C++ function __attribute__((__noinline__))... yes<br>checking for C++ member function __attribute__((__noinline__))... yes<br>checking for C function __attribute__((__always_inline__))... yes<br>checking for C++ function __attribute__((__always_inline__))... yes<br>checking for C++ member function __attribute__((__always_inline__))... yes<br>checking for C __attribute__((__unused__))... yes<br>checking for C++ __attribute__((__unused__))... yes<br>checking for C __attribute__((__aligned__(...)))... yes<br>checking for C++ __attribute__((__aligned__(...)))... yes<br>checking for C __attribute__((__cold__))... yes<br>checking for C++ __attribute__((__cold__))... yes<br>checking for C __attribute__((__hot__))... yes<br>checking for C++ __attribute__((__hot__))... yes<br>checking for C __attribute__((__format__(printf, 1, 2)))... yes<br>checking for C++ __attribute__((__format__(printf, 1, 2)))... yes<br>checking for C __attribute__((__noreturn__))... yes<br>checking for C++ __attribute__((__noreturn__))... yes<br>checking for C __attribute__((__nonnull__))... yes<br>checking for C++ __attribute__((__nonnull__))... yes<br>checking for C __attribute__((__returns_nonnull__))... yes<br>checking for C++ __attribute__((__returns_nonnull__))... yes<br>checking for C __builtin_expect... yes<br>checking for C++ __builtin_expect... yes<br>checking for C __builtin_trap... yes<br>checking for C++ __builtin_trap... yes<br>checking for C __builtin_unreachable... yes<br>checking for C++ __builtin_unreachable... yes<br>checking for C __builtin_assume_aligned... yes<br>checking for C++ __builtin_assume_aligned... yes<br>checking for C++ static_assert... yes<br>checking for C++ auto specifier... yes<br>checking for C++ lambda expressions... yes<br>checking for C++ range-based for statements... no<br>Cactus requires a C++11 compiler -- check your C++ compiler and C++ compiler flags</font><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div>