Re: EnterpriseDB installed PostgreSQL 9.6 vs. REPMGR. Round 2 - compilation issues.

From: Martin Goodson <kaemaril(at)googlemail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Cc: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, Devrim Gündüz <devrim(at)gunduz(dot)org>
Subject: Re: EnterpriseDB installed PostgreSQL 9.6 vs. REPMGR. Round 2 - compilation issues.
Date: 2017-05-14 23:17:47
Message-ID: 5918E59B.8050307@googlemail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 14/05/2017 21:49, Adrian Klaver wrote:
>
>
> I spun up an Ubuntu 16.04 instance and:
>
>
>
> RH Ubuntu
> build-essential
> libxslt-devel libxslt1-dev(this also pulled in libicu-dev)
> pam-devel libpam0g-dev
> openssl-devel libssl-dev
> readline-devel libreadline-dev
> libmemcached-devel libmemcached-dev
> libicu-devel libicu-dev
> libedit-dev
> libkrb5-dev
>
> ubuntu(at)ip-172-30-0-36:~/repmgr-3.3.1$
> PATH=/opt//PostgreSQL/9.6/bin:$PATH make USE_PGXS=1 clean all
> ubuntu(at)ip-172-30-0-36:~/repmgr-3.3.1$ sudo
> PATH=/opt//PostgreSQL/9.6/bin:$PATH make USE_PGXS=1 install

Thank you so much, Adrian (and others) that seems to have done the
trick. At least, it's compiled against a completely generic PostgreSQL
build that I did without any apparent error:

BUILD SERVER

1. (VISUALBOX) Ubuntu 16.04 server build.
2. sudo apt-get update
3. sudo apt-get upgrade
4. copy postgresql-9.6.3.1-linux-x64.run from EnterpriseDB to VM
5. copy repmgr-3.3.1.tar.gz from repmgr.org
6. sudo apt-get install make
7. sudo apt-get install gcc

8. sudo groupadd gpginst

9. sudo mkdir -p /opt/PostgreSQL/9.6.3 < - Build PG software directory
10. sudo mkdir -p /opt/PostgreSQL/pginst
11. sudo useradd -g gpginst -d /opt/PostgreSQL/pginst pginst

12. chmod 750 postgresql-9.6.3.1-linux-x64.run

BUILD GENERIC POSTGRESQL DB USING ENTERPRISEDB INSTALLER (community edition)

13. sudo ./postgresql-9.6.3-1-linux-x64.run --superaccount pginst
--serviceaccount pginst --prefix /opt/PostgreSQL/9.6.3 --datadir
/opt/PostgreSQL/9.6.3/data --superpassword temporary --serverport 50000

----------------------------------------------------------------------------
Welcome to the PostgreSQL Setup Wizard.

----------------------------------------------------------------------------
Please specify the directory where PostgreSQL will be installed.

Installation Directory [/opt/PostgreSQL/9.6.3]:

<SNIPPED>

----------------------------------------------------------------------------
Please wait while Setup installs PostgreSQL on your computer.

Installing
0% ______________ 50% ______________ 100%
#########################################

----------------------------------------------------------------------------
Setup has finished installing PostgreSQL on your computer.

Verify PostgreSQL up and running ...

15. ps -ef | grep -i "post"

pginst 6724 1 0 23:28 ? 00:00:00
/opt/PostgreSQL/9.6.3/bin/postgres -D /opt/PostgreSQL/9.6.3/data
pginst 6726 6724 0 23:28 ? 00:00:00 postgres: logger
process
pginst 6728 6724 0 23:28 ? 00:00:00 postgres:
checkpointer process
pginst 6729 6724 0 23:28 ? 00:00:00 postgres: writer
process
pginst 6730 6724 0 23:28 ? 00:00:00 postgres: wal
writer process
pginst 6731 6724 0 23:28 ? 00:00:00 postgres:
autovacuum launcher process
pginst 6732 6724 0 23:28 ? 00:00:00 postgres: stats
collector process
pginst 6752 6743 0 23:31 pts/0 00:00:00 grep -i post

Check pg_config

16. sudo su - pginst
17. $ /opt/PostgreSQL/9.6.3/bin/pg_config

BINDIR = /opt/PostgreSQL/9.6.3/bin
DOCDIR = /opt/PostgreSQL/9.6.3/doc/postgresql
HTMLDIR = /opt/PostgreSQL/9.6.3/doc/postgresql
INCLUDEDIR = /opt/PostgreSQL/9.6.3/include
PKGINCLUDEDIR = /opt/PostgreSQL/9.6.3/include/postgresql
INCLUDEDIR-SERVER = /opt/PostgreSQL/9.6.3/include/postgresql/server
LIBDIR = /opt/PostgreSQL/9.6.3/lib
PKGLIBDIR = /opt/PostgreSQL/9.6.3/lib/postgresql
LOCALEDIR = /opt/PostgreSQL/9.6.3/share/locale
MANDIR = /opt/PostgreSQL/9.6.3/share/man
SHAREDIR = /opt/PostgreSQL/9.6.3/share/postgresql
SYSCONFDIR = /opt/PostgreSQL/9.6.3/etc/postgresql
PGXS = /opt/PostgreSQL/9.6.3/lib/postgresql/pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--enable-debug' '--with-libs=/opt/local/Current/lib'
'--with-includes=/opt/local/Current/include/libxml2:/opt/local/Current/include'
'--prefix=/mnt/hgfs/pginstaller.auto/server/staging/linux-x64'
'--with-ldap' '--with-openssl' '--with-perl' '--with-python'
'--with-tcl'
'--with-tclconfig=/opt/local/EnterpriseDB/LanguagePack/9.6/Tcl-8.5/lib'
'--with-pam' '--enable-thread-safety' '--with-libxml' '--with-ossp-uuid'
'--docdir=/mnt/hgfs/pginstaller.auto/server/staging/linux-x64/doc/postgresql'
'--with-libxslt' '--with-libedit-preferred' '--with-gssapi'
'LD_LIBRARY_PATH=/opt/local/Current/lib' 'CFLAGS=-O2 -DMAP_HUGETLB=0x40000'
CC = gcc
CPPFLAGS = -DFRONTEND -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2 -DMAP_HUGETLB=0x40000
CFLAGS_SL = -fpic
LDFLAGS = -L../../src/common -L/opt/local/Current/lib
-Wl,--as-needed
-Wl,-rpath,'/mnt/hgfs/pginstaller.auto/server/staging/linux-x64/lib',--enable-new-dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lxslt -lxml2 -lpam -lssl -lcrypto
-lgssapi_krb5 -lz -ledit -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 9.6.3

18. sudo apt-get install build-essential
19. sudo apt-get install libpam0g-dev
20. sudo apt-get install libssl-dev
21. sudo apt-get install libreadline-dev
22. sudo apt-get install libmemcached-dev
23. sudo apt-get install libicu-dev
24. sudo apt-get install libedit-dev
25. sudo apt-get install libkrb5-dev

26. gunzip and tar repmgr-3.3.1.tar.gz

(Oops! Tried installing, but didn't work 'cos I'd forgotten a library -
see step 27 ... )

27. sudo apt-get install libxslt1-dev

28. PATH=/opt/PostgreSQL/9.6.3/bin:$PATH make USE_PGXS=1 clean all
rm -f *.o
rm -f repmgrd
rm -f repmgr
make -C sql clean
make[1]: Entering directory '/home/master/repmgr-3.3.1/sql'
rm -f repmgr_funcs.so librepmgr_funcs.a librepmgr_funcs.pc
rm -f repmgr_funcs.sql
rm -f repmgr_funcs.o
make[1]: Leaving directory '/home/master/repmgr-3.3.1/sql'
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -I/opt/PostgreSQL/9.6.3/include -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
dbutils.o dbutils.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -I/opt/PostgreSQL/9.6.3/include -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
config.o config.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -I/opt/PostgreSQL/9.6.3/include -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
repmgrd.o repmgrd.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -I/opt/PostgreSQL/9.6.3/include -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
log.o log.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -I/opt/PostgreSQL/9.6.3/include -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
strutil.o strutil.c
gcc -o repmgrd -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 dbutils.o config.o repmgrd.o log.o strutil.o
-L/opt/PostgreSQL/9.6.3/lib -lpgcommon -lpgport
-L/opt/PostgreSQL/9.6.3/lib -lpq -L/opt/PostgreSQL/9.6.3/lib
-L/opt/local/Current/lib -Wl,--as-needed
-Wl,-rpath,'/opt/PostgreSQL/9.6.3/lib',--enable-new-dtags -lpgcommon
-lpgport -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -ledit
-lrt -lcrypt -ldl -lm
make -C sql
make[1]: Entering directory '/home/master/repmgr-3.3.1/sql'
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -fpic -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
repmgr_funcs.o repmgr_funcs.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -fpic -shared -o repmgr_funcs.so repmgr_funcs.o
-L/opt/PostgreSQL/9.6.3/lib -L/opt/local/Current/lib -Wl,--as-needed
-Wl,-rpath,'/opt/PostgreSQL/9.6.3/lib',--enable-new-dtags
sed 's,MODULE_PATHNAME,$libdir/repmgr_funcs,g'
repmgr_funcs.sql.in >repmgr_funcs.sql
make[1]: Leaving directory '/home/master/repmgr-3.3.1/sql'
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -I/opt/PostgreSQL/9.6.3/include -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
check_dir.o check_dir.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -I/opt/PostgreSQL/9.6.3/include -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
repmgr.o repmgr.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -I/opt/PostgreSQL/9.6.3/include -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
dirmod.o dirmod.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 -I/opt/PostgreSQL/9.6.3/include -I. -I./
-I/opt/PostgreSQL/9.6.3/include/postgresql/server
-I/opt/PostgreSQL/9.6.3/include/postgresql/internal -D_GNU_SOURCE
-I/opt/local/Current/include/libxml2 -I/opt/local/Current/include -c -o
compat.o compat.c
gcc -o repmgr -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv -g -O2
-DMAP_HUGETLB=0x40000 dbutils.o check_dir.o config.o repmgr.o log.o
strutil.o dirmod.o compat.o -L/opt/PostgreSQL/9.6.3/lib -lpgcommon
-lpgport -L/opt/PostgreSQL/9.6.3/lib -lpq -L/opt/PostgreSQL/9.6.3/lib
-L/opt/local/Current/lib -Wl,--as-needed
-Wl,-rpath,'/opt/PostgreSQL/9.6.3/lib',--enable-new-dtags -lpgcommon
-lpgport -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -ledit
-lrt -lcrypt -ldl -lm
make -C sql
make[1]: Entering directory '/home/master/repmgr-3.3.1/sql'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/master/repmgr-3.3.1/sql'

29. sudo PATH=/opt/PostgreSQL/9.6.3/bin:$PATH make USE_PGXS=1 install
make -C sql
make[1]: Entering directory '/home/master/repmgr-3.3.1/sql'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/master/repmgr-3.3.1/sql'
/bin/mkdir -p '/opt/PostgreSQL/9.6.3/share/postgresql/contrib'
mkdir -p '/opt/PostgreSQL/9.6.3/bin'
/usr/bin/install -c repmgrd '/opt/PostgreSQL/9.6.3/bin/'
/usr/bin/install -c repmgr '/opt/PostgreSQL/9.6.3/bin/'
make -C sql install
make[1]: Entering directory '/home/master/repmgr-3.3.1/sql'
/bin/mkdir -p '/opt/PostgreSQL/9.6.3/lib/postgresql'
/bin/mkdir -p '/opt/PostgreSQL/9.6.3/share/postgresql/contrib'
/usr/bin/install -c -m 755 repmgr_funcs.so
'/opt/PostgreSQL/9.6.3/lib/postgresql/repmgr_funcs.so'
/usr/bin/install -c -m 644 .//uninstall_repmgr_funcs.sql
repmgr_funcs.sql '/opt/PostgreSQL/9.6.3/share/postgresql/contrib/'
make[1]: Leaving directory '/home/master/repmgr-3.3.1/sql'
/usr/bin/install -c -m 644 .//repmgr.sql .//uninstall_repmgr.sql
'/opt/PostgreSQL/9.6.3/share/postgresql/contrib/'

Tomorrow I'll have to see about getting that set-up on an RHEL 7 box :)

Thank you so much, everybody, for your help! It's been invaluable!

Regards,

Martin.

--
Martin Goodson

"Have you thought up some clever plan, Doctor?"
"Yes, Jamie, I believe I have."
"What're you going to do?"
"Bung a rock at it."

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2017-05-15 00:04:49 Re: Top posting....
Previous Message John R Pierce 2017-05-14 22:29:20 Re: EnterpriseDB installed PostgreSQL 9.6 vs. REPMGR. Round 2 - compilation issues.