在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2922|回复: 30

ubuntu24.02运行dc:../libpthread.so.0: version `GLIBC_PRIVATE' not found

[复制链接]
发表于 2024-6-10 15:19:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 PXIAOH 于 2024-6-10 15:22 编辑

     最近折腾瘾犯了,由于之前用Ubuntu20.04装了套EDA虚拟机学习用,但是画版图总是卡死,苦不堪言,所以用Ubuntu24.04的重新装,装完后运行dc报:
            ../bin/common_shell_exec:/lib64/libpthread.so.0: version `GLIBC_PRIVATE' not found
    这个问题是因为Ubuntu24.04的glibc版本过高,dc自带的库不兼容导致的,需要在Ubuntu24.04中额外安装glibc-2.31版本来单独给dc使用


                               
登录/注册后可看大图
     ubuntu安装其他版本的操作步骤: ubuntuglibc 安装_ubuntu安装glibc-CSDN博客;注意:操作步骤到成功执行make install了即可,不要再做替换系统软连接之类的步骤,也不需要添加至环境变量(添加环境变量,我终端报动态库重复加载而忽略掉且bu'neng'jie'j),我的安装路径为:/usr/glibc-2.31
    在Ubuntu24.02安装patchelf软件:sudo apt-get install patchelf ;patchelf使用方法:patchelf 的功能以及使用 patchelf 修改 rpath 以解决动态库问题-CSDN博客
    上述软件准备完毕后,就可以开始解决:
      1、进入common_shell_exec所在目录,先复制一份common_shell_exec备份,再将这个文件的库路径更改为自定义的库,打开终端,输入patchelf --set-rpath /usr/glib-2.31/lib common_shell_exec
      2、输入: patchelf  --print-rpath common_shell_exec ;回车后终端应该输出:'/usr/glibc-2.31/lib'字样,说明更改成功
      3、将common_shell_exec调用系统高版本的ld-linux-x86-64.so.2更换为自己安装的glibc-2.31的,终端输入:patchelf --set-interpreter /usr/glibc-2.31/lib/ld-linux-x86-64.so.2 common_shell_exec回车
      4、执行完上述步骤后,运行dc,终端将会出现:libxxx.so.x: cannot open shared object file: No such file ordirectory  的字样;这是因为我把dc加载的库路径切换到了glibc-2.31,从ubuntu20.04版本的系统或者其他能正常运行的EDA软件中找到对应动态库复制或者软连接到/usr/glibc-2.31/lib/下即可;不愿意折腾的看到这步骤可能就被劝退了,附件是我解决后的打包,不知道直接解压缩到对应目录下能否忽略此步骤
      5、解决完库路径问题,再次启动DC即可进入软件
     VCS编译后报错:g++-4.8 unrecognized command line option '-no-pie'错误;这个是ubuntu24.04系统底层太新和g++版本导致的不兼容,解决方案:sudo apt-get install g++-6  gcc-6;然后切换至6的版本就行,VCS我实测是能在gcc-6的版本下运行的ubuntu系统查看gcc版本及版本切换_ubuntu查看gcc版本-CSDN博客



补充内容 (2024-6-12 10:28):
补充一下:用的是2018版的dc,没有试过别的版本;这个帖子希望能帮到想在Ubuntu24系统上运行dc来学习的朋友,提供一种解决兼容性的方法

补充内容 (2024-6-12 10:44):
在装DC时,踩了很多坑和看了很多网页资料,对于附件,额外添加过dc运行需要的动态库,但不一定全,所以想下载的朋友,考虑下是否真的需要

glibc-2.31安装打包.zip

21.55 MB, 下载次数: 75 , 下载积分: 资产 -7 信元, 下载支出 7 信元

发表于 2024-6-10 17:16:37 | 显示全部楼层
thanks
发表于 2024-6-10 17:53:11 | 显示全部楼层
厉害!关于vcs,我这里实测gcc9.3.0和11.1.0都可以,不需要这么低的版本
发表于 2024-6-10 17:56:06 | 显示全部楼层
另外想请问下,我记得24.04没有lsb-core了,将22.04的源暂时添加,就能apt install lsb-core。可是会附加安装非常多的其他包。不知道楼主是怎么解决这个问题的
发表于 2024-6-10 17:57:34 | 显示全部楼层
我这里gcc的版本9.3.0和11.1.0都可以编译。
 楼主| 发表于 2024-6-10 18:43:23 | 显示全部楼层


mrpp 发表于 2024-6-10 17:57
我这里gcc的版本9.3.0和11.1.0都可以编译。


我用vcs主要目的是跑混仿验证,用ubuntu默认(gcc-13)会提示不支持,4.8版本会出g++报错,所以换用gcc6的,发现能运行了,就没有尝试其他gcc版本了
 楼主| 发表于 2024-6-10 18:44:52 | 显示全部楼层
本帖最后由 PXIAOH 于 2024-6-10 18:45 编辑


mrpp 发表于 2024-6-10 17:56
另外想请问下,我记得24.04没有lsb-core了,将22.04的源暂时添加,就能apt install lsb-core。可是会附加安 ...


我也折腾过这个,我Ubuntu的源换成了国内的源,印象中和你的操作一样,我硬盘空间大,虚拟机设置的硬盘也够大,没太在乎这个
发表于 2024-6-10 22:01:16 | 显示全部楼层
超级牛人!
 楼主| 发表于 2024-6-10 23:12:48 | 显示全部楼层
这是我第一次发帖,编辑的时候贴了图说长度限制,不知道啥情况就删了图,有些细节可能没写清楚
发表于 2024-6-11 08:41:42 | 显示全部楼层
rhel/centos 7或者rocky/alma linux 8才是王道,ubuntu折腾起来太折磨人了

点评

LINUX RHEL 7.4 for ISR1 LINUX CentOS 7 LINUX RHEL 7 LINUX RHEL 8 LINUX RHEL 9 LINUX SLES 12 LINUX SLES 15  发表于 2024-6-12 02:14
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-15 09:16 , Processed in 0.032210 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表