【问题标题】:Error Installing opencv-python on linux /sbin/ldconfig.real: /usr/lib32/nvidia-384/libEGL.so.1 is not a symbolic link在 linux /sbin/ldconfig.real 上安装 opencv-python 时出错:/usr/lib32/nvidia-384/libEGL.so.1 不是符号链接
【发布时间】:2017-11-23 07:09:38
【问题描述】:

我一直在按照这个教程安装opencv和python:

https://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/#comment-441393

唯一的区别是我尝试安装 opencv 3.3.1 而不是 3.0.0

我在装有 Ubuntu 14.04 和 i7 和 NVIDIA GTX950M 的笔记本电脑上运行

问题是当我执行命令ldconfig

$ sudo make install
$ sudo ldconfig

我收到以下消息:

/sbin/ldconfig.real: /usr/lib/nvidia-384/libEGL.so.1 is not a symbolic link

/sbin/ldconfig.real: /usr/lib32/nvidia-384/libEGL.so.1 is not a symbolic link

【问题讨论】:

    标签: python linux opencv ubuntu-14.04 nvidia


    【解决方案1】:

    于是我找到了解决问题的办法:

    来源:https://askubuntu.com/questions/900285/libegl-so-1-is-not-a-symbolic-link@muru @Gerard Tromp

    以下是 Noisy_Botnet 解决方案的易用版本。它 有助于为任何更新重复该过程。

    创建一个 shell 脚本,即将代码粘贴到一个文本文件下面,并以 .sh 扩展名保存它。 更改文件的执行权限,即在终端进入文件所在位置,执行以下命令$sudo chmod 744 nameofthefieleyoucreated.sh 执行以下命令$sudo ./nameofthefileyoucreated.sh

    #! /bin/sh
    #
    # find the file in /usr/lib
    LIBEGL=`find /usr/lib/nvidia* -name libEGL.so.\* | egrep "[0-9][0-9]*\.[0-9][0-9]*$"`
    LIBEGL_LINK=`echo $LIBEGL | sed 's/[0-9][0-9]*\.[0-9][0-9]*$/1/'`
    printf "\n\nThe following commands will be executed:\n+++++++++++++++++++++++++++++++++++++++\n"
    printf "mv $LIBEGL_LINK ${LIBEGL_LINK}.orig\nln -s $LIBEGL $LIBEGL_LINK\n\n"
    while true; do
        read -p "Do you wish to perform these commands?  " yn
        case $yn in
            [Yy]* ) mv $LIBEGL_LINK ${LIBEGL_LINK}.orig; ln -s $LIBEGL $LIBEGL_LINK ; break;;
            [Nn]* ) break;;
            * ) echo "Please answer yes or no.";;
        esac
    done
    
    # find the file in /usr/lib32
    LIBEGL=`find /usr/lib32/nvidia* -name libEGL.so.\* | egrep "[0-9][0-9]*\.[0-9][0-9]*$"`
    LIBEGL_LINK=`echo $LIBEGL | sed 's/[0-9][0-9]*\.[0-9][0-9]*$/1/'`
    printf "\n\nThe following commands will be executed:\n+++++++++++++++++++++++++++++++++++++++\n"
    printf "mv $LIBEGL_LINK ${LIBEGL_LINK}.orig\nln -s $LIBEGL $LIBEGL_LINK\n\n"
    while true; do
        read -p "Do you wish to perform these commands?  " yn
        case $yn in
            [Yy]* ) mv $LIBEGL_LINK ${LIBEGL_LINK}.orig; ln -s $LIBEGL $LIBEGL_LINK ; break;;
            [Nn]* ) break;;
            * ) echo "Please answer yes or no.";;
        esac
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 2022-08-05
      • 2021-04-07
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      相关资源
      最近更新 更多