python - Waf 配置错误,由于某种原因找不到 pyembed
问题描述
我正在尝试使用 ./waf 配置普朗克似然代码,但在调用后我不断收到以下错误./waf configure CC=gcc python=/opt/local/bin/python cfitsio_lib=/opt/local/lib cfitsio_include=/opt/local/include --lapack_mkl=${MKLROOT} --install_all_deps
:
Testing pyembed configuration: Could not build a python embedded interpreter
No suitable python distribution found
Cause: 'The configuration failed'
我不知道如何从这里开始......任何建议将不胜感激。
这是config.log
文件中用于配置尝试的相关部分。我在 Mac OS 上使用 Python 2.7,它似乎安装得很好(据我所知)。
python-config
/opt/local/bin/python2.7-config
find program=['/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python-config', 'python2.7-config', 'python-config-2.7', 'python2.7m-config'] paths=['/Users/USER/Desktop/montepython_public-3.3/montepython/', '/opt/local/bin', '/opt/local/sbin', '/usr/local/bin', '/usr/bin', '/bin', '/usr/sbin', '/sbin', '/Library/TeX/texbin', '/Library/Apple/usr/bin'] var='PYTHON_CONFIG' -> ['/opt/local/bin/python2.7-config']
--------------------------------------------------------------------------
Asking python-config for pyembed '--cflags --libs --ldflags --embed' flags
['/opt/local/bin/python2.7-config', '--cflags', '--libs', '--ldflags', '--embed']
err: Usage: /opt/local/bin/python2.7-config [--prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--help]
not found
from /Users/USER/Desktop/code/plc_3.0/plc-3.01: The configuration failed
--------------------------------------------------------------------------
Asking python-config for pyembed '--cflags --libs --ldflags' flags
['/opt/local/bin/python2.7-config', '--cflags', '--libs', '--ldflags']
out: -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -fno-strict-aliasing -fno-common -dynamic -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
-lpython2.7 -lintl -ldl -framework CoreFoundation
-L/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config -lpython2.7 -lintl -ldl -framework CoreFoundation
Unhandled flag '-pipe'
Unhandled flag '-Wall'
Unhandled flag '-Wstrict-prototypes'
yes
--------------------------------------------------------------------------
Testing pyembed configuration
==>
#include <Python.h>
#ifdef __cplusplus
extern "C" {
#endif
void Py_Initialize(void);
void Py_Finalize(void);
#ifdef __cplusplus
}
#endif
int main(int argc, char **argv)
{
(void)argc; (void)argv;
Py_Initialize();
Py_Finalize();
return 0;
}
<==
[1/2] Compiling [32mbuild/.conf_check_e02afcfd7f3c9a900cd99ee408c985e3/test.c[0m
['gcc', '-fno-strict-aliasing', '-fno-common', '-dynamic', '-Os', '-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk', '-DNDEBUG', '-g', '-fwrapv', '-O3', '-I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7', '-DPYTHONDIR="/Users/USER/Desktop/code/plc_3.0/plc-3.01/lib/python2.7/site-packages"', '-DPYTHONARCHDIR="/Users/USER/Desktop/code/plc_3.0/plc-3.01/lib/python2.7/site-packages"', '../test.c', '-c', '-o/Users/USER/Desktop/code/plc_3.0/plc-3.01/build/.conf_check_e02afcfd7f3c9a900cd99ee408c985e3/testbuild/test.c.1.o']
[2/2] Linking [33mbuild/.conf_check_e02afcfd7f3c9a900cd99ee408c985e3/testbuild/testprog[0m
['gcc', '-arch', 'x86_64', 'test.c.1.o', '-o/Users/USER/Desktop/code/plc_3.0/plc-3.01/build/.conf_check_e02afcfd7f3c9a900cd99ee408c985e3/testbuild/testprog', '-L/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib', '-L/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config', '-lm', '-ldl', '-lutil', '-lpthread', '-lpython2.7', '-lintl', '-ldl', '-lpython2.7', '-lintl', '-ldl']
err: ld: library not found for -lintl
collect2: error: ld returned 1 exit status
from /Users/USER/Desktop/code/plc_3.0/plc-3.01: Test does not build: Traceback (most recent call last):
File "/Users/USER/Desktop/code/plc_3.0/plc-3.01/.waf-2.0.17-c5414c9b1eca70e1add79159e16494fe/waflib/Configure.py", line 325, in run_build
bld.compile()
File "/Users/USER/Desktop/code/plc_3.0/plc-3.01/.waf-2.0.17-c5414c9b1eca70e1add79159e16494fe/waflib/Build.py", line 176, in compile
raise Errors.BuildError(self.producer.error)
BuildError: Build failed
-> task in 'testprog' failed with exit status 1 (run with -v to display more information)
Could not build a python embedded interpreter
from /Users/USER/Desktop/code/plc_3.0/plc-3.01: The configuration failed
解决方案
链接器没有找到 libintl。您确定它已安装在您的系统上吗?如果是,则该库必须安装在标准库目录中,否则您必须使用 -L"lib_path"
推荐阅读
- c# - UWP - 将事件传递给控制(隧道)
- jenkins - 动态代理选择
- android - 从图库中选择图像时应用程序崩溃
- php - 无法获得后期价值
- gradle - 如何将Android Gradle依赖项(实现,testImplementation ...)提取到项目根目录中的方法中?
- java - 如何在java正则表达式中获取模式字符串和匹配器字符串的列表
- jquery - 无法将 jQuery 函数应用于 JSON 生成的比较表
- mysql - 如何从 wordpress docker 建立数据库连接
- html - Angular 7 - 在更改路线之前加载图像
- nuget - NuGet 包目标 - 如何在构建时将文件复制到目标目录的子文件夹?