首页 > 其他分享 >/usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

/usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

时间:2024-07-20 17:07:08浏览次数:15  
标签:libcuda lib symbolic wsl so.1 usr xr

wsl中执行apt installapt upgrade的时候会在最后有一个报错:

/sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

意思是/usr/lib/wsl/lib/libcuda.so.1不是软链接。。。

ll看一下,这个确实不是软连接。不知道为啥需要这个必须是软链接。。

-r-xr-xr-x 1 root root 151K 2023-06-28 08:13:12 libcuda.so
-r-xr-xr-x 1 root root 151K 2023-06-28 08:13:12 libcuda.so.1
-r-xr-xr-x 1 root root 151K 2023-06-28 08:13:12 libcuda.so.1.1

sha256sum查一下这三个文件,

# sha256sum /usr/lib/wsl/lib/libcuda.so*
34550d767492d57fc143d6f1a8ac4a278904ca63287e3b4e3212bbab6edd73df  /usr/lib/wsl/lib/libcuda.so
34550d767492d57fc143d6f1a8ac4a278904ca63287e3b4e3212bbab6edd73df  /usr/lib/wsl/lib/libcuda.so.1
34550d767492d57fc143d6f1a8ac4a278904ca63287e3b4e3212bbab6edd73df  /usr/lib/wsl/lib/libcuda.so.1.1

这三个文件其实是一样的。

手动创建

简单点,可以直接把libcuda.so.1备份一下,用ln -s创建一个软链接放这就好了。

但是这样治标不治本,这个是wsl依赖的库,每次重启wsl的时候,会被重置。因为每次启动wsl时会自动挂载。

修改配置

修改配置,wsl 官方 github issue 5548 中有回复,如下:

  1. 修改配置/etc/wsl.conf禁用自动挂载

    [automount]
    ldconfig = false
    
  2. 复制/usr/lib/wsl/lib/usr/lib/wsl2/lib

  3. 修改配置文件/etc/ld.so.conf.d/ld.wsl.conf,手动指定ldconfig依赖库位置为上面的新目录/usr/lib/wsl2/lib

  4. 删掉文件:rm /usr/lib/wsl2/lib/libcuda.so.* ,然后执行一下:sudo ldconfig

我没试过这个方法,对有些人来说时有效的

需要重启wsl

直接改windows下的文件

这个自动挂载实际是把C:\Windows\System32\lxss\lib下的文件拿过来了。直接修改原目录的原文件不就得了

进入windows下这个目录,删掉有问题的那个文件,打开cmd执行:

mklink libcuda.so.1 libcuda.so

或者

在wsl中,直接修改/mnt/c/Windows/System32/lxss/lib下面的文件。删掉有问题的文件,然后创建软链接代替。

不过应该没有权限,

标签:libcuda,lib,symbolic,wsl,so.1,usr,xr
From: https://www.cnblogs.com/macho8080/p/18313421

相关文章

  • Error: Assertion failed (nimages > 0) in cv::calibrateCameraRO, file D:\opencv4
    报错信息:Error:Assertionfailed(nimages>0)incv::calibrateCameraRO,fileD:\opencv4\opencv\opencv-4.1.0\modules\calib3d\src\calibration.cpp,line3691  原因:①图片路径问题,没有指向包含棋盘格的图片②图片中不包含棋盘格或者图片模糊等问题,导致查找棋盘......
  • 【开源库】libodb库编译及使用
    前言本文介绍windows平台下libodb库的编译及使用。文末提供libodb-2.4.0编译好的msvc2019_64版本,可直接跳转自取libodb库libodb是一个开源、跨平台、跨数据库的对象关系映射(ORM)系统,可以持久化C++对象到关系数据库,而不必处理表、列或者SQL,无需手动编写任何映射代码。ODB......
  • NAG Fortran Numerical Library帮助解决跨行业最复杂数学挑战
    NAGLIB库:NAGFortranNumericalLibrary帮助解决跨行业最复杂的数字挑战。NAG库算法本质上具有灵活性——它们可以从多种语言中调用,包括C和C++、VBA、Python、Java、.NET和Fortran。世界知名,专家支持世界上最大的商用库,包含强大、有文档记录且经过测试的数值和统计......
  • 【开源库学习】libodb库学习(二)
    使用持久对象前面的章节为我们提供了ODB的高级概述,并展示了如何使用它在数据库中存储C++对象。在本章中,我们将更详细地研究ODB对象持久性模型以及核心数据库API。我们将从第1节和第3节中的基本概念和术语开始,并继续讨论第4节中的odb::数据库类、第5节中的事务和第6节中的连......
  • 大模型长度扩展:直接外推, PI, NTK-aware, NTK-by-parts, Dynamic NTK, ALiBi, YaRN, S
    目录第一部分背景知识:从进制表示谈到直接外推、线性内插、进制转换1.1从进制表示到直接外推1.1.1进制表示1.1.2直接外推1.2从线性内插到进制转换1.2.1线性内插1.2.2进制转换第二部分从RoPE、直接外推到位置内插PositionInterpolation2.1旋转位置嵌入2.1.1RoPE的快速回......
  • Spring Cloud Alibaba——OpenFeign
            OpenFeign是一个显示声明式的WebService客户端。使用OpenFeign能让编写WebService客户端更加简单。使用时只需定义服务接口,然后在上面添加注解。OpenFeign也支持可拔插式的编码和解码器。Springcloud对feign进行了封装,使其支持MVC注解和HttpMessageConverts......
  • LD_LIBRARY_PATH 环境变量
    由来LD_LIBRARY_PATH这个环境变量的名字来源于Unix和Linux系统中动态链接器(DynamicLinker)的命名约定,这里的"LD"实际上是"Loader"的缩写,特指动态链接器。动态链接器负责在程序运行时解析和加载共享库(动态链接库)。在Unix和Linux系统中,动态链接器通常是ld.so,它是系......
  • x264、x265、libaom 编码对比实验
    介绍x264是一个开源的高性能H.264/MPEG-4AVC编码器,它以其优秀的压缩比和广泛的适用性而闻名。x265是一种用于将视频流编码成H.265/MPEG-HHEVC压缩格式的免费软件库和应用程序,以其下一代压缩能力和卓越的质量而闻名。作为x264的继任者,x265支持HEVC的Main、......
  • SciTech-EECS-PCB设计- PCB设计-原理图设计 - Schematic library(原理图元器件库)的设
    原理图绘制的“环境参数设置”设置原理图绘制的“环境参数”步骤大体有:在ad软件主界面菜单,选择“File->New->Project”,在创建工程的窗口,看见一个名称为PCB_Project1.PrjPCB的新工程。按照前面所介绍的“添加原理图”的方法,添加名称为“Sheet1.SchDoc”的“原理图文件”。......
  • MapLibre/Martin | 使用Martin发布MBTiles地图切片包
    什么是MartinMartin是一个高性能的地图切片服务器,使用Rust编写,支持PostGIS,MBTiles,PMTiles。什么是MBTilesMBTiles是个sqlite文件,也就是说MBTiles文件是个单文件数据库。截至本文写作时,最新标准是1.3.MBTIles利用了数据库的索引机制,避免相同内容的切片重复占用空间,同时也有......