ior
ior copied to clipboard
[macOS 14.5]ld: unknown options: --enable-new-dtags -rpath=check/lib64 --enable-new-dtags -rpath=check/lib64
Question
- Is it possible to
configure
andmake
ior 4.0.0
on macOS running on the M3? - Is it possible to use different LDFLAGS to for make to build
ior 4.0.0
on macOS running on the M3?
Description
Hello everyone,
I am currently on a new work device, the MacBook Air with the M3 chip. I tried to build ior 4.0.0, but the
make
process fails at the end throwing an error. The error, as mentioned in the headline, apparently relates to the clang linker (see full make output in the Make Output section).
Configure Output
Running configure as mentioned in the installation guide results in the following output:
(base) airuserworkdevice ior-4.0.0 % ./configure
checking metadata... yes checking build system type... arm-apple-darwin23.5.0 checking host system type... arm-apple-darwin23.5.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... config/install-sh -c -d checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports the include directive... yes (GNU style) checking for mpicc... mpicc checking for gcc... (cached) mpicc 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 mpicc accepts -g... yes checking for mpicc option to accept ISO C89... none needed checking whether mpicc understands -c and -o together... yes checking dependency style of mpicc... gcc3 checking for function MPI_Init... yes checking for mpi.h... yes checking for ranlib... ranlib checking for mpicc option to accept ISO C99... none needed checking how to run the C preprocessor... mpicc -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 fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking libintl.h usability... no checking libintl.h presence... no checking for libintl.h... no checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/statfs.h usability... no checking sys/statfs.h presence... no checking for sys/statfs.h... no checking sys/statvfs.h usability... yes checking sys/statvfs.h presence... yes checking for sys/statvfs.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for sys/param.h... (cached) yes checking sys/mount.h usability... yes checking sys/mount.h presence... yes checking for sys/mount.h... yes checking for unistd.h... (cached) yes checking wchar.h usability... yes checking wchar.h presence... yes checking for wchar.h... yes checking hdfs.h usability... no checking hdfs.h presence... no checking for hdfs.h... no checking beegfs/beegfs.h usability... no checking beegfs/beegfs.h presence... no checking for beegfs/beegfs.h... no checking for size_t... yes checking for sysconf... yes checking for gettimeofday... yes checking for memset... yes checking for mkdir... yes checking for pow... yes checking for putenv... yes checking for realpath... yes checking for regcomp... yes checking for sqrt... yes checking for strcasecmp... yes checking for strchr... yes checking for strerror... yes checking for strncasecmp... yes checking for strstr... yes checking for uname... yes checking for statfs... yes checking for statvfs... yes checking for library containing sqrt... none required checking gpfs.h usability... no checking gpfs.h presence... no checking for gpfs.h... no checking gpfs_fcntl.h usability... no checking gpfs_fcntl.h presence... no checking for gpfs_fcntl.h... no checking cuda_runtime.h usability... no checking cuda_runtime.h presence... no checking for cuda_runtime.h... no checking cufile.h usability... no checking cufile.h presence... no checking for cufile.h... no checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for Gfarm file system... no checking for pkg-config... no checking for CHFS... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating src/test/Makefile config.status: creating contrib/Makefile config.status: creating doc/Makefile config.status: creating src/config.h config.status: src/config.h is unchanged config.status: executing depfiles commands
Make Output
Running make
results in the following output
(base) airuser@workdevice ior-4.0.0 % make Making all in src /Library/Developer/CommandLineTools/usr/bin/make all-recursive Making all in . Making all in test make[3]: Nothing to be done for all. Making all in doc make[1]: Nothing to be done for all. Making all in contrib CCLD cbif ld: unknown options: --enable-new-dtags -rpath=check/lib64 --enable-new-dtags -rpath=check/lib64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [cbif] Error 1 make: *** [all-recursive] Error 1
To Reproduce
I set up brew and anaconda to download
- gawk
- python3.12
- mpi4py
- openmpi
According to the terminal output running clang --version
- Apple clang version 15.0.0 (clang-1500.3.9.4)
- Target: arm64-apple-darwin23.5.0
- Thread model: posix
- InstalledDir: /Library/Developer/CommandLineTools/usr/bin
The OS and version
- ProductName: macOS
- ProductVersion: 14.5
Info
There is a post from an apple engineer explaining some terminology, also mentioning a new 'ld', which was introduced with Xcode 15. An Apple Library Primer. The main apple page for clang listing all supported features Apple Clang.