国内软件在 Linux 平台上的支持真差
dev@crwin10:~$ /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
debian
debian branch
preload_libs=./libgbm.so ./plugins/dtwebview/libcef.so
ERROR: ld.so: object './libgbm.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Run Main is_gpu=0 is_zygote=0 is_render=0 is_crashpad_handler=0 cmd : ./com.alibabainc.dingtalk
Load /opt/apps/com.alibabainc.dingtalk/files/7.6.45-Release.5062501//dingtalk_dll.so failed! Err=/opt/apps/com.alibabainc.dingtalk/files/7.6.45-Release.5062501//dingtalk_dll.so: cannot enable executable stack as shared object requires: Invalid argument
dev@crwin10:~$
debian13 环境下,使用下面命令
apt-get install patchelf
patchelf --clear-execstack path/to/your/library.so
1
ranaanna 29 天前
从“ERROR”看,apt install libgbm1?
或者 apt install libgbm-dev 不过话说回来,dingding 这种 bloatware ,能不装的话还是不要装吧 |
3
hwdq0012 29 天前
|
4
unclemcz 29 天前 via Android
可以装 flathub 上的包
|
5
moefishtang 29 天前
Linux 版钉钉还有个可以绕过禁止下载限制,下载群视频文件的 bug 呢,一直没修(乐
|
6
w568w 29 天前
> /opt/apps/com.alibabainc.dingtalk/
这是什么包管理器安装的位置?为什么不用 Flatpak ? |
7
chitaotao 29 天前 via Android 这个是 glibc 2.41 或更新版本更改了可执行栈的规则,破坏了很多程序的兼容。旧版本如果动态库有可执行栈,主程序没有,会静默的将主程序的栈设置为可执行;而新版本的行为是直接异常退出,错误信息就是这个。解决方式有两个,第一种就是把主程序(钉钉)设置为可执行栈,使用 execstack ,第二种是如果你确定动态库( dingtalk_dll )不需要可执行栈,可以去掉他的可执行栈 flags ,也是使用 execstack
|
8
iceheart 29 天前 via Android
这脚本也够糙的,LD_PRELOAD 指定的 so 居然用相对路径。
找到这个 so 的真实路径,cd 过去再执行这个启动脚本。或者改脚本。 |
9
wildlife 28 天前
execstack -c /opt/apps/com.alibabainc.dingtalk/files/*Release*/dingtalk_dll.so
|