我尝试lldb在我的Mac上运行并在启动时获取此信息:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/System/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/Python/lldb/embedded_interpreter.py", line 1, in <module>
import readline
ImportError: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so: no appropriate 64-bit architecture (see "man python" for running in 32-bit mode)
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'run_one_line' is not defined
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'run_one_line' is not defined
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'run_one_line' is not defined
Run Code Online (Sandbox Code Playgroud)
我尝试添加环境变量VERSIONER_PYTHON_PREFER_32_BIT=yes但仍会出现此错误.我认为lldb正在使用与Mac主机不同的python环境,那么我在哪里进行更改以使其使用32位模式?谢谢.
更新:
我做了一个arch -i386 lldb,它工作在32位.为了使它在64位工作,我为OS X安装了一个64位版本的python readline但是在本机python库中遇到了更多问题,比如termios和time.所以我下载了python 2.7.3 64位安装程序DMG文件并安装了它的二进制文件; 现在lldb最终在我的10.8山狮上以64位工作.谢谢.
看起来您/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so在系统上的某个时刻安装了它(我在 Mac OS X 10.7.5 安装上没有看到它,尽管它可能包含在 10.8 中),并且 dylib 仅构建为 32 位。您可以通过以下方式确认
file /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so
Run Code Online (Sandbox Code Playgroud)
在您的系统上。您可以尝试强制 lldb 也以 32 位模式运行(发行版二进制文件是 32-/64- 通用的),但我建议从您的系统中删除仅 32 位模式,readline.so除非您确实需要它。
| 归档时间: |
|
| 查看次数: |
3404 次 |
| 最近记录: |