FC2カウンター FPGAの部屋 Ubuntu 18.04 上でVivado HLS 2018.2 でOpenCV を使用したとき?のエラー
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Ubuntu 18.04 上でVivado HLS 2018.2 でOpenCV を使用したとき?のエラー

Ubuntu 18.04 上でVivado HLS 2018.2 を使用して(サポート外なので、エラーが出てもしかたなくはあるのですが)、OpenCV のソフトウェアを作っていたときに、C シミュレーションをすると、libpng12.so.0 が無いとエラーが出て困っていました。しかし、その解消方法もわかったので、ブログに書いておきます。

libpng なので、画像(imread()?)を読み込むところでしょうか?でエラーが出ています。Vivado HLS 2018.2 の画面を示します。
ZYBOt_Keras_4_180926

エラー内容の全文です。

Makefile.rules:399: recipe for target 'csim.exe' failed
/opt/Xilinx/Vivado/2018.2/tps/lnx64/binutils-2.26/bin/ld: warning: libpng12.so.0, needed by /opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_read_info@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_packing@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_IHDR@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_read_update_info@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_write_fn@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_write_end@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_create_read_struct@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_read_image@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_strip_alpha@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_gray_to_rgb@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_get_IHDR@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_strip_16@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_create_write_struct@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_init_io@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_swap@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_compression_strategy@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_write_info@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_destroy_write_struct@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_get_io_ptr@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_palette_to_rgb@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_compression_level@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_destroy_read_struct@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_read_end@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_rgb_to_gray@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_error@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_write_image@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_read_fn@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_create_info_struct@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_expand_gray_1_2_4_to_8@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_filter@PNG12_0' に対する定義されていない参照です
/opt/Xilinx/Vivado/2018.2/lnx64/tools/opencv/opencv_gcc/libopencv_highgui.so: `png_set_bgr@PNG12_0' に対する定義されていない参照です
collect2: エラー: ld はステータス 1 で終了しました
make: *** [csim.exe] Error 1
ERROR: [SIM 211-100] 'csim_design' failed: compilation error(s).
INFO: [SIM 211-3] *************** CSIM finish ***************


とりあえず、解決方法をググったところ、”Ubuntu 17.04 libpng12.so.0: cannot open shared object file #95”がヒットしました。その内のolalonde さんの解決策

wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb \
&& sudo dpkg -i /tmp/libpng12.deb \
&& rm /tmp/libpng12.deb

を実行したところ解決できました。(ただし、dpkg の前に sudo を追加しました)
ZYBOt_Keras_5_180926

その後、C シミュレーションもうまく行きました。
ZYBOt_Keras_6_180926
  1. 2018年09月27日 03:39 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/4310-f02ae0d9
この記事にトラックバックする(FC2ブログユーザー)