我根据obproxy github的编译流程进行编译
发现有问题
编译环境,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++进行实现。