V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
wuruxu
V2EX  ›  Linux

钉钉 Linux 版本在 Debian13 下无法运行

  •  
  •   wuruxu ·
    wuruxu · 29 天前 · 1831 次点击

    国内软件在 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:~$ 
    
    第 1 条附言  ·  28 天前

    debian13 环境下,使用下面命令

    apt-get install patchelf
    patchelf --clear-execstack path/to/your/library.so
    
    10 条回复    2025-10-15 09:11:36 +08:00
    ranaanna
        1
    ranaanna  
       29 天前
    从“ERROR”看,apt install libgbm1?
    或者 apt install libgbm-dev

    不过话说回来,dingding 这种 bloatware ,能不装的话还是不要装吧
    wuruxu
        2
    wuruxu  
    OP
       29 天前
    @ranaanna 应该是 libgdm 更新后,dingding 跑不起来了
    hwdq0012
        3
    hwdq0012  
       29 天前
    ERROR: ld.so: object './libgbm.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

    环境变量中这个库加载失败了,可以看看是不是少依赖了
    看看脚本中上下文件中 这两个文件的位置
    preload_libs=./libgbm.so ./plugins/dtwebview/libcef.so

    ```bash
    ldd path/2/libgbm.so
    ```
    unclemcz
        4
    unclemcz  
       29 天前 via Android
    可以装 flathub 上的包
    moefishtang
        5
    moefishtang  
       29 天前
    Linux 版钉钉还有个可以绕过禁止下载限制,下载群视频文件的 bug 呢,一直没修(乐
    w568w
        6
    w568w  
       29 天前
    > /opt/apps/com.alibabainc.dingtalk/

    这是什么包管理器安装的位置?为什么不用 Flatpak ?
    chitaotao
        7
    chitaotao  
       29 天前 via Android   ❤️ 1
    这个是 glibc 2.41 或更新版本更改了可执行栈的规则,破坏了很多程序的兼容。旧版本如果动态库有可执行栈,主程序没有,会静默的将主程序的栈设置为可执行;而新版本的行为是直接异常退出,错误信息就是这个。解决方式有两个,第一种就是把主程序(钉钉)设置为可执行栈,使用 execstack ,第二种是如果你确定动态库( dingtalk_dll )不需要可执行栈,可以去掉他的可执行栈 flags ,也是使用 execstack
    iceheart
        8
    iceheart  
       29 天前 via Android
    这脚本也够糙的,LD_PRELOAD 指定的 so 居然用相对路径。
    找到这个 so 的真实路径,cd 过去再执行这个启动脚本。或者改脚本。
    wildlife
        9
    wildlife  
       28 天前
    execstack -c /opt/apps/com.alibabainc.dingtalk/files/*Release*/dingtalk_dll.so
    ronen
        10
    ronen  
       26 天前 via Android
    @w568w 我推测用的是 deepin 的 deb 打包规范。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   933 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 22:00 · PVG 06:00 · LAX 14:00 · JFK 17:00
    ♥ Do have faith in what you're doing.