Conda Build 打包 C++ 项目失败
Posted
技术标签:
【中文标题】Conda Build 打包 C++ 项目失败【英文标题】:Conda Build fails packaging C++ project 【发布时间】:2020-03-01 20:48:57 【问题描述】:我正在尝试为这里的库创建一个配方:https://github.com/hyrise/sql-parser
我正在为 OSX 10.13 构建。
我的build.sh
看起来像这样:
#!/bin/bash
make VERBOSE=1
make DESTDIR="$PREFIX" install
我还按照此处设置了我的 SDK:https://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html#macos-sdk
我可以在 conda build 之外很好地构建项目,但是 conda build 失败并出现以下问题:
x86_64-apple-darwin13.4.0-clang++ -std=c++1z -Wall -Werror -O3 -fPIC -c -o src/SQLParser.o src/SQLParser.cpp
In file included from src/SQLParser.cpp:2:
In file included from src/SQLParser.h:4:
In file included from src/SQLParserResult.h:4:
In file included from src/sql/SQLStatement.h:4:
In file included from /Users/j/miniconda3/envs/p37/conda-bld/sql-parser_1583094509703/_build_env/bin/../include/c++/v1/vector:265:
In file included from /Users/j/miniconda3/envs/p37/conda-bld/sql-parser_1583094509703/_build_env/bin/../include/c++/v1/iosfwd:90:
/Users/j/miniconda3/envs/p37/conda-bld/sql-parser_1583094509703/_build_env/bin/../include/c++/v1/wchar.h:119:15: fatal error: 'wchar.h' file not found
#include_next <wchar.h>
^~~~~~~~~
1 error generated.
make: *** [Makefile:66: src/SQLParser.o] Error 1
我可以看到 wchar.h 在那个目录中
JMBA:v1 j$ ls -l /Users/j/miniconda3/envs/p37/conda-bld/sql-parser_1583094509703/_build_env/bin/../include/c++/v1 | grep wchar
-rw-rw-r-- 41 j staff 6272 28 Oct 2018 cwchar
-rw-rw-r-- 41 j staff 8080 28 Oct 2018 wchar.h
对此的任何帮助将不胜感激。
【问题讨论】:
错误信息指出#include_next
,这意味着编译器正在尝试查找wchar.h
文件,可能在系统标准包含目录中。您可能需要将 CONDA_BUILD_SYSROOT
设置为指向您放置 SDK 的位置。
【参考方案1】:
你需要想办法让-I$BUILD_PREFIX/include 到g++/gcc的调用中
【讨论】:
以上是关于Conda Build 打包 C++ 项目失败的主要内容,如果未能解决你的问题,请参考以下文章
使用 conda-build 从相同的源代码构建两个具有不同要求的包