【问题标题】:How to force the right architecture for pyq?如何为 pyq 强制使用正确的架构?
【发布时间】:2015-06-06 14:34:17
【问题描述】:

我已经 downloaded 32 位版本的 kdb+ 并按照说明安装了 q

unzip macosx.zip -d ~/

我已经通过以下方式安装了pyq

pip3 install --upgrade -i https://pypi.enlnt.com pyq

但是运行pyq 时出现的错误是:

$ pyq
Welcome to kdb+ 32bit edition
For support please see http://groups.google.com/d/forum/personal-kdbplus
Tutorials can be found at http://code.kx.com/wiki/Tutorials
To exit, type \\
To remove this startup msg, edit q.q
'2015.06.06T15:29:01.334 dlopen(/Users/user/q/m32/py.cpython-34m.so, 2): no suitable image found.  Did find:
    /Users/user/q/m32/py.cpython-34m.so: mach-o, but wrong architecture
@
"q"
"py:PYSO 2:(`py;3)"
$ lipo -info `which pyq`
Non-fat file: /usr/local/bin/pyq is architecture: x86_64
$ lipo -info ~/q/m32/py.cpython-34m.so
Non-fat file: ~/q/m32/py.cpython-34m.so is architecture: x86_64

所以基本上py.cpython-34m.so 具有 x86_64 架构(这很好),但在 kdb+ 32 位版本下运行时似乎失败了。我可以安装 kdb+ 64bit,但是只有 32bit 版本是免费的。

我尝试将其运行为:

$ arch -i386 pyq

强制32位架构(与arch -x86_64 pyq相同),但出现不同的错误:

arch: posix_spawnp: pyq: Bad CPU type in executable

我的架构是x86_64

$ uname -a
Darwin MacBook-Pro-2.local 13.4.0 Darwin Kernel Version 13.4.0: Wed Mar 18 16:20:14 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64 x86_64 i386 MacBookPro11,3 Darwin

如何安装兼容版本的pyq 或强制它在正确的架构下运行?

【问题讨论】:

  • 建议你告诉原作者;根据他们的文档,应该只使用 32bit kdb+。

标签: macos command-line cpu-architecture kdb pyq


【解决方案1】:

我们建议在 Mac OSX 上使用通用库。在我们的测试中,PyQ 与预装系统 Python 配合良好

$ lipo -info /usr/bin/python fat 文件中的架构:/usr/bin/python 是:x86_64 i386

和 Python 由“brew”使用 --universal 选项安装。

【讨论】:

    【解决方案2】:

    尝试使用 gcc 32 位库从源代码安装?

    请参阅:INSTALL.md

    我认为您可能需要在 32 位 Python 中运行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2016-11-22
      • 2020-05-03
      相关资源
      最近更新 更多