现在我在 docker 内部有一个 c 艹的应用用 bazel 编译,里面有很多第三方依赖,比如 gflags、opencv、gtest、blas、caffe 等等
然后我们需要自己编译一个修改过版本的 caffe,之前是在在 docker 外部编译好 caffe,
然后把对应的头文件和.so 拷入 docker 镜像内部,也能运行。但是今天发现不对,因为 caffe 也依赖了 blas 等库,在外面 build 的 caffe 依赖的 blas 等库的版本可能不一样,拷进去恰好能运行只是刚好依赖的版本接近,从原理上来说是有风险的。。。同样的 tensorflow 也有这个问题
解决方案无非 2 种:1,编译静态链接的 caffe 和 tf 2,第二就是把 caffe 和 tf 搬到 docker 内部的 bazel 工程里,统一用 bazel 编译
我这个分析对么?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/548494
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.