Обсуждение: pguint Installation error in PostgreSQL server version 11.2
Hi Everyone,
[postgres] # CREATE EXTENSION uint;
ERROR: XX000: could not load library "/usr/pgsql-11/lib/uint.so": /usr/pgsql-11/lib/uint.so: undefined symbol: GET_1_BYTE
LOCATION: internal_load_library, dfmgr.c:240
Time: 17.247 ms
I have installed PostgresSQL 11.2 version on Centos 7 and try to install pguint from source to install TINYINT datatype .
But installation had problem not able to resolve dependency packages. I have followed below method to install , please help me to resolve this issue.
1. yum install centos-release-scl-rh
2.yum install llvm-toolset-7-clang-tools-extra
3.yum install devtoolset-7
4.yum install llvm-toolset-5
5.make PG_CONFIG=/usr/pgsql-11/bin/pg_config
6.make PG_CONFIG=/usr/pgsql-11/bin/pg_config install
Installed llvm5.0 packages successfully but when try to create pg extension getting below error ,
ERROR: XX000: could not load library "/usr/pgsql-11/lib/uint.so": /usr/pgsql-11/lib/uint.so: undefined symbol: GET_1_BYTE
LOCATION: internal_load_library, dfmgr.c:240
Time: 17.247 ms
Please help me to resolve this issue.
Regards,
Suresh Seema
Suresh Seema <suresh.seema@opsveda.com> writes: > I have installed PostgresSQL 11.2 version on Centos 7 and try to install > *pguint* from source to install *TINYINT* datatype . > ... > *[postgres] # CREATE EXTENSION uint;ERROR: XX000: could not load library > "/usr/pgsql-11/lib/uint.so": /usr/pgsql-11/lib/uint.so: undefined symbol: > GET_1_BYTE This is not a dependency problem. GET_1_BYTE() was a macro defined in PG10 and before, but it doesn't exist anymore as of PG11. There are two fairly plausible reasons why you might get this failure: 1. You built pguint against pre-v11 Postgres header files. 2. pguint actually contains a direct reference to GET_1_BYTE(), in which case it's going to need some source-code fixes. I don't know which applies. But check your build process first. regards, tom lane
Hi Tom,
Please find RPM repo below.
[pgdg11-source]
name=PostgreSQL 11 $releasever - $basearch - Source
failovermethod=priority
baseurl=https://download.postgresql.org/pub/repos/yum/srpms/11/redhat/rhel-$releasever-$basearch
name=PostgreSQL 11 $releasever - $basearch - Source
failovermethod=priority
baseurl=https://download.postgresql.org/pub/repos/yum/srpms/11/redhat/rhel-$releasever-$basearch
Please suggest me on this.
Regards,
Suresh Seema
On Sun, Jul 21, 2019 at 11:53 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Suresh Seema <suresh.seema@opsveda.com> writes:
> I have installed PostgresSQL 11.2 version on Centos 7 and try to install
> *pguint* from source to install *TINYINT* datatype .
> ...
> *[postgres] # CREATE EXTENSION uint;ERROR: XX000: could not load library
> "/usr/pgsql-11/lib/uint.so": /usr/pgsql-11/lib/uint.so: undefined symbol:
> GET_1_BYTE
This is not a dependency problem. GET_1_BYTE() was a macro defined in
PG10 and before, but it doesn't exist anymore as of PG11. There are
two fairly plausible reasons why you might get this failure:
1. You built pguint against pre-v11 Postgres header files.
2. pguint actually contains a direct reference to GET_1_BYTE(), in
which case it's going to need some source-code fixes.
I don't know which applies. But check your build process first.
regards, tom lane
Regards,
Suresh Seema