[GAP Forum] Problem building Gap in an M1 Mac: "ABI=64 is not among the following valid choices: 32"

Luís Sequeira lfsequeira at fc.ul.pt
Tue Aug 17 18:46:59 BST 2021


Dear all

I have been trying to help my coworker install Gap 4.11.1 on his M1 mac.

We had no trouble downloading, and running ./configure
When running make, it fails with the error message in the subject: 
 "ABI=64 is not among the following valid choices: 32"

To note, all macs are 64-bit machines, and so are the new "Apple Silicon" macs with the M1 SoC.

The error may be occurring when building gmp, but I'm not sure.

I would be very grateful for any suggestions. I include below the output we got from running ./configue and make, in case that may help.

Also, if anyone has either a positive or negative experience with installing on an M1 mac, I'd love to hear about it.

Best regards

Luís Sequeira


------- output from make follows --------

touch "/Users/mjoao/gap-4.11.1/extern/gmp/doc/gmp.info"
MAKE=/Applications/Xcode.app/Contents/Developer/usr/bin/make ./cnf/build-extern.sh gmp "/Users/mjoao/gap-4.11.1/extern/gmp" ABI=64 --disable-static --enable-shared
=== START building  ===
~/gap-4.11.1/extern/build/gmp ~/gap-4.11.1
checking build system type... arm-apple-darwin20.4.0
checking host system type... arm-apple-darwin20.4.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /Users/mjoao/gap-4.11.1/extern/gmp/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether /Applications/Xcode.app/Contents/Developer/usr/bin/make sets $(MAKE)... yes
checking whether /Applications/Xcode.app/Contents/Developer/usr/bin/make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: error: ABI=64 is not among the following valid choices: 32

-----------------------------------------


------- output from ./configure follows --------

checking build system type... arm-apple-darwin20.4.0
checking host system type... arm-apple-darwin20.4.0
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for gcc option to accept ISO C99... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking ABI flags... 
checking how to run the C preprocessor... gcc -m64 -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of void *... 8
checking ABI bit size... 64
checking for a BSD-compatible install... /usr/bin/install -c
checking for a thread-safe mkdir -p... cnf/install-sh -c -d
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc -m64... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786432
checking how to convert arm-apple-darwin20.4.0 file names to arm-apple-darwin20.4.0 format... func_convert_file_noop
checking how to convert arm-apple-darwin20.4.0 file names to toolchain format... func_convert_file_noop
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking command to parse /usr/bin/nm -B output from gcc -m64 object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc -m64 supports -fno-rtti -fno-exceptions... yes
checking for gcc -m64 option to produce PIC... -fno-common -DPIC
checking if gcc -m64 PIC flag -fno-common -DPIC works... yes
checking if gcc -m64 static flag -static works... no
checking if gcc -m64 supports -c -o file.o... yes
checking if gcc -m64 supports -c -o file.o... (cached) yes
checking whether the gcc -m64 linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin20.4.0 dyld
checking how to hardcode library paths into programs... immediate
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... g++ -m64 -E
checking for ld used by g++ -m64... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the g++ -m64 linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking for g++ -m64 option to produce PIC... -fno-common -DPIC
checking if g++ -m64 PIC flag -fno-common -DPIC works... yes
checking if g++ -m64 static flag -static works... no
checking if g++ -m64 supports -c -o file.o... yes
checking if g++ -m64 supports -c -o file.o... (cached) yes
checking whether the g++ -m64 linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin20.4.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether byte ordering is bigendian... no
checking for __attribute__((always_inline))... yes
checking for __attribute__((format))... yes
checking for __attribute__((noinline))... yes
checking for __attribute__((noreturn))... yes
checking for __builtin_mul_overflow... no
checking for __builtin_clz... yes
checking for __builtin_clzl... yes
checking for __builtin_clzll... yes
checking for __builtin_popcountl... yes
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking whether to enable HPC-GAP... no
checking which garbage collector to use... gasman
checking whether to enable debug mode... no
checking whether to enable maintainer-mode mode... yes
checking whether to enable memory checking... no
checking whether to enable valgrind extensions to GASMAN... no
checking whether to treat C compiler warnings as errors... no
checking whether C compiler accepts -Werror=unknown-warning-option... yes
checking whether C compiler accepts -Wno-suggest-attribute=format... yes
checking whether C compiler accepts -fno-strict-aliasing... yes
checking whether C compiler accepts -Wall... yes
checking whether C compiler accepts -Wextra... yes
checking whether C compiler accepts -Warray-bounds... yes
checking whether C compiler accepts -Wno-cast-function-type... no
checking whether C compiler accepts -Wdouble-promotion... yes
checking whether C compiler accepts -Wduplicated-branches... no
checking whether C compiler accepts -Wduplicated-cond... no
checking whether C compiler accepts -Wformat-nonliteral... yes
checking whether C compiler accepts -Wformat-security... yes
checking whether C compiler accepts -Wformat=2... yes
checking whether C compiler accepts -Winit-self... yes
checking whether C compiler accepts -Wno-inline... yes
checking whether C compiler accepts -Wlogical-op... no
checking whether C compiler accepts -Wmissing-field-initializers... yes
checking whether C compiler accepts -Wmissing-format-attribute... yes
checking whether C compiler accepts -Wmissing-include-dirs... yes
checking whether C compiler accepts -Wmissing-variable-declarations... yes
checking whether C compiler accepts -Wno-pragmas... yes
checking whether C compiler accepts -Wpacked... yes
checking whether C compiler accepts -Wpointer-arith... yes
checking whether C compiler accepts -Wredundant-decls... yes
checking whether C compiler accepts -Wredundant-decls... (cached) yes
checking whether C compiler accepts -Wrestrict... no
checking whether C compiler accepts -Wreturn-type... yes
checking whether C compiler accepts -Wshadow... yes
checking whether C compiler accepts -Wno-sign-compare... yes
checking whether C compiler accepts -Wstrict-aliasing... yes
checking whether C compiler accepts -Wundef... yes
checking whether C compiler accepts -Wunused-but-set-variable... no
checking whether C compiler accepts -Wno-unused-parameter... yes
checking whether C compiler accepts -Wwrite-strings... yes
checking whether C compiler accepts -Wno-implicit-fallthrough... yes
checking whether C compiler accepts -Wimplicit-function-declaration... yes
checking whether C compiler accepts -Wjump-misses-init... no
checking whether C compiler accepts -Wnested-externs... yes
checking whether C compiler accepts -Wold-style-definition... yes
checking whether C compiler accepts -Wstrict-prototypes... yes
checking whether C++ compiler accepts -Wextra-semi... yes
checking whether C compiler accepts -Wno-error=inline... yes
checking whether C compiler accepts -Wno-error=pragmas... yes
checking whether C compiler accepts -Wno-error=sign-compare... yes
checking whether C compiler accepts -Wno-error=unused-parameter... yes
checking whether C compiler accepts -Wno-error=implicit-fallthrough... yes
checking whether to try and use __builtin_popcountl... yes
checking gmp.h usability... yes
checking gmp.h presence... yes
checking for gmp.h... yes
checking for __gmpz_init in -lgmp... no
configure: No usable GMP found, switching to included GMP
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for inflateEnd in -lz... yes
checking for library containing rl_bind_keyseq... no
checking whether to enable compatibility mode for packages... yes
configure: in-tree build
checking unaligned access... 1
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking for library containing openpty... none required
checking util.h usability... yes
checking util.h presence... yes
checking for util.h... yes
checking pty.h usability... no
checking pty.h presence... no
checking for pty.h... no
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking for select... yes
checking spawn.h usability... yes
checking spawn.h presence... yes
checking for spawn.h... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for popen... yes
checking for posix_spawn... yes
checking for sig_atomic_t... yes
checking for signal... yes
checking for sigaction... yes
checking for setpgid... yes
checking for library containing dlopen... none required
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for getrusage... yes
checking for gettimeofday... yes
checking for clock_gettime... yes
checking for clock_getres... yes
checking for setitimer... yes
checking for vm_allocate... yes
checking for sbrk... yes
checking for madvise... yes
checking for sysconf... yes
checking for strlcpy... yes
checking for strlcmp... no
checking for strlcat... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for library containing cos... none required
checking for log2... yes
checking for log10... yes
checking for log1p... yes
checking for exp2... yes
checking for expm1... yes
checking for exp10... no
checking for trunc... yes
checking for sigsetjmp... yes
checking for _setjmp... no
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking size parameter type for backtrace()... int
checking for library containing backtrace... none required
configure: creating ./config.status
config.status: creating bin/gap.sh
config.status: creating bin/arm-apple-darwin20.4.0-default64-kv7/extern/gmp/include/gmp.h
config.status: creating GNUmakefile
config.status: creating CITATION
config.status: creating doc/make_doc
config.status: creating doc/versiondata
config.status: creating gac
config.status: creating gen/config.h
config.status: gen/config.h is unchanged
config.status: executing gen/stamp-h commands
config.status: executing libtool commands

------------------------------------------------

Luís Sequeira
lfsequeira at fc.ul.pt





More information about the Forum mailing list