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

Max Horn horn at mathematik.uni-kl.de
Fri Aug 20 11:04:02 BST 2021


Dear Luis,

unfortunately your email was stuck in the moderation queue. In any case:

please have a look at <https://mail.gap-system.org/pipermail/gap/2021-January/001244.html>. There I describe how to build GAP 4.11.1 on an M1 Mac. The next GAP release will have a fix for this included.

Cheers
Max

> On 17. Aug 2021, at 19:46, Luís Sequeira <lfsequeira at fc.ul.pt> wrote:
> 
> 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
> 
> 
> 
> _______________________________________________
> Forum mailing list
> Forum at gap-system.org
> https://mail.gap-system.org/mailman/listinfo/forum




More information about the Forum mailing list