相关疑难解决方法(0)

ldconfig错误:不是符号链接

运行时:

    sudo /sbin/ldconfig
Run Code Online (Sandbox Code Playgroud)

出现以下错误:

    /sbin/ldconfig: /usr/local/lib/ is not a symbolic link
Run Code Online (Sandbox Code Playgroud)

当我运行文件时:

    file /usr/local/lib/
    /usr/local/lib/: directory
Run Code Online (Sandbox Code Playgroud)

里面/usr/local/lib/有我使用的三个库.我会在这里称他们为lib1,lib2lib3.

现在,当我ldd在我的二进制文件上执行时,它会产生:

    lib1.so => not found
    lib2.so => not found
    lib3.so => /usr/local/lib/lib3.so (0x00216000)
Run Code Online (Sandbox Code Playgroud)

但是所有的文件夹都在同一个文件夹中/usr/local/lib/{lib1,lib2,lib3}.so.

每次运行时ldconfig,都会出现相同的错误:

/usr/local/lib/ is not a symbolic link
Run Code Online (Sandbox Code Playgroud)

我认为/usr/local/lib应该两次申报/etc/ld.conf.d/*.conf,但不是:

    sudo egrep '\/usr\/local' /etc/ld.so.conf.d/*
    projectA.conf.old:/usr/local/projectA/lib
    local.conf:/usr/local/lib
Run Code Online (Sandbox Code Playgroud)

ld.so.conf只包括/etc/ld.so.conf.d/*.conf,所以这*.old不是处理,它指的是/usr/local/projectA/lib.

经过一段时间后,我删除了所有的lib1和lib2(在某些时候我在二进制文件夹上测试了它),发生了同样的错误.

linux linker makefile gnu-make

36
推荐指数
3
解决办法
8万
查看次数

标签 统计

gnu-make ×1

linker ×1

linux ×1

makefile ×1