You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake编译的C++程序在Bluehost服务器运行时重定位错误求助

GLIBC版本兼容导致C++程序在服务器运行失败的解决方法

问题

在WSL Ubuntu环境下用CMake编译了一款处理CSV文件并输出JSON结果的C++程序,本地运行正常。将程序及ldd列出的相关库(除linux-vdso.so.1外)上传至Bluehost的Cloudlinux 6.10服务器(Linux+PHP后端)后,执行时抛出错误:

./lib/esp_query: relocation error: /lib/libpthread.so.0: symbol __tunable_get_val, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference

此前上传的简单HelloWorld程序通过PHP exec()调用可正常运行。

解决步骤

  • 匹配目标环境编译:由于服务器为Cloudlinux 6.10,改用CentOS 7环境编译程序——CentOS 7的系统库版本与Cloudlinux 6.10更接近,可避免GLIBC版本不兼容引发的问题。
  • 调整代码标准并移除依赖:原项目依赖的hosseinmoein/DataFrame包要求C11标准,但CentOS 7默认编译器对C11支持有限,因此改用C++98标准重写程序,并移除该第三方依赖。

完成上述调整后,程序在服务器上通过PHP exec()调用可正常运行。

内容的提问来源于stack exchange,提问作者DCD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:31:51