我正试图在OSX 10.14.5上安装带有pip
的^{
src/city.cc:396:5: error: use of undeclared identifier '_mm_crc32_u64'
CHUNK(1, 1); CHUNK(k0, 0);
^
...
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: command 'cc' failed with exit status 1
我也尝试过通过CC=gcc
和CC=g++
编译,但没有效果。你知道吗
失败时运行的命令是:
cc -fno-strict-aliasing -fno-common \
-dynamic -g -Os -pipe -fno-common \
-fno-strict-aliasing -fwrapv -DENABLE_DTRACE \
-DMACOSX -DNDEBUG -Wall -Wstrict-prototypes \
-Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall \
-Wstrict-prototypes -DENABLE_DTRACE -arch i386 \
-arch x86_64 -pipe -Iinclude \
-I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 \
-c src/city.cc -o build/temp.macosx-10.14-intel-2.7/src/city.o \
-O3 -msse4.2 -Wno-unused-value -Wno-unused-function
为了理解这个问题,我查看了source code,可以看到对_mm_crc32_u64
的四个调用,它们构成了错误日志中提到的CHUNK
预处理器指令的一部分:
f = _mm_crc32_u64(f, a); \
g = _mm_crc32_u64(g, b); \
h = _mm_crc32_u64(h, c); \
i = _mm_crc32_u64(i, d); \
j = _mm_crc32_u64(j, e); \
我在Intel Intrinsics Guide中找到了一个对_mm_crc32_u64
的引用,因此我的理解是,它是一个作为C函数的Intel内部指令,是SSE4.2指令集的一部分。你知道吗
我想我的机器不包括SSE4.2指令集,但是当我运行以下命令时:
sysctl -a | grep cpu.features
SSE4.2包含在列表中:
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C
因此,我应该期望_mm_crc32_u64
可用吗?如果是的话,这个错误的可能原因是什么?你知道吗
如果没有,我能做些什么来提供这些说明吗?你知道吗
非常感谢@PeterCordes对上述问题评论的宝贵意见!
在
pip install clickhouse-cityhash
期间失败的生成命令包含-arch i386
标志。x86 clang的默认行为是构建64位代码,尽管存在此标志。你知道吗不过,这似乎并不是苹果当当的默认行为。如果生成32位代码,那么
_mm_crc32_u32
将是可用的最大CRC,这意味着_mm_crc32_u64
没有定义。你知道吗因此,一个解决方案是不使用Apple-clang。你知道吗
大多数使用OSX的开发人员将熟悉^{} 包管理器并安装它。您可能会发现您已经通过
brew
安装了一个版本的gcc
,作为另一个包的依赖项。你知道吗检查以下各项:
如果没有,请安装:
可执行文件应该可以在
$PATH
(通常在/usr/local/bin
)中作为gcc
使用,或者类似的文件可以作为gcc-8
使用。你知道吗要使用,只需定义要与
CC
envar一起使用的gcc
,然后运行pip install
;例如:希望这有帮助:)
相关问题 更多 >
编程相关推荐