Re: [GENERAL] EnterpriseDB installed PostgreSQL 9.6 vs. REPMGR. Round2 - compilation issues. - Mailing list pgsql-general

From Martin Goodson
Subject Re: [GENERAL] EnterpriseDB installed PostgreSQL 9.6 vs. REPMGR. Round2 - compilation issues.
Date
Msg-id 5918E59B.8050307@googlemail.com
Whole thread Raw
In response to Re: [GENERAL] EnterpriseDB installed PostgreSQL 9.6 vs. REPMGR. Round2 - compilation issues.  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: [GENERAL] EnterpriseDB installed PostgreSQL 9.6 vs. REPMGR. Round4 - compilation issues on RHEL 7.2
List 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@ip-172-30-0-36:~/repmgr-3.3.1$
> PATH=/opt//PostgreSQL/9.6/bin:$PATH make USE_PGXS=1 clean all
> ubuntu@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."



pgsql-general by date:

Previous
From: John R Pierce
Date:
Subject: Re: [GENERAL] EnterpriseDB installed PostgreSQL 9.6 vs. REPMGR. Round2 - compilation issues.
Next
From: Scott Marlowe
Date:
Subject: Re: [GENERAL] Top posting....