GreatSQL社区

搜索

[讨论中] openEuler-24.03-LTS-SP1编译GreatSQL-8.0.32-26报错

121 12 2025-1-3 15:48
参考文档
https://gitee.com/GreatSQL/Great ... -under-openeuler.md做的编译工作,但是在生成rpm包时候报错



系统版本

[root@openEuler24 rpmbuild]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS-SP1)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS-SP1)"
ANSI_COLOR="0;31"


内核版本

[root@openEuler24 rpmbuild]# uname -a
Linux openEuler24 6.6.0-72.0.0.76.oe2403sp1.x86_64 #1 SMP Fri Dec 27 12:13:01 CST 2024 x86_64 x86_64 x86_64 GNU/Linux



gcc版本

[root@openEuler24 rpmbuild]# gcc --version
gcc (GCC) 12.3.1 (openEuler 12.3.1-62.oe2403sp1)
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


cmake版本

[root@openEuler24 rpmbuild]# cmake --version
cmake version 3.27.9

CMake suite maintained and supported by Kitware (kitware.com/cmake).


编译结果
QQ20250103-153917.png
QQ20250103-153939.png
全部回复(12)
yejr 2025-1-3 15:59:24
看报错信息的最后两行就知道原因了,编辑 greatsql.spec 文件,把 authentication_kerberos_client.so 相关的两行删掉,可能是因为你的环境中编译完后,少了 authentication_kerberos_client.so 文件。

同样地,如果有其他类似的报错也这么处理即可,如果有新的报错信息请再补充。
alexyj 2025-1-3 16:06:04
yejr 发表于 2025-1-3 15:59
看报错信息的最后两行就知道原因了,编辑 greatsql.spec 文件,把 authentication_kerberos_client.so 相关 ...

这两个组件是做什么用的呢?缺少系统包吗?
yejr 2025-1-3 16:51:48
alexyj 发表于 2025-1-3 16:06
这两个组件是做什么用的呢?缺少系统包吗?

kerberos认证相关的,部分较早版本的openEuler的环境下编译好像就不会生成这两个文件,忽略即可
alexyj 2025-1-6 11:35:48
yejr 发表于 2025-1-3 16:51
kerberos认证相关的,部分较早版本的openEuler的环境下编译好像就不会生成这两个文件,忽略即可 ...

嗯,注释掉,编译成功了,谢谢
alexyj 2025-1-6 13:46:39
yejr 发表于 2025-1-3 16:51
kerberos认证相关的,部分较早版本的openEuler的环境下编译好像就不会生成这两个文件,忽略即可 ...

编译成功后,安装的时候报如下错:
25c1332b-f080-4ed0-abc5-e2d0e00baa01.png
yejr 2025-1-6 13:54:54
alexyj 发表于 2025-1-6 13:46
编译成功后,安装的时候报如下错:

编译是编译,和后面的RMP安装依赖是两个不同阶段。

RPM安装的依赖在 spec 里定义了,参考这里 :
https://gitee.com/GreatSQL/Great ... /greatsql.spec#L119

另外,在最开始我们提供的openEuler编译参考链接 https://gitee.com/GreatSQL/Great ... F%E4%BB%B6%E5%8C%85 中,也是有提示要先安装perl依赖包的:


  1. perl perl-Env perl-JSON perl-Memoize perl-Time-HiRes
复制代码

alexyj 2025-1-6 14:20:55
yejr 发表于 2025-1-6 13:54
编译是编译,和后面的RMP安装依赖是两个不同阶段。

RPM安装的依赖在 spec 里定义了,参考这里 :

这几个perl模块是安装上了的,除了perl-Memoize这个模块,但是我查询了一下,这个模块是包含在perl模块里的

yejr 2025-1-6 14:32:41
alexyj 发表于 2025-1-6 14:20
这几个perl模块是安装上了的,除了perl-Memoize这个模块,但是我查询了一下,这个模块是包含在perl模块里 ...

参考 greatsql.spec 文档,需要依赖以下perl包,用yum全部安装即可(不要用rpm逐个安装)


  1. BuildRequires:  perl
  2. BuildRequires:  perl(Carp)
  3. BuildRequires:  perl(Config)
  4. BuildRequires:  perl(Cwd)
  5. BuildRequires:  perl(Data::Dumper)
  6. BuildRequires:  perl(English)
  7. BuildRequires:  perl(Errno)
  8. BuildRequires:  perl(Exporter)
  9. BuildRequires:  perl(Fcntl)
  10. BuildRequires:  perl(File::Basename)
  11. BuildRequires:  perl(File::Copy)
  12. BuildRequires:  perl(File::Find)
  13. BuildRequires:  perl(File::Path)
  14. BuildRequires:  perl(File::Spec)
  15. BuildRequires:  perl(File::Spec::Functions)
  16. BuildRequires:  perl(File::Temp)
  17. BuildRequires:  perl(Getopt::Long)
  18. BuildRequires:  perl(IO::File)
  19. BuildRequires:  perl(IO::Handle)
  20. BuildRequires:  perl(IO::Pipe)
  21. BuildRequires:  perl(IO::Select)
  22. BuildRequires:  perl(IO::Socket)
  23. BuildRequires:  perl(IO::Socket::INET)
  24. BuildRequires:  perl(JSON)
  25. BuildRequires:  perl(Memoize)
  26. BuildRequires:  perl(POSIX)
  27. BuildRequires:  perl(Sys::Hostname)
  28. BuildRequires:  perl(Time::HiRes)
  29. BuildRequires:  perl(Time::localtime)
复制代码

alexyj 2025-1-6 16:16:54
yejr 发表于 2025-1-6 14:32
参考 greatsql.spec 文档,需要依赖以下perl包,用yum全部安装即可(不要用rpm逐个安装)

我把系统支持的perl模块都安装了,dnf install perl*,重新编译后,还是同样的报错
12下一页
alexyj

3

主题

0

博客

13

贡献

新手上路

Rank: 1

积分
23

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2025-1-18 13:12 , Processed in 0.026817 second(s), 23 queries , Redis On.
快速回复 返回顶部 返回列表