导入pyo时未定义的符号
Posted
技术标签:
【中文标题】导入pyo时未定义的符号【英文标题】:undefined symbol when importing pyo 【发布时间】:2014-08-29 22:05:55 【问题描述】:我在 Ubuntu 14.04 中运行 python 2.7 并安装了 python-pyo 包,但是当我导入 pyo 模块时出现以下错误:
ImportError: /usr/lib/python2.7/dist-packages/_pyo.so: undefined symbol: jack_port_register
看来我一定是搞砸了我系统上的 jack 库,但我不知道是什么坏了。
[~/Downloads/pyo-read-only]$ ldconfig -p|grep jack
libjack.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjack.so.0
libjack.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjack.so
[~/Downloads/pyo-read-only]$ objdump -tT /usr/lib/x86_64-linux-gnu/libjack.so.0|grep jack_port_register
000000000000a3a0 g DF .text 00000000000001a1 Base jack_port_register
我尝试从头开始构建 python-pyo,但我得到了同样的错误。如果我在没有 --use-jack 的情况下构建它,当我尝试启动服务器时会出现分段错误。
【问题讨论】:
【参考方案1】:我遇到了这个问题。通过确保我安装了正确的软件包来修复它。 来自http://ajaxsoundstudio.com/pyodoc/compiling.html
sudo apt-get install libjack-jackd2-dev libportmidi-dev portaudio19-dev liblo-dev
sudo apt-get install libsndfile-dev python-dev python-tk
sudo apt-get install python-imaging-tk python-wxgtk3.0
【讨论】:
【参考方案2】:我可以通过手动将 -ljack 添加到 setup.py 并从源代码构建来进一步了解。
【讨论】:
以上是关于导入pyo时未定义的符号的主要内容,如果未能解决你的问题,请参考以下文章
WebAssembly 编译器错误:使用外部库编译时未定义符号