OBProxy编译出错

我根据obproxy github的编译流程进行编译

https://github.com/oceanbase/oceanbase-proxy-doc/blob/V3.1.0/zh-CN/3.installation-and-deployment/3.compile-odp.md

发现有问题

编译环境,build config

+ do_config
+ set -x
+ get_os_release
++ uname -m
+ OS_ARCH=x86_64
+ [[ x86_64x == \x\8\6\_\6\4\x ]]
+ case "$ID" in
+ version_ge 9
++ awk -v v1=12 -v v2=9 'BEGIN{print(v1>=v2)?"1":"0"}'
+ test 1 == 1
+ compat_centos7
+ echo '[NOTICE] '\''Debian GNU/Linux 12 (bookworm)'\'' is compatible with CentOS 7, use el7 dependencies list'
[NOTICE] 'Debian GNU/Linux 12 (bookworm)' is compatible with CentOS 7, use el7 dependencies list
+ OS_RELEASE=7
+ return
+ test 7 -eq 8 -a x86_64x = aarch64x
+ case "x$1" in
+ ./configure --with-gcc-version=9.3.0 --with-coverage=no --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no --with-release

编译错误:

  CXXLD    dbconfig/libdbconfig.la
  CXXLD    obproxy/libobproxy.la
  CXXLD    lib/compress/libzstd_1.3.8.la
copying selected object files to avoid basename conflicts...
  CXXLD    obproxy/obproxy
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: cannot find Scrt1.o: No such file or directory
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: cannot find crti.o: No such file or directory
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: warning: /lib/x86_64-linux-gnu/libm.so.6: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0008002
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: /lib/x86_64-linux-gnu/libm.so.6: unknown type [0x13] section `.relr.dyn'
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libm.so.6 when searching for /lib/x86_64-linux-gnu/libm.so.6
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: cannot find /lib/x86_64-linux-gnu/libm.so.6
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: warning: /lib/x86_64-linux-gnu/libmvec.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0008002
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: /lib/x86_64-linux-gnu/libmvec.so.1: unknown type [0x13] section `.relr.dyn'
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libmvec.so.1 when searching for /lib/x86_64-linux-gnu/libmvec.so.1
/home/zhangjiaqiao/obproxy/deps/3rd/usr/local/oceanbase/devtools/bin/ld: cannot find /lib/x86_64-linux-gnu/libmvec.so.1
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:5714: obproxy/obproxy] Error 1
make[3]: Leaving directory '/home/zhangjiaqiao/obproxy/src'
make[2]: *** [Makefile:3363: all] Error 2
make[2]: Leaving directory '/home/zhangjiaqiao/obproxy/src'
make[1]: *** [Makefile:468: all-recursive] Error 1
make[1]: Leaving directory '/home/zhangjiaqiao/obproxy'
make: *** [Makefile:379: all] Error 

看起来是链接出错了,怎么解决,是系统环境问题吗

我这边有个需求是需要在外部解析统计OceanBase的SQL,需要借助OB的SQL parser来进行SQL解析和统计。如果不用OB SQL parser,还有别的方案吗,我们这边需要C/C++进行实现。

1 个赞

不是用Allinone的方式安装的?

不是,单独编译的

不支持单独编译 是odp的一部分 没有办法拆分出来

1 个赞

那现在我需要怎样才能编译obproxy呢,现在obproxy编译不出来,有上面的问题

这样和直接使用obproxy也没啥区别了呀

我这边需要做下二次开发,所以需要修改代码后编译一下

没有改之前能编译么?

现在就还没开始改,原版就编译不通过

obproxy的版本 是那个具体发一下版本信息

目前不同的环境 编译的报错也是不一样 先检查一下环境 看看


https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013699