问题描述如题
命令行启动出现如下报错
$ /usr/local/BookxNotePro/BookxNotePro
/usr/local/BookxNotePro/BookxNotePro: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/BookxNotePro/BookxNotePro)
报错的主要内容为
/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found
查看GLIBC版本
$ ldd --version
ldd (Debian GLIBC 2.28.19-1+dde) 2.28
Copyright (C) 2018 自由软件基金会。
这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性
或者适合某些特殊目的。
由 Roland McGrath 和 Ulrich Drepper 编写。
上面写的系统默认版本是2.28。然后我发现在在软件根目录下有libm.so.6 ,但是启动的时候找的一直系统环境变量里面的libm.so.6 。尝试把/usr/local/BookxNotePro添加到环境变量,虽然可以解决,但是最后导致重启无法正常开机。。。
折腾了一会,直接上解决方案
解决方案
方案1: 使用BookxNotePro自带的GLIBC版本
这是优化过后的解决方案,下面的命令复制粘贴跑一遍就行
mkdir /usr/local/BookxNotePro/libm
cp /usr/local/BookxNotePro/libm.so.6 /usr/local/BookxNotePro/libm/libm.so.6
echo 'export LD_LIBRARY_PATH="/usr/local/BookxNotePro/libm:$LD_LIBRARY_PATH"' >> ~/.bashrc
source ~/.bashrc
最后启动软件就能跑了
$ /usr/local/BookxNotePro/BookxNotePro
方案2 :针对命令行启动正常,但是桌面图标启动没反应的问题
自己在桌面写个.sh文件
vim ~/Desktop/BookxNotePro.sh
按I键然后输入一下粘贴以下内容
#!/bin/bash
export LD_LIBRARY_PATH="/usr/local/BookxNotePro/libm"
/usr/local/BookxNotePro/BookxNotePro
最后给个执行权限,然后就能跑了
chmod 771 ~/Desktop/BookxNotePro.sh
方案3:使用自己安装的GLIBC_2.29
-
安装GLIBC_2.29 安装步骤参考博文: https://blog.csdn.net/wq_0708/article/details/121105055#1_glibc_3 只做第一点步骤----1. 安装/升级glibc 即可,第二点的步骤不用做。 -
添加环境变量 不能直接添加到环境变量,否则系统重启后会卡在开机页面,要恢复的话会很麻烦(别问我是怎么知道的…)。 操作步骤: mkdir /usr/local/BookxNotePro/libm
ln -s /usr/local/glibc-2.29/lib/libm.so.6 /usr/local/BookxNotePro/libm/libm.so.6
echo 'export LD_LIBRARY_PATH="/usr/local/BookxNotePro/libm:$LD_LIBRARY_PATH"' >> ~/.bashrc
source ~/.bashrc
-
最后启动软件就ok了 /usr/local/BookxNotePro/BookxNotePro
|