签到成功

知道了

CNDBA社区CNDBA社区

PostgreSQL 编译 sysbench 报fatal error: libpq-fe.h 错误解决方法

2022-12-16 21:10 2266 0 原创 PostgreSQL
作者: dave

1 错误现象

在pg 14.6 的平台上编译sysbench报错:http://www.cndba.cn/dave/article/116396http://www.cndba.cn/dave/article/116396

make[2]: Leaving directory `/data/postgres/sysbench-master/third_party/concurrency_kit/tmp/ck'
make[1]: Leaving directory `/data/postgres/sysbench-master/third_party/concurrency_kit'
Making all in src
make[1]: Entering directory `/data/postgres/sysbench-master/src'
Making all in drivers
make[2]: Entering directory `/data/postgres/sysbench-master/src/drivers'
Making all in pgsql
make[3]: Entering directory `/data/postgres/sysbench-master/src/drivers/pgsql'
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../config  -g -I/usr/pgsql-14/include -I../../../src -I/data/postgres/sysbench-master/third_party/luajit/inc -I/data/postgres/sysbench-master/third_party/concurrency_kit/include -D_GNU_SOURCE  -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla   -pthread -O3 -funroll-loops  -MT libsbpgsql_a-drv_pgsql.o -MD -MP -MF .deps/libsbpgsql_a-drv_pgsql.Tpo -c -o libsbpgsql_a-drv_pgsql.o `test -f 'drv_pgsql.c' || echo './'`drv_pgsql.c
drv_pgsql.c:30:22: fatal error: libpq-fe.h: No such file or directory
 #include <libpq-fe.h>
                      ^
compilation terminated.
make[3]: *** [libsbpgsql_a-drv_pgsql.o] Error 1
make[3]: Leaving directory `/data/postgres/sysbench-master/src/drivers/pgsql'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/data/postgres/sysbench-master/src/drivers'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/data/postgres/sysbench-master/src'
make: *** [all-recursive] Error 1

2 解决方法

该问题的解决方法是安装:postgresql-devel。http://www.cndba.cn/dave/article/116396

PostgreSQL 学习笔记(3) — PG 单实例安装手册
https://www.cndba.cn/dave/article/116374http://www.cndba.cn/dave/article/116396

http://www.cndba.cn/dave/article/116396

因为我们之前的PG是通过yum 安装的,没有安装该包。

http://www.cndba.cn/dave/article/116396
http://www.cndba.cn/dave/article/116396

我们安装的是PG 14.6. 但安装对应的版本缺报错:

[dave@www.cndba.cn yum.repos.d]# yum search postgresql14
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

dave                                                                                                                                     5230/5230
============================================================ N/S matched: postgresql14 ============================================================
postgresql14.x86_64 : PostgreSQL client programs and libraries
postgresql14-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
postgresql14-devel.x86_64 : PostgreSQL development header files and libraries
postgresql14-docs.x86_64 : Extra documentation for PostgreSQL
postgresql14-libs.x86_64 : The shared libraries required for any PostgreSQL clients
postgresql14-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
postgresql14-odbc.x86_64 : PostgreSQL ODBC driver
postgresql14-plperl.x86_64 : The Perl procedural language for PostgreSQL
postgresql14-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
postgresql14-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
postgresql14-server.x86_64 : The programs needed to create and run a PostgreSQL server
postgresql14-tcl.x86_64 : A Tcl client library for PostgreSQL
postgresql14-test.x86_64 : The test suite distributed with PostgreSQL

  Name and summary matches only, use "search all" for everything.

软件版本不兼容:

[dave@www.cndba.cn yum.repos.d]# yum install postgresql14-devel.x86_64 -y
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

dave                                                                                                                        | 2.8 kB  00:00:00
epel/x86_64/metalink                                                                                                        | 5.5 kB  00:00:00
epel                                                                                                                        | 4.7 kB  00:00:00
pgdg-common/7Server/x86_64/signature                                                                                        |  198 B  00:00:00
pgdg-common/7Server/x86_64/signature                                                                                        | 2.9 kB  00:00:00 !!!
pgdg10/7Server/x86_64/signature                                                                                             |  198 B  00:00:00
pgdg10/7Server/x86_64/signature                                                                                             | 3.6 kB  00:00:00 !!!
pgdg11/7Server/x86_64/signature                                                                                             |  198 B  00:00:00
pgdg11/7Server/x86_64/signature                                                                                             | 3.6 kB  00:00:00 !!!
pgdg12/7Server/x86_64/signature                                                                                             |  198 B  00:00:00
pgdg12/7Server/x86_64/signature                                                                                             | 3.6 kB  00:00:00 !!!
pgdg13/7Server/x86_64/signature                                                                                             |  198 B  00:00:00
pgdg13/7Server/x86_64/signature                                                                                             | 3.6 kB  00:00:00 !!!
pgdg14/7Server/x86_64/signature                                                                                             |  198 B  00:00:00
pgdg14/7Server/x86_64/signature                                                                                             | 3.6 kB  00:00:00 !!!
pgdg15/7Server/x86_64/signature                                                                                             |  198 B  00:00:00
pgdg15/7Server/x86_64/signature                                                                                             | 3.6 kB  00:00:00 !!!
(1/18): dave/group                                                                                                          | 628 kB  00:00:00
(2/18): dave/primary                                                                                                        | 2.1 MB  00:00:00
(3/18): epel/x86_64/group_gz                                                                                                |  98 kB  00:00:00
(4/18): epel/x86_64/updateinfo                                                                                              | 1.0 MB  00:00:00
(5/18): pgdg11/7Server/x86_64/group_gz                                                                                      |  245 B  00:00:01
(6/18): pgdg-common/7Server/x86_64/primary_db                                                                               | 165 kB  00:00:01
(7/18): pgdg10/7Server/x86_64/group_gz                                                                                      |  245 B  00:00:01
(8/18): pgdg12/7Server/x86_64/group_gz                                                                                      |  245 B  00:00:00
(9/18): pgdg13/7Server/x86_64/group_gz                                                                                      |  246 B  00:00:00
(10/18): pgdg13/7Server/x86_64/primary_db                                                                                   | 250 kB  00:00:01
(11/18): pgdg14/7Server/x86_64/group_gz                                                                                     |  244 B  00:00:00
(12/18): pgdg14/7Server/x86_64/primary_db                                                                                   | 162 kB  00:00:01
(13/18): pgdg15/7Server/x86_64/group_gz                                                                                     |  246 B  00:00:00
(14/18): pgdg15/7Server/x86_64/primary_db                                                                                   |  73 kB  00:00:01
(15/18): pgdg11/7Server/x86_64/primary_db                                                                                   | 454 kB  00:00:05
(16/18): pgdg12/7Server/x86_64/primary_db                                                                                   | 340 kB  00:00:12
(17/18): pgdg10/7Server/x86_64/primary_db                                                                                   | 400 kB  00:00:18
epel/x86_64/primary_db         FAILED
https://mirror.nevacloud.com/fedora/fedora-epel/7/x86_64/repodata/3dd50b7963def8e8bdaeb2f64f9ac466884d9b7fc598c7c0ce597a69ea7ee6e8-primary.sqlite.bz2: [Errno 12] Timeout on https://mirror.nevacloud.com/fedora/fedora-epel/7/x86_64/repodata/3dd50b7963def8e8bdaeb2f64f9ac466884d9b7fc598c7c0ce597a69ea7ee6e8-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
(18/18): epel/x86_64/primary_db                                                                                             | 7.0 MB  00:00:12
dave                                                                                                                                     5230/5230
Resolving Dependencies
--> Running transaction check
---> Package postgresql14-devel.x86_64 0:14.6-1PGDG.rhel7 will be installed
--> Processing Dependency: llvm5.0-devel >= 5.0 for package: postgresql14-devel-14.6-1PGDG.rhel7.x86_64
--> Processing Dependency: llvm-toolset-7-clang >= 4.0.1 for package: postgresql14-devel-14.6-1PGDG.rhel7.x86_64
--> Processing Dependency: libicu-devel for package: postgresql14-devel-14.6-1PGDG.rhel7.x86_64
--> Running transaction check
---> Package libicu-devel.x86_64 0:50.2-4.el7_7 will be installed
---> Package llvm5.0-devel.x86_64 0:5.0.1-7.el7 will be installed
--> Processing Dependency: llvm5.0(x86-64) = 5.0.1-7.el7 for package: llvm5.0-devel-5.0.1-7.el7.x86_64
--> Processing Dependency: libedit-devel for package: llvm5.0-devel-5.0.1-7.el7.x86_64
--> Processing Dependency: libLLVM-5.0.so()(64bit) for package: llvm5.0-devel-5.0.1-7.el7.x86_64
--> Processing Dependency: libLTO.so.5()(64bit) for package: llvm5.0-devel-5.0.1-7.el7.x86_64
---> Package postgresql14-devel.x86_64 0:14.6-1PGDG.rhel7 will be installed
--> Processing Dependency: llvm-toolset-7-clang >= 4.0.1 for package: postgresql14-devel-14.6-1PGDG.rhel7.x86_64
--> Running transaction check
---> Package llvm5.0.x86_64 0:5.0.1-7.el7 will be installed
---> Package llvm5.0-devel.x86_64 0:5.0.1-7.el7 will be installed
--> Processing Dependency: libedit-devel for package: llvm5.0-devel-5.0.1-7.el7.x86_64
---> Package llvm5.0-libs.x86_64 0:5.0.1-7.el7 will be installed
---> Package postgresql14-devel.x86_64 0:14.6-1PGDG.rhel7 will be installed
--> Processing Dependency: llvm-toolset-7-clang >= 4.0.1 for package: postgresql14-devel-14.6-1PGDG.rhel7.x86_64
--> Finished Dependency Resolution
Error: Package: llvm5.0-devel-5.0.1-7.el7.x86_64 (epel)
           Requires: libedit-devel
Error: Package: postgresql14-devel-14.6-1PGDG.rhel7.x86_64 (pgdg14)
           Requires: llvm-toolset-7-clang >= 4.0.1
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[dave@www.cndba.cn yum.repos.d]# y

退而求其次,安装了一个低版本的postgresql-devel:

http://www.cndba.cn/dave/article/116396

[dave@www.cndba.cn yum.repos.d]# yum install postgresql-devel
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Resolving Dependencies
--> Running transaction check
---> Package postgresql-devel.x86_64 0:9.2.24-4.el7_8 will be installed
--> Processing Dependency: postgresql-libs(x86-64) = 9.2.24-4.el7_8 for package: postgresql-devel-9.2.24-4.el7_8.x86_64
--> Processing Dependency: postgresql(x86-64) = 9.2.24-4.el7_8 for package: postgresql-devel-9.2.24-4.el7_8.x86_64
--> Running transaction check
---> Package postgresql.x86_64 0:9.2.24-4.el7_8 will be installed
---> Package postgresql-libs.x86_64 0:9.2.24-4.el7_8 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================================
 Package                                  Arch                           Version                                Repository                    Size
===================================================================================================================================================
Installing:
 postgresql-devel                         x86_64                         9.2.24-4.el7_8                         dave                         952 k
Installing for dependencies:
 postgresql                               x86_64                         9.2.24-4.el7_8                         dave                         3.0 M
 postgresql-libs                          x86_64                         9.2.24-4.el7_8                         dave                         234 k

Transaction Summary
===================================================================================================================================================
Install  1 Package (+2 Dependent packages)

Total download size: 4.2 M
Installed size: 21 M
Is this ok [y/d/N]: y
Downloading packages:
---------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                              137 MB/s | 4.2 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : postgresql-libs-9.2.24-4.el7_8.x86_64                                                                                           1/3
  Installing : postgresql-9.2.24-4.el7_8.x86_64                                                                                                2/3
  Installing : postgresql-devel-9.2.24-4.el7_8.x86_64                                                                                          3/3
  Verifying  : postgresql-9.2.24-4.el7_8.x86_64                                                                                                1/3
  Verifying  : postgresql-devel-9.2.24-4.el7_8.x86_64                                                                                          2/3
  Verifying  : postgresql-libs-9.2.24-4.el7_8.x86_64                                                                                           3/3

Installed:
  postgresql-devel.x86_64 0:9.2.24-4.el7_8

Dependency Installed:
  postgresql.x86_64 0:9.2.24-4.el7_8                                    postgresql-libs.x86_64 0:9.2.24-4.el7_8

Complete!
[dave@www.cndba.cn yum.repos.d]#

安装之后重新编译sysbench,问题解决:

http://www.cndba.cn/dave/article/116396
http://www.cndba.cn/dave/article/116396

[dave@www.cndba.cn sysbench-master]# sysbench --version
sysbench 1.1.0
[dave@www.cndba.cn sysbench-master]#

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2261
    原创
  • 3
    翻译
  • 578
    转载
  • 191
    评论
  • 访问:7971591次
  • 积分:4346
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ