gpt4 book ai didi

python - 在 Mac OS X 上构建和运行 llvm-py

转载 作者:太空狗 更新时间:2023-10-30 01:09:54 27 4
gpt4 key购买 nike

我正在尝试构建 llvm-py在 Mac OS X 上。

这是我尝试做的,我需要下载 11vm-2.7,并且 README 文件有这样的注释:确保将“--enable-pic”传递给 LLVM 的“configure”

  1. 下载llvm 2.7 .
  2. 构建 llvm 2.7:运行 ./configure --prefix=LLVM_DIRECTORY --enable-pic
  3. 下载llvm-py 0.6 .
  4. 构建 llvm-py 0.6:运行 python setup.py build --llvm-config=LLVM_DIRECTORY/bin/llvm-config

一切都编译无误,但是当我尝试运行测试文件时,我收到了这条错误消息。

ImportError: 'dlopen(/Library/Python/2.7/site-packages/llvm/_core.so, 2): 找不到符号:__ZTVN4llvm16ExtractValueInstE\n 引用自:/Library/Python/2.7/site- packages/llvm/_core.so\n 预期在:平面命名空间\n 在/Library/Python/2.7/site-packages/llvm/_core.so'

消息错误似乎是说缺少函数“llvmExtractValueInst”,具有平面命名空间问题。这有什么问题吗?

在 llvm 2.7 中,Makefile.rules 有这一行

SharedLinkOptions=-Wl,-flat_namespace -Wl,-undefined -Wl,suppress\
-动态库

我试图删除 flat_namespace,但出现编译错误。

已添加

根据 locojay 的回答,我可以构建 brew 和 llvmpy。

export REQUIRES_RTTI=1
brew install llvm --rtti
sudo pip install git+https://github.com/llvmpy/llvmpy

但是,当我尝试执行测试目录中的示例时,我仍然遇到不同类型的错误-

test> python example.py 
Traceback (most recent call last):
File "example.py", line 4, in <module>
from llvm import *
File "/Library/Python/2.7/site-packages/llvm/__init__.py", line 11, in <module>
from llvm import _core
ImportError: dlopen(/Library/Python/2.7/site-packages/llvm/_core.so, 2): Symbol not found: __ZN4llvm10DataLayout2IDE
Referenced from: /Library/Python/2.7/site-packages/llvm/_core.so
Expected in: flat namespace
in /Library/Python/2.7/site-packages/llvm/_core.so

这是我运行 otool -L/Library/Python/2.7/site-packages/llvm/_core.so 时的结果

/Library/Python/2.7/site-packages/llvm/_core.so:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)

最佳答案

看看@llvmpy的文档

For LLVM 3.2, make sure that environment variable REQUIRES_RTTI=1 is defined when running make. Otherwise, you may see "undefined symbol: _ZTIN4llvm24PassRegistrationListenerE". Please refer to http://llvm.org/docs/Packaging.html#c-features for details.

所以这对我有用

export REQUIRES_RTTI=1
brew install llvm --rtti
pip install git+https://github.com/llvmpy/llvmpy

我想在最坏的情况下总可以尝试一下 anaconda....

关于python - 在 Mac OS X 上构建和运行 llvm-py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9058594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com