Caffe install на ubuntu для anaconda с python 2.7 сбой с libpng16.so.16 не найден

Поэтому я установил anaconda с python 2.7 и установил все требования к библиотеке Caffe. Я обеспечил, чтобы opencv был установлен

import cv2 

И проверить, что я могу запустить несколько примеров из документов.

Теперь я загружаю caffe, правильно настроил makefile.config и запустил make all. Я получаю очень странную ошибку:

 make CXX/LD -o .build_release/tools/upgrade_net_proto_text.bin /usr/bin/ld: warning: libpng16.so.16, needed by /home/maxkhk/anaconda/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link) /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_create_read_struct@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_interlace_handling@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_IHDR@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_get_io_ptr@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_longjmp_fn@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_gray_to_rgb@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_compression_level@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_bgr@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_filter@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_rgb_to_gray@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_init_io@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_destroy_read_struct@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_swap@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_get_IHDR@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_palette_to_rgb@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_compression_strategy@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_get_tRNS@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_write_info@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_packing@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_read_fn@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_create_info_struct@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_read_end@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_read_update_info@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_write_image@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_write_end@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_expand_gray_1_2_4_to_8@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_create_write_struct@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_read_image@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_read_info@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_strip_alpha@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_write_fn@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_destroy_write_struct@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_error@PNG16_0' /home/maxkhk/anaconda/lib/libopencv_highgui.so: undefined reference to `png_set_strip_16@PNG16_0' collect2: error: ld returned 1 exit status Makefile:560: recipe for target '.build_release/tools/upgrade_net_proto_text.bin' failed make: *** [.build_release/tools/upgrade_net_proto_text.bin] Error 1 

Что случилось с этим парнем? Заметьте, что у меня первоначально был anaconda3 и скомпилированный caffe для него, но успешно, но я столкнулся с множеством проблем с caffe под python3, поэтому мне пришлось удалить его и попытаться настроить его для anaconda с помощью python 2.7.

И, конечно же, я убедился, что libpng16.so.16 находится в анаконде:

 maxkhk@maxkhk-X550DP:~/anaconda$ find -name libpng16.so.16 ./pkgs/libpng-1.6.17-0/lib/libpng16.so.16 ./lib/libpng16.so.16 maxkhk@maxkhk-X550DP:~/anaconda$ 

Я искал ошибку, но ничего не нашел по отношению к кофе.

  • Как установить poppler в ubuntu 15.04?
  • Настройка параметров сети из Python / Django на машине Linux / Ubuntu
  • как я могу использовать pip с pypy, установленным с панели запуска?
  • как установить cloud9 IDE на сервере ubuntu
  • Настройка SMTP Python Django Gmail
  • WxPython: PyInstaller не работает с Нет модуля с именем _core_
  • Автоматизировать firefox с помощью python?
  • Нужен скрипт init.d для приложения Python
  • 3 Solutions collect form web for “Caffe install на ubuntu для anaconda с python 2.7 сбой с libpng16.so.16 не найден”

    Я столкнулся с той же проблемой, и я исправил ее, добавив -rpath в мой Makefile.config:

    LINKFLAGS := -Wl,-rpath,$(HOME)/anaconda/lib

    Я думаю, что это правильное исправление, потому что он (-rpath) указывает GCC, где он может найти библиотеки (libjpeg, libpng), от которых зависят другие библиотеки (в данном случае opencv).

    Per @cel предложение –

     ldd libopencv_highgui.so 

    показывает файлы, от которых зависит эта библиотека. Пара из них (а не libpng!) Была расположена в папке, которую я не включил в makefile.config. После включения их папки в MakeFile build удалось. Обратите внимание: после создания кофе вы можете не попасть в Spyder в менеджер PythonPath и добавить в него папку caffe (или просто включить его в pythonpath, если вы не используете anaconda \ spyder).

    Добавление

     LINKFLAGS := -Wl,-rpath,$(HOME)/anaconda/lib 

    Работал.

    Python - лучший язык программирования в мире.