TensorFlow Model Server运行提示GLIBC系列版本缺失问题求助
解决TensorFlow Model Server的GLIBC/GLIBCXX版本缺失问题
这是典型的库版本兼容性问题——你当前安装的TensorFlow Model Server依赖的GLIBC和GLIBCXX版本,比系统自带的要高。下面是几个实用的解决思路,按推荐程度排序:
方法一:用Docker运行TF Serving(最安全推荐)
Docker可以完全隔离运行环境,不用修改系统任何库,完美规避版本冲突问题。
- 确保环境已安装Docker(如果是Colab环境,先运行
!apt-get install docker.io) - 执行以下命令启动TF Serving:
你可以根据需求调整镜像版本号(比如docker run -p 8501:8501 \ --mount type=bind,source="/content/drive/MyDrive/app/model14/export/best_model_by_loss/",target=/models/tfrbert \ -e MODEL_NAME=tfrbert \ tensorflow/serving:2.10.02.8.0),只要镜像内部库版本能匹配你的模型即可。
方法二:降级TensorFlow Model Server到兼容版本
如果不想用Docker,可以找一个和系统库版本匹配的TF Serving旧版本:
- 先检查系统当前的库版本:
- 查看GLIBC版本:
strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_ - 查看GLIBCXX版本:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_
- 查看GLIBC版本:
- 卸载当前的TF Serving:
sudo apt remove --purge tensorflow-model-server - 安装兼容的旧版本,比如如果你的系统GLIBC是2.27(如Ubuntu 18.04),可以安装TF Serving 2.3.x版本:
wget http://storage.googleapis.com/tensorflow-serving-apt/pool/tensorflow-model-server-2.3.0/t/tensorflow-model-server/tensorflow-model-server_2.3.0_all.deb sudo dpkg -i tensorflow-model-server_2.3.0_all.deb
方法三:升级系统库(有风险,谨慎操作)
直接升级系统的GLIBC和GLIBCXX可能会导致其他系统程序崩溃,仅推荐有经验的用户尝试:
升级GLIBCXX
- 安装更高版本的gcc工具链:
sudo apt update && sudo apt install gcc-9 g++-9 - 设置默认gcc/g++版本为9:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 - 验证GLIBCXX版本是否包含
3.4.26:strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.26
升级GLIBC(不推荐新手)
如果需要升级GLIBC到2.28+,最稳妥的方式是升级整个系统到更高版本(比如Ubuntu 20.04及以上,默认GLIBC是2.31)。手动编译安装GLIBC容易破坏系统环境,不建议尝试。
内容的提问来源于stack exchange,提问作者Shima Ghasemi
相关产品推荐
相关产品推荐

