<div dir="ltr"><div dir="ltr">Hi All,<div><br></div><div>I very much appreciate your help -- thanks Erik! But it still doesn&#39;t work. In the Cactus directory  (I&#39;m using ~/et/Cactus), I used the commands</div><div><br></div><div>rm -rf configs/sim<br></div><div>./simfactory/bin/sim build -j2 --thornlist ../<a href="http://einsteintoolkit.th" target="_blank">einsteintoolkit.th</a><span class="gmail-Apple-converted-space"> </span>--optionlist=murray.cfg<br></div><div><br></div><div>with the file murray.cfg listed below. </div><div><br></div><div>Five notes:</div><div><br></div><div>[1]<span class="gmail-Apple-converted-space"> </span><span class="gmail-il">Roland</span><span class="gmail-Apple-converted-space"> </span>helped me to get the toolkit working this past April. That version (4.9) still works. Mostly we adjusted the OptionList file until we got it to work.</div><div>[3] But I want to be able to create a current version  (4.10) and also to be able to update it when new versions become available. So I&#39;ve left the version in ~/Cactus alone and I&#39;m trying to build the toolkit in a new directory ~/et/Cactus</div><div>[4] The older version used gcc-10, etc, which appears to no longer be available. (It&#39;s no longer on my machine, which crashed in May or June. Fortunately the compiled/linked sim code that used gcc-10 still runs.) I brew-installed gcc-11, verified that it points to the correct place, and created the murray.cfg file by updating the previously working OptionList file by substituting gcc-11 for gcc-10.</div><div>[5] I checked write permissions to verify I can write in all the directories that I could find. </div><div><br></div><div>But I consistently get the same error message.</div><div><br></div><div>Is it possible that sim is still trying to build using (in part) the ~/Cactus directory? If it tries to do that, it won&#39;t be able to find gcc-10 since that file no longer exists on my machine. (I guess I could move the old working version and try building again in my home directory.)</div><div><br></div><div>Again, thank you!</div><div><br></div><div>Murray</div><div><br></div><div>____________________________________________</div><div><br></div><div>murray.cfg</div><div><br></div><div><font size="1"># generic<br><br># This option list is used internally by simfactory as a template during the<br># sim setup and sim setup-silent commands<br># Edit at your own risk<br><br># Whenever this version string changes, the application is configured<br># and rebuilt from scratch<br>VERSION = 2021-07-27<br>CPP = cpp-11<br>CC = gcc-11<br>CXX = g++-11<br>FPP = cpp-11<br>F90 = gfortran-11<br><br>CPPFLAGS = -std=gnu++11<br>FPPFLAGS = -traditional<br></font><br><font size="1">CFLAGS   = -g -std=gnu99<br>CXXFLAGS = -g -std=gnu++11<br>F90FLAGS = -g -fcray-pointer -ffixed-line-length-none<br><br>LDFLAGS = -rdynamic<br><br>DEBUG           = no<br>CPP_DEBUG_FLAGS =<br>C_DEBUG_FLAGS   =<br>CXX_DEBUG_FLAGS =<br><br>OPTIMISE           = yes<br>CPP_OPTIMISE_FLAGS =<br>C_OPTIMISE_FLAGS   = -O2<br>CXX_OPTIMISE_FLAGS = -O2<br>F90_OPTIMISE_FLAGS = -O2<br><br>PROFILE           = no<br>CPP_PROFILE_FLAGS =<br>C_PROFILE_FLAGS   = -pg<br>CXX_PROFILE_FLAGS = -pg<br>F90_PROFILE_FLAGS = -pg</font><br><font size="1">WARN           = yesfopenmp<br>CPP_WARN_FLAGS = -Wall<br>C_WARN_FLAGS   = -Wall<br>CXX_WARN_FLAGS = -Wall<br>F90_WARN_FLAGS = -Wall<br>OPENMP           = yes<br>CPP_OPENMP_FLAGS = -fopenmp<br>FPP_OPENMP_FLAGS = -D_OPENMP<br>C_OPENMP_FLAGS   = -fopenmp<br>CXX_OPENMP_FLAGS = -fopenmp<br>F90_OPENMP_FLAGS = -fopenmp<br><br>VECTORISE                = yes<br>VECTORISE_ALIGNED_ARRAYS = no<br>VECTORISE_INLINE         = yes<br><br>PTHREADS_DIR = NO_BUILD</font><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 28, 2021 at 1:50 PM Erik Schnetter &lt;<a href="mailto:schnetter@cct.lsu.edu" target="_blank">schnetter@cct.lsu.edu</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Murray<br><br>I recommend creating an &quot;option list&quot;. This is a file that sets the<br>configuration variables. Simfactory&#39;s directory<br>&quot;simfactory/mdb/optionlists&quot; has many examples from other systems.<br><br>When you debug creating a configuration, it&#39;s a good idea to start<br>from scratch each time, so that left-over bits from earlier attempts<br>don&#39;t cause problems. You would &quot;rm -rf configs/sim&quot;, and then pass<br>the option &quot;--optionslist=...&quot; with your option list as argument.<br><br>-erik<br><br>On Wed, Jul 28, 2021 at 2:17 PM Murray Wolinsky &lt;<a href="mailto:mmwolinsky@gmail.com" target="_blank">mmwolinsky@gmail.com</a>&gt; wrote:<br>&gt;<br>&gt; Hi All,<br>&gt;<br>&gt; I&#39;m unable to build the Einstein Toolkit on Mac OS Catalina. Has anyone done so -- and do you have suggestions?<br>&gt;<br>&gt; When I try to run ./simfactory/bin/sim build -j2 --thornlist ../<a href="http://einsteintoolkit.th" rel="noreferrer" target="_blank">einsteintoolkit.th</a><span class="gmail-Apple-converted-space"> </span>I get the following error:<br>&gt;<br>&gt; Cactus requires a C++11 compiler -- check your C++ compiler and C++ compiler flags<br>&gt;<br>&gt; 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 :<br>&gt;<br>&gt; Setting CC to &#39;gcc-11&#39;<br>&gt; Setting CXX to &#39;g++-11&#39;<br>&gt;<br>&gt; Setting CXXFLAGS to &#39;-g -std=gnu++11&#39;<br>&gt;<br>&gt; etc.<br>&gt;<br>&gt; Do I need to set environment variables? Is there some other toolkit file I should l modify?<br>&gt;<br>&gt; I appreciate any help anyone can provide!<br>&gt;<br>&gt; Thanks in advance!<br>&gt;<br>&gt; Murray<br>&gt;<br>&gt; ____________________________________________________________<br>&gt;<br>&gt; This is the output from the above sim command:<br>&gt;<br>&gt; ~/et/Cactus ❯ ./simfactory/bin/sim build -j2 --thornlist ../<a href="http://einsteintoolkit.th" rel="noreferrer" target="_blank">einsteintoolkit.th</a>                         base 3.8.3 11:58:06<br>&gt; Using configuration: sim<br>&gt; Reconfiguring sim<br>&gt; Writing configuration to: /Users/murray/et/Cactus/configs/sim/OptionList<br>&gt; Cactus - version: 4.10.0<br>&gt; Reconfiguring sim.<br>&gt; Using configuration options from configure line<br>&gt;   Setting fds to &#39;3,4 -j --&#39;<br>&gt; End of options from configure line<br>&gt; Adding configuration options from &#39;/Users/murray/et/Cactus/configs/sim/OptionList&#39;...<br>&gt;   Setting VERSION to &#39;2021-07-27&#39;<br>&gt;   Setting CPP to &#39;cpp-11&#39;<br>&gt;   Setting CC to &#39;gcc-11&#39;<br>&gt;   Setting CXX to &#39;g++-11&#39;<br>&gt;   Setting FPP to &#39;cpp-11&#39;<br>&gt;   Setting F90 to &#39;gfortran-11&#39;<br>&gt;   Setting LIBS to &#39;gfortran&#39;<br>&gt;   Setting LIBDIRS to &#39;/usr/local/Cellar/gcc/11.1.0_1/lib/gcc/11/ /usr/local/lib/&#39;<br>&gt;   Setting CPPFLAGS to &#39;-g -std=gnu++11&#39;<br>&gt;   Setting FPPFLAGS to &#39;-traditional&#39;<br>&gt;   Setting CFLAGS to &#39;-g -std=gnu99&#39;<br>&gt;   Setting CXXFLAGS to &#39;-g -std=gnu++11&#39;<br>&gt;   Setting F90FLAGS to &#39;-g -fcray-pointer -ffixed-line-length-none&#39;<br>&gt;   Setting LDFLAGS to &#39;-rdynamic -I/usr/local/lib/gfortran&#39;<br>&gt;   Setting DEBUG to &#39;no&#39;<br>&gt;   Setting CPP_DEBUG_FLAGS to &#39;&#39;<br>&gt;   Setting C_DEBUG_FLAGS to &#39;&#39;<br>&gt;   Setting CXX_DEBUG_FLAGS to &#39;&#39;<br>&gt;   Setting OPTIMISE to &#39;yes&#39;<br>&gt;   Setting CPP_OPTIMISE_FLAGS to &#39;&#39;<br>&gt;   Setting C_OPTIMISE_FLAGS to &#39;-O2&#39;<br>&gt;   Setting CXX_OPTIMISE_FLAGS to &#39;-O2&#39;<br>&gt;   Setting F90_OPTIMISE_FLAGS to &#39;-O2&#39;<br>&gt;   Setting PROFILE to &#39;no&#39;<br>&gt;   Setting CPP_PROFILE_FLAGS to &#39;&#39;<br>&gt;   Setting C_PROFILE_FLAGS to &#39;-pg&#39;<br>&gt;   Setting CXX_PROFILE_FLAGS to &#39;-pg&#39;<br>&gt;   Setting F90_PROFILE_FLAGS to &#39;-pg&#39;<br>&gt;   Setting WARN to &#39;yes&#39;<br>&gt;   Setting CPP_WARN_FLAGS to &#39;-Wall&#39;<br>&gt;   Setting C_WARN_FLAGS to &#39;-Wall&#39;<br>&gt;   Setting CXX_WARN_FLAGS to &#39;-Wall&#39;<br>&gt;   Setting F90_WARN_FLAGS to &#39;-Wall&#39;<br>&gt;   Setting OPENMP to &#39;yes&#39;<br>&gt;   Setting CPP_OPENMP_FLAGS to &#39;-fopenmp&#39;<br>&gt;   Setting FPP_OPENMP_FLAGS to &#39;-D_OPENMP&#39;<br>&gt;   Setting C_OPENMP_FLAGS to &#39;-fopenmp&#39;<br>&gt;   Setting CXX_OPENMP_FLAGS to &#39;-fopenmp&#39;<br>&gt;   Setting F90_OPENMP_FLAGS to &#39;-fopenmp&#39;<br>&gt;   Setting VECTORISE to &#39;yes&#39;<br>&gt;   Setting VECTORISE_ALIGNED_ARRAYS to &#39;no&#39;<br>&gt;   Setting VECTORISE_INLINE to &#39;yes&#39;<br>&gt;   Setting PTHREADS_DIR to &#39;NO_BUILD&#39;<br>&gt; End of options from &#39;/Users/murray/et/Cactus/configs/sim/OptionList&#39;.<br>&gt; creating cache ./config.cache<br>&gt; checking host system type... x86_64-apple-darwin19.6.0<br>&gt; checking for mawk... no<br>&gt; checking for gawk... no<br>&gt; checking for nawk... no<br>&gt; checking for awk... awk<br>&gt; checking whether make sets ${MAKE}... yes<br>&gt; checking whether the C compiler (gcc-11 -g -std=gnu99 -rdynamic -I/usr/local/lib/gfortran) works... yes<br>&gt; checking whether the C compiler (gcc-11 -g -std=gnu99 -rdynamic -I/usr/local/lib/gfortran) is a cross-compiler... no<br>&gt; checking whether we are using GNU C... yes<br>&gt; checking whether the C++ compiler (g++-11 -g -std=gnu++11 -rdynamic -I/usr/local/lib/gfortran) works... yes<br>&gt; checking whether the C++ compiler (g++-11 -g -std=gnu++11 -rdynamic -I/usr/local/lib/gfortran) is a cross-compiler... no<br>&gt; checking whether we are using GNU C++... yes<br>&gt; checking for nvcc... no<br>&gt; checking for ranlib... ranlib<br>&gt; checking for perl... perl<br>&gt; checking for gtar... no<br>&gt; checking for tar... tar<br>&gt; checking for xargs... xargs<br>&gt; checking for gzip... gzip<br>&gt; checking for gpatch... no<br>&gt; checking for patch... patch<br>&gt; checking for git... git<br>&gt; checking for ar... ar<br>&gt; checking for mkdir... mkdir<br>&gt; checking for bash... /bin/sh<br>&gt; checking whether the Fortran compiler (gfortran-11  ) works... yes<br>&gt; checking whether the Fortran compiler (gfortran-11  ) is a cross-compiler... no<br>&gt; checking whether the Fortran compiler (gfortran-11  ) supports TYPE(*) for CCTK_PointerTo... yes<br>&gt; checking how to run the C preprocessor... cpp-11<br>&gt; checking for ANSI C header files... no<br>&gt; checking for C99 features... yes<br>&gt; checking for M_PI... yes<br>&gt; checking for C strdup... yes<br>&gt; checking for C++ strdup... yes<br>&gt; checking whether byte ordering is bigendian... no<br>&gt; checking size of long long... 8<br>&gt; checking size of long int... 8<br>&gt; checking size of int... 4<br>&gt; checking size of short int... 2<br>&gt; checking size of long double... 16<br>&gt; checking size of double... 8<br>&gt; checking size of float... 4<br>&gt; checking size of char *... 8<br>&gt; checking for the null device... /dev/null<br>&gt; checking for gethostbyname... yes<br>&gt; checking whether mode_t is defined... yes<br>&gt; checking for availability of gettimeofday timing... yes<br>&gt; checking if gettimeofday needs timezone... yes<br>&gt; checking for availability of getrusage timing... yes<br>&gt; checking for availability of _ftime timing... no<br>&gt; checking for time.h... yes<br>&gt; checking for sys/time.h... yes<br>&gt; checking for sys/types.h... yes<br>&gt; checking for unistd.h... yes<br>&gt; checking for string.h... yes<br>&gt; checking for assert.h... yes<br>&gt; checking for tgmath.h... yes<br>&gt; checking for sys/stat.h... yes<br>&gt; checking for getopt.h... yes<br>&gt; checking for dirent.h... yes<br>&gt; checking for c_asm.h... no<br>&gt; checking for intrinsics.h... no<br>&gt; checking for mach/mach_time.h... yes<br>&gt; checking for regex.h... yes<br>&gt; checking for sys/filio.h... yes<br>&gt; checking for sys/ioctl.h... yes<br>&gt; checking for sys/socket.h... yes<br>&gt; checking for netinet/in.h... yes<br>&gt; checking for netdb.h... yes<br>&gt; checking for arpa/inet.h... yes<br>&gt; checking for winsock2.h... no<br>&gt; checking for crypt.h... no<br>&gt; checking for signal.h... yes<br>&gt; checking for malloc.h... no<br>&gt; checking for sched.h... yes<br>&gt; checking for execinfo.h... yes<br>&gt; checking whether time.h and sys/time.h may both be included... yes<br>&gt; checking whether socklen_t is defined... yes<br>&gt; checking whether SOCKET is defined... no<br>&gt; checking for hrtime_t... no<br>&gt; checking for gethrtime... no<br>&gt; checking for read_real_time... no<br>&gt; checking for time_base_to_time... no<br>&gt; checking for clock_gettime... yes<br>&gt; checking for mach_absolute_time... yes<br>&gt; checking for _rtc intrinsic... no<br>&gt; checking for mallinfo... no<br>&gt; checking for mallopt... no<br>&gt; checking for malloc_info... no<br>&gt; checking whether M_MMAP_THRESHOLD is defined... no<br>&gt; checking for sched_getaffinity... no<br>&gt; checking for getpid... yes<br>&gt; checking if __int64 is defined... no<br>&gt; checking if __int128 is defined... yes<br>&gt; checking for vector... yes<br>&gt; checking for vector.h... no<br>&gt; checking if Intel compiler has broken restrict... no<br>&gt; checking if compiler has broken omp collapse... no<br>&gt; checking for getopt_long_only... yes<br>&gt; checking for working const... yes<br>&gt; checking for C inline... inline<br>&gt; checking for C static inline... static inline<br>&gt; checking for C restrict... restrict<br>&gt; checking for C++ restrict... __restrict__<br>&gt; checking for C++ copysign... std::copysign<br>&gt; checking for C++ fpclassify... std::fpclassify<br>&gt; checking for C++ isfinite... std::isfinite<br>&gt; checking for C++ isinf... std::isinf<br>&gt; checking for C++ isnan... std::isnan<br>&gt; checking for C++ isnormal... std::isnormal<br>&gt; checking for C++ signbit... std::signbit<br>&gt; checking for C _Pragma... yes<br>&gt; checking for C data __attribute__((__common__))... yes<br>&gt; checking for C+ data __attribute__((__common__))... yes<br>&gt; checking for C function __attribute__((__noinline__))... yes<br>&gt; checking for C++ function __attribute__((__noinline__))... yes<br>&gt; checking for C++ member function __attribute__((__noinline__))... yes<br>&gt; checking for C function __attribute__((__always_inline__))... yes<br>&gt; checking for C++ function __attribute__((__always_inline__))... yes<br>&gt; checking for C++ member function __attribute__((__always_inline__))... yes<br>&gt; checking for C __attribute__((__unused__))... yes<br>&gt; checking for C++ __attribute__((__unused__))... yes<br>&gt; checking for C __attribute__((__aligned__(...)))... yes<br>&gt; checking for C++ __attribute__((__aligned__(...)))... yes<br>&gt; checking for C __attribute__((__cold__))... yes<br>&gt; checking for C++ __attribute__((__cold__))... yes<br>&gt; checking for C __attribute__((__hot__))... yes<br>&gt; checking for C++ __attribute__((__hot__))... yes<br>&gt; checking for C __attribute__((__format__(printf, 1, 2)))... yes<br>&gt; checking for C++ __attribute__((__format__(printf, 1, 2)))... yes<br>&gt; checking for C __attribute__((__noreturn__))... yes<br>&gt; checking for C++ __attribute__((__noreturn__))... yes<br>&gt; checking for C __attribute__((__nonnull__))... yes<br>&gt; checking for C++ __attribute__((__nonnull__))... yes<br>&gt; checking for C __attribute__((__returns_nonnull__))... yes<br>&gt; checking for C++ __attribute__((__returns_nonnull__))... yes<br>&gt; checking for C __builtin_expect... yes<br>&gt; checking for C++ __builtin_expect... yes<br>&gt; checking for C __builtin_trap... yes<br>&gt; checking for C++ __builtin_trap... yes<br>&gt; checking for C __builtin_unreachable... yes<br>&gt; checking for C++ __builtin_unreachable... yes<br>&gt; checking for C __builtin_assume_aligned... yes<br>&gt; checking for C++ __builtin_assume_aligned... yes<br>&gt; checking for C++ static_assert... yes<br>&gt; checking for C++ auto specifier... yes<br>&gt; checking for C++ lambda expressions... yes<br>&gt; checking for C++ range-based for statements... no<br>&gt; Cactus requires a C++11 compiler -- check your C++ compiler and C++ compiler flags<br>&gt;</blockquote></div></div>