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