Tarantool Docker构建报错:找不到.libs/libprofiler.so*文件
解决Tarantool 1.9-2.1版本Docker构建时
cp: can't stat '.libs/libprofiler.so*': No such file or directory错误 我来帮你搞定这个Tarantool Docker构建的报错问题——这个确实是tarantool/docker仓库旧版本的已知构建问题,下面给你几个可行的解决方案:
问题根源
你尝试构建的1.9到2.1版本的Dockerfile,其构建逻辑是基于旧的编译流程写的,在当前的Docker环境(比如你的18.09.2社区版)下,libprofiler库的生成路径已经和脚本预期的不一致了,或者编译过程中缺少生成这个库的依赖,导致复制命令找不到文件。
具体解决方案
方案1:修改对应版本的Dockerfile(最直接)
- 先进入你要构建的版本子目录,比如构建1.9版本就执行
cd 1.9,2.1版本就cd 2.1 - 打开目录里的Dockerfile,找到这行出错的命令:
cp .libs/libprofiler.so* /usr/local/lib/ - 其实在构建过程中,
libprofiler已经被安装到/usr/local/lib目录了,这行复制命令完全是多余的——直接删掉这行就行;或者如果你想保留类似逻辑,也可以把路径改成实际存在的位置:cp /usr/local/lib/libprofiler.so* /usr/local/lib/
方案2:补充编译依赖
如果删掉命令后还是有相关报错,那可能是构建过程中缺少生成libprofiler的必要依赖。你可以在Dockerfile里的apt-get install步骤中添加libunwind-dev:
RUN apt-get update && apt-get install -y --no-install-recommends \ # 保留原来的依赖项,加上下面这行 libunwind-dev
添加后重新构建,就能确保编译过程生成所需的库文件。
方案3:直接用官方预构建镜像(最省心)
要是不想折腾构建过程,直接拉取官方已经做好的对应版本镜像就行,命令如下:
# 拉取1.9版本 docker pull tarantool/tarantool:1.9 # 拉取2.1版本 docker pull tarantool/tarantool:2.1
验证
修改完Dockerfile后,重新运行docker build .,应该就能顺利完成构建了。
内容的提问来源于stack exchange,提问作者svaor
相关产品推荐
相关产品推荐

