[Users] still trying to get it to work on Mac OS X Catalina

Murray Wolinsky mmwolinsky at gmail.com
Wed Jul 28 18:21:39 CDT 2021


Hi All,

I very much appreciate your help -- thanks Erik! But it still doesn't work.
In the Cactus directory  (I'm using ~/et/Cactus), I used the commands

rm -rf configs/sim
./simfactory/bin/sim build -j2 --thornlist ../einsteintoolkit.th
--optionlist=murray.cfg

with the file murray.cfg listed below.

Five notes:

[1] Roland 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.
[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've left the
version in ~/Cactus alone and I'm trying to build the toolkit in a new
directory ~/et/Cactus
[4] The older version used gcc-10, etc, which appears to no longer be
available. (It'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.
[5] I checked write permissions to verify I can write in all the
directories that I could find.

But I consistently get the same error message.

Is it possible that sim is still trying to build using (in part) the
~/Cactus directory? If it tries to do that, it won'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.)

Again, thank you!

Murray

____________________________________________

murray.cfg

# generic

# This option list is used internally by simfactory as a template during the
# sim setup and sim setup-silent commands
# Edit at your own risk

# Whenever this version string changes, the application is configured
# and rebuilt from scratch
VERSION = 2021-07-27
CPP = cpp-11
CC = gcc-11
CXX = g++-11
FPP = cpp-11
F90 = gfortran-11

CPPFLAGS = -std=gnu++11
FPPFLAGS = -traditional

CFLAGS   = -g -std=gnu99
CXXFLAGS = -g -std=gnu++11
F90FLAGS = -g -fcray-pointer -ffixed-line-length-none

LDFLAGS = -rdynamic

DEBUG           = no
CPP_DEBUG_FLAGS =
C_DEBUG_FLAGS   =
CXX_DEBUG_FLAGS =

OPTIMISE           = yes
CPP_OPTIMISE_FLAGS =
C_OPTIMISE_FLAGS   = -O2
CXX_OPTIMISE_FLAGS = -O2
F90_OPTIMISE_FLAGS = -O2

PROFILE           = no
CPP_PROFILE_FLAGS =
C_PROFILE_FLAGS   = -pg
CXX_PROFILE_FLAGS = -pg
F90_PROFILE_FLAGS = -pg
WARN           = yesfopenmp
CPP_WARN_FLAGS = -Wall
C_WARN_FLAGS   = -Wall
CXX_WARN_FLAGS = -Wall
F90_WARN_FLAGS = -Wall
OPENMP           = yes
CPP_OPENMP_FLAGS = -fopenmp
FPP_OPENMP_FLAGS = -D_OPENMP
C_OPENMP_FLAGS   = -fopenmp
CXX_OPENMP_FLAGS = -fopenmp
F90_OPENMP_FLAGS = -fopenmp

VECTORISE                = yes
VECTORISE_ALIGNED_ARRAYS = no
VECTORISE_INLINE         = yes

PTHREADS_DIR = NO_BUILD

On Wed, Jul 28, 2021 at 1:50 PM Erik Schnetter <schnetter at cct.lsu.edu>
wrote:

> 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 at 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
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20210728/08bed13c/attachment-0001.html 


More information about the Users mailing list