官方 AnacondaRecipes/opencv-feedstock 的 conda-build 无法查找 libpng.h
conda-build of official AnacondaRecipes/opencv-feedstock fails looking for libpng.h
我已经下载了opencv in AnacondaRecipes.
的官方conda recipe
我试图构建这个包执行:
conda-build recipe -c conda-forge
当食谱编译 opencv 时,我收到以下错误 [ 72%] Built target opencv_dnn
。错误如下:
[ 67%] Building CXX object modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/src/grfmt_png.cpp.o
/opt/conda/conda-bld/opencv_1521187259162/work/modules/imgcodecs/src/grfmt_png.cpp:62:10: fatal error: libpng/png.h: No such file or directory
#include <libpng/png.h>
^~~~~~~~~~~~~~
compilation terminated.
modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/build.make:326: recipe for target 'modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/src/grfmt_png.cpp.o' failed
make[2]: *** [modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/src/grfmt_png.cpp.o] Error 1
CMakeFiles/Makefile2:4645: recipe for target 'modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/all' failed
make[1]: *** [modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
查看$PREFIX
目录,没有libpng文件夹,只有一个libpng16文件夹:
/opt/conda/conda-bld/opencv_1521187259162/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/
我怀疑这一定与conda-build如何管理路径环境有关,但我不知道如何解决它。
环境:conda 4.4.11,OS:Ubuntu16.04.
2018 年 3 月 23 日更新
我也试过:
- 将
libpng/png.h
添加到 $PREFIX 目录指向的位置。
- 将
/usr/include
添加到$PATH
两种情况都没有成功。
2018 年 4 月 3 日更新
libpng-dev
安装环境
2018 年 9 月 4 日更新
2018 年 12 月 4 日更新
所以您遇到的问题是您需要在 OS 上安装 libpng-dev
库。既然你提到你在 Ubuntu 环境中操作,你可以简单地键入
sudo apt-get install libpng-dev
希望这能解决问题![=13=]
更新
你为什么不尝试使用 link 中提供的命令安装 opencv:
conda config --add channels conda-forge
conda install opencv
我已经下载了opencv in AnacondaRecipes.
的官方conda recipe我试图构建这个包执行:
conda-build recipe -c conda-forge
当食谱编译 opencv 时,我收到以下错误 [ 72%] Built target opencv_dnn
。错误如下:
[ 67%] Building CXX object modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/src/grfmt_png.cpp.o
/opt/conda/conda-bld/opencv_1521187259162/work/modules/imgcodecs/src/grfmt_png.cpp:62:10: fatal error: libpng/png.h: No such file or directory
#include <libpng/png.h>
^~~~~~~~~~~~~~
compilation terminated.
modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/build.make:326: recipe for target 'modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/src/grfmt_png.cpp.o' failed
make[2]: *** [modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/src/grfmt_png.cpp.o] Error 1
CMakeFiles/Makefile2:4645: recipe for target 'modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/all' failed
make[1]: *** [modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
查看$PREFIX
目录,没有libpng文件夹,只有一个libpng16文件夹:
/opt/conda/conda-bld/opencv_1521187259162/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/
我怀疑这一定与conda-build如何管理路径环境有关,但我不知道如何解决它。
环境:conda 4.4.11,OS:Ubuntu16.04.
2018 年 3 月 23 日更新
我也试过:
- 将
libpng/png.h
添加到 $PREFIX 目录指向的位置。 - 将
/usr/include
添加到$PATH
两种情况都没有成功。
2018 年 4 月 3 日更新
libpng-dev
安装环境
2018 年 9 月 4 日更新
2018 年 12 月 4 日更新
所以您遇到的问题是您需要在 OS 上安装 libpng-dev
库。既然你提到你在 Ubuntu 环境中操作,你可以简单地键入
sudo apt-get install libpng-dev
希望这能解决问题![=13=]
更新
你为什么不尝试使用 link 中提供的命令安装 opencv:
conda config --add channels conda-forge
conda install opencv