v4.0.0_CE 源码构建安装失败,提示找不到 libob_sql_proxy_parser_static.a

v4.0.0_CE commitid 6af7f9a

源码在bash bash.sh debug 以及make observer 之后执行 make install 失败提示找不到 libob_sql_proxy_parser_static.a,有人遇到吗?

CMake Error at cmake_install.cmake:173(file):
file INSTALL cannnot find
“oceanbase/build_debug/src/sql/parser/libob_sql_proxy_parser_static.a”:
No such file or directory.

此问题有人关注到吗?

    bash build.sh init
    bash build.sh debug
    cd build_debug && make -j4

是用这个方式跑的吗?

make install可能确实会失败;因为observer现在直接make install是没有意义的,现在编译完之后,可以直接使用obd加载镜像,然后进行部署

1 个赞

好,我试下,编译后的observer可执行文件是位于 build_debug/src/observer/observer 吗?

之前是参考最新版obd的文档里还是写的 make DESTDIR=./ install
https://www.oceanbase.com/docs/community-obd-cn-10000000000900367

是这个文件;我也继续看一下install失败的这个问题

1 个赞

请问该如何使用obd mirror直接加载镜像呢,GitHub里提到要先make install
github

这边建议可以看下obd镜像及仓库的操作手册https://www.oceanbase.com/docs/community-obd-cn-10000000000900367


搜到的所有的文档都先make install,但是在OB v4.0上make install会报上述错误

这里提到了可以直接用obd加载镜像,但是我在文档里没找到咋用obd直接加载镜像,所以想问一下这里指的直接使用obd加载镜像是啥意思
不胜感谢

make install会在build目录下创建usr/local/xxx,可以先手动创建出来规避这个问题。这里有个精简操作介绍:

  1. 编译。完成后,在build_release(或build_debug)目录下,会有 src/observer/observer文件
  2. 安装。在build_release目录下,执行 mkdir -p usr/local/{bin,etc,admin} 和 mv src/observer/observer usr/local/bin
  3. 创建obd镜像。obd mirror create -n oceanbase-ce -V 4.0.0.0 -p ./usr/local/ -f -t your_tag

创建镜像的tag是什么,记得调整一下

1 个赞

试了下这种方法可以规避掉 debug/release 时 make install 的问题,赞 :+1: