GBase 8s
安装配置
问答

gbase8s关于gorm的适配配置问题

发表于2025-12-10 17:38:13182次浏览28个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】:363

【操作系统】:centos7.6

【CPU】:4核

Program Name: GBase8s GSDK
Build Number: GSDK_3.6.3_3X3_1_1.1.0_1_39d3ca_CentOS7_FT2000

【问题描述】*: 
1、我想确认一下,下载下来的GSDK目录就相当于是文档中提到的GCI目录?还是说内部哪一个具体的目录层级?
2、那么GSDK目录下的include和lib就是对应文档中的includedir=${prefix}/include/ 和 libdir=${prefix}/lib/?
3、设置环境变量时需要配置的内容:

export LD_LIBRARY_PATH=/Users/Downloads/GCI/relyon/lib:/Users/Downloads/GCI/relyon/lib/esql:/Users/Downloads/GCI/lib:$LD_LIBRARY_PATH

export PKG_CONFIG_PATH=/Users/Downloads/PC/

使用时将/Users/Downloads/GCI/和/Users/Downloads/PC/分别替换成您自己的GCI和gbase8s.pc所在目录

其中的 GCI/relyon/lib、GCI/relyon/lib/esql 中的relyon 是哪里来的目录?gsdk下载下来后直接内部就是include和lib呀?

是gsdk的内容不完整?还是gitee的文档没更新?感觉两边目录内容不是很对的上呀。。。

很重要、很重要,目前集成gbase8s Dialector for GORM 因为gci目录对应的问题已经卡住了,希望尽快回复我!
 

评论

登录后才可以发表评论
用户头像
路路路发表于 7个月前
稍等有技术回复
用户头像
琳大大发表于 7个月前
1.是的,现在是gsdk,prefix=/Users/Downloads/GSDK/即可
2.export LD_LIBRARY_PATH=$GSDK/lib:$LD_LIBRARY_PATH就行
3.GCI/relyon/lib、GCI/relyon/lib/esql 是以前gci的目录,现在的gsdk只用设置2的环境变量即可
4.gitee的文档,我们尽快更新
用户头像
路路路发表于 7个月前
@琳大大:赞~
卜锦元发表于 7个月前
@琳大大:好的,非常感谢,能给我发个完整的吗? 或者您看下是不是应该这样设置:

3、创建一个新目录,并在该目录下新建一个 gbase8s.pc 文件

文件 gbase8s.pc 的内容如下所示:

prefix=/Users/Downloads/GSDK/
includedir=${prefix}/include/
libdir=${prefix}/lib/

Name: gbase8s
Description: gbase8s Instant Client
Version: 8.8
Cflags: -I${includedir}
Libs: -L${libdir} -lclntsh_gbase

使用时将/Users/Downloads/GSDK/替换成您自己的GSDK所在目录

4.设置环境变量

export LD_LIBRARY_PATH=$GSDK/lib:$LD_LIBRARY_PATH

export PKG_CONFIG_PATH=/Users/Downloads/PC/

使用时将/Users/Downloads/GSDK/和/Users/Downloads/PC/分别替换成您自己的GSDK和gbase8s.pc所在目录


特别注意:我的疑问:
1、 这两个还需吗:
includedir=${prefix}/include/
libdir=${prefix}/lib/

2、export LD_LIBRARY_PATH=$GSDK/lib:$LD_LIBRARY_PATH 确定GSDK前面有个$符号吗?
卜锦元发表于 7个月前
@卜锦元:我们目前正在进行gabse8s数据库的兼容适配,所以你们的 gbase8s Dialector for GORM 相关配置和环境变量的定义与设置对我们很重要,我们需要尽量严格、客观的配置内容,非常感谢您的耐心回答
用户头像
琳大大发表于 7个月前
@卜锦元:您来个邮箱,我给您发go和gorm的手顺吧
卜锦元发表于 7个月前
@琳大大:bojinyuan8@gmail.com
用户头像
琳大大发表于 7个月前
@卜锦元:1.pc文件里是需要这两个的
2.$GSDK是您要写GSDK绝对路径的意思
最佳回答
卜锦元发表于 7个月前
@琳大大:很感谢,明白了
卜锦元发表于 7个月前
@卜锦元:已经按照你最新发过来的配置手册配置了:我的相关配置如下:
环境:linux centos7.6
go版本:1.23.1
我的环境变量配置如下:
export LD_LIBRARY_PATH=/home/bjy/GSDK/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/home/bjy/pc/
相关目录和配置文件内容都是严格按照你说的配置来的(下面图片详细的配置内容和目录结构):

但是运行之后还是报错,内容为:
[root@localhost gbase8s-test]# go run main.go
# command-line-arguments
/usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/gcc -m64 -s -o $WORK/b001/exe/main -rdynamic -Wl,--compress-debug-sections=zlib /tmp/go-link-2891688968/go.o /tmp/go-link-2891688968/000000.o /tmp/go-link-2891688968/000001.o /tmp/go-link-2891688968/000002.o /tmp/go-link-2891688968/000003.o /tmp/go-link-2891688968/000004.o /tmp/go-link-2891688968/000005.o /tmp/go-link-2891688968/000006.o /tmp/go-link-2891688968/000007.o /tmp/go-link-2891688968/000008.o /tmp/go-link-2891688968/000009.o /tmp/go-link-2891688968/000010.o /tmp/go-link-2891688968/000011.o /tmp/go-link-2891688968/000012.o /tmp/go-link-2891688968/000013.o /tmp/go-link-2891688968/000014.o /tmp/go-link-2891688968/000015.o /tmp/go-link-2891688968/000016.o /tmp/go-link-2891688968/000017.o /tmp/go-link-2891688968/000018.o /tmp/go-link-2891688968/000019.o /tmp/go-link-2891688968/000020.o /tmp/go-link-2891688968/000021.o /tmp/go-link-2891688968/000022.o /tmp/go-link-2891688968/000023.o /tmp/go-link-2891688968/000024.o /tmp/go-link-2891688968/000025.o /tmp/go-link-2891688968/000026.o -O2 -g -L/home/bjy/GSDK//lib/ -lclntsh_gbase -O2 -g -lpthread -O2 -g -lresolv
/usr/bin/ld: 当搜索用于 /home/bjy/GSDK//lib//libclntsh_gbase.so 时跳过不兼容的 -lclntsh_gbase
/usr/bin/ld: 找不到 -lclntsh_gbase
collect2: 错误:ld 返回 1

这个报错问题需要如何解决?
卜锦元发表于 7个月前
@卜锦元:@琳大大 辛苦看下最新的问题哈
用户头像
琳大大发表于 7个月前
@卜锦元:LD_LIBRARY_PATH没生效
卜锦元发表于 7个月前
@琳大大:为啥嘞?您看下我的gsdk都是正常下载下来的,环境变量的配置、目录的创建也是正确配置的,怎么会有个LD_LIBRARY_PATH没有生效呢?我下面有具体打印环境变量的配置,您看下:
export LD_LIBRARY_PATH=/home/bjy/GSDK/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/home/bjy/pc/

打印环境变量内容如下:
[root@localhost pc]# echo $LD_LIBRARY_PATH
/home/bjy/GSDK/lib:/home/gbase8s-odbc-driver/lib:/home/gbase8s-odbc-driver/lib/esql:/home/gbase8s-odbc-driver/lib/cli:
[root@localhost pc]# echo $PKG_CONFIG_PATH
/home/bjy/pc/
[root@localhost pc]#
用户头像
琳大大发表于 7个月前
@卜锦元:unset下重新设下,就留/home/bjy/GSDK/lib试试
用户头像
琳大大发表于 7个月前
@琳大大:还需要保证您操作系统的cpu和gsdk的cpu能对上
卜锦元发表于 7个月前
@琳大大:已成功,原因是:
1、GSDK_3.6.3_3X3_1_1.1.0_1_39d3ca_CentOS7_FT2000.tar 这个是arm架构的
2、GSDK_3.6.3_3X3_1_1.1.0_1_39d3ca_RHEL6_x86_64.tar 这个x86的,用这个就好了
卜锦元发表于 7个月前
@卜锦元:关于这个环境变量的配置
export LD_LIBRARY_PATH=/home/bjy/GSDK/lib:$LD_LIBRARY_PATH
改为export LD_LIBRARY_PATH=/home/bjy/GSDK/lib/ 也可以生效
用户头像
琳大大发表于 7个月前
@卜锦元:嗯嗯好的
卜锦元发表于 7个月前
@琳大大:辛苦看下最新的适配问题哈,已经成功配置,运行后的错误,附带有评论截图
用户头像
GBase用户28017发表于 7个月前
有人回答了。
冰凤发表于 7个月前
1
冰凤发表于 7个月前
2
冰凤发表于 7个月前
3
冰凤发表于 7个月前
4
冰凤发表于 7个月前
4
冰凤发表于 7个月前
5
曾浩轩发表于 2个月前
围观了。
用户头像
levvel发表于 2个月前
评论是对发帖人的一种尊重