【发布时间】:2022-08-24 04:04:34
【问题描述】:
问题
在过去的几周里,我一直在从事一个建立在Intel ISA-L 库之上的擦除编码项目。
一切都很顺利,因为我只是调试了一段时间,然后我离开了这个项目大约一天。我返回继续调试,并且没有对代码或我的 Macbook(据我所知)进行任何更改,我尝试再次编译代码作为调试过程的一部分,但出现以下错误:
ld: warning: -undefined dynamic_lookup is incompatible with dyld share cache
ld: warning: ignoring file raid/.libs/raid_base.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file erasure_code/.libs/ec_base.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file crc/.libs/crc_base.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file crc/.libs/crc64_base.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/hufftables_c.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/igzip.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/igzip_base.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/igzip_icf_base.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/adler32_base.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/encode_df.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/flatten_ll.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/igzip_icf_body.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file mem/.libs/mem_zero_detect_base.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/huff_codes.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file igzip/.libs/igzip_inflate.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: -undefined dynamic_lookup cannot be used to find \'_ec_encode_data_base\' in dylib in dyld shared cache for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libisal.la] Error 1
我尝试了几种在 Stack Overflow 和其他在线资源上看到的潜在解决方案,但都没有奏效。我还尝试在标准 ISA-L 库上编译代码,而无需添加任何其他代码,但出现了同样的问题。
附加信息:
-
我正在使用 M1 Apple 芯片在 macOS Monterey 12.5 上运行 2020 MacBook pro。
-
这是
clang --version的输出:
Apple clang version 13.1.6 (clang-1316.0.21.2.5)
Target: x86_64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
- 这是
echo $PATH的输出:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
-
Makefile 相当复杂,我认为是由英特尔 ISA-L 库中的某些代码自动生成的,所以我没有在此处包含它,但我希望这不是特定于我的情况的问题并且有一个适用于许多情况的通用解决方案。
-
让我知道是否需要任何其他细节。
-
没有看到任何编译器错误。
ld是链接器。您正在混合 arm 和 x86_64 库的某个地方。
标签: c macos compilation x86-64