Thread: pguint Installation error in PostgreSQL server version 11.2

pguint Installation error in PostgreSQL server version 11.2

From
Suresh Seema
Date:
  Hi Everyone,

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 ,

[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


Please help me to resolve this issue.

Regards,
Suresh Seema

Re: pguint Installation error in PostgreSQL server version 11.2

From
Tom Lane
Date:
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



Re: pguint Installation error in PostgreSQL server version 11.2

From
Suresh Seema
Date:
Hi Tom,

Thanks for your support, but i have installed PostgreSQL packages from RPM repo not from Source code. 

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


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