Tencent / TBase

TBase is an enterprise-level distributed HTAP database. Through a single database cluster to provide users with highly consistent distributed database services and high-performance data warehouse services, a set of integrated enterprise-level solutions is formed.
Other
1.38k stars 262 forks source link

Compile error with v2.1.0 release on Debian10 gcc8.3.0 #68

Open xiajingan opened 3 years ago

xiajingan commented 3 years ago

System: root@prod-data1:/data/git/tbase_master# uname -a Linux prod-data1 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux Gcc: gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix

Error Message: make -sj In file included from ../../../../src/include/access/xact.h:31, from elog.c:67: ../../../../src/include/pgxc/pgxcnode.h:288:22: warning: inline function ‘pgxc_get_coordinator_proc_vxid’ declared but never defined inline TransactionId pgxc_get_coordinator_proc_vxid(void); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../src/include/pgxc/pgxcnode.h:287:13: warning: inline function ‘pgxc_set_coordinator_proc_vxid’ declared but never defined inline void pgxc_set_coordinator_proc_vxid(TransactionId proc_vxid); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../src/include/pgxc/pgxcnode.h:286:12: warning: inline function ‘pgxc_get_coordinator_proc_pid’ declared but never defined inline int pgxc_get_coordinator_proc_pid(void); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../src/include/pgxc/pgxcnode.h:285:13: warning: inline function ‘pgxc_set_coordinator_proc_pid’ declared but never defined inline void pgxc_set_coordinator_proc_pid(int proc_pid); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cat: ../../src/interfaces/libpq/objfiles.txt: No such file or directory /usr/bin/ld: tcop/postgres.o: in functionPostgresMain': /data/git/tbase_master/src/backend/tcop/postgres.c:5667: undefined reference to pgxc_set_coordinator_proc_pid' /usr/bin/ld: /data/git/tbase_master/src/backend/tcop/postgres.c:5668: undefined reference topgxc_set_coordinator_proc_vxid' /usr/bin/ld: utils/error/elog.o: in function log_line_prefix': /data/git/tbase_master/src/backend/utils/error/elog.c:2565: undefined reference topgxc_get_coordinator_proc_vxid' /usr/bin/ld: /data/git/tbase_master/src/backend/utils/error/elog.c:2565: undefined reference to pgxc_get_coordinator_proc_pid' /usr/bin/ld: /data/git/tbase_master/src/backend/utils/error/elog.c:2572: undefined reference topgxc_get_coordinator_proc_vxid' /usr/bin/ld: /data/git/tbase_master/src/backend/utils/error/elog.c:2572: undefined reference to pgxc_get_coordinator_proc_pid' /usr/bin/ld: /data/git/tbase_master/src/backend/utils/error/elog.c:2581: undefined reference topgxc_get_coordinator_proc_vxid' /usr/bin/ld: /data/git/tbase_master/src/backend/utils/error/elog.c:2581: undefined reference to pgxc_get_coordinator_proc_pid' /usr/bin/ld: utils/error/elog.o: in functionwrite_csvlog': /data/git/tbase_master/src/backend/utils/error/elog.c:2882: undefined reference to pgxc_get_coordinator_proc_vxid' /usr/bin/ld: /data/git/tbase_master/src/backend/utils/error/elog.c:2882: undefined reference topgxc_get_coordinator_proc_pid' /usr/bin/ld: /data/git/tbase_master/src/backend/utils/error/elog.c:2903: undefined reference to pgxc_get_coordinator_proc_vxid' /usr/bin/ld: /data/git/tbase_master/src/backend/utils/error/elog.c:2903: undefined reference topgxc_get_coordinator_proc_pid' collect2: error: ld returned 1 exit status make[2]: [Makefile:82: postgres] Error 1 make[1]: [Makefile:38: all-backend-recurse] Error 2 make: *** [GNUmakefile:11: all-src-recurse] Error 2`

If any other message needed, plz let me know.

JennyJennyChen commented 3 years ago

GCC version is too high, please try gcc version 4.8.5

yazun commented 3 years ago

you can check patch from this branch: https://github.com/yazun/TBase/commit/b05cab5257a00b9a1123986d7049733d7e976d2a