Search Postgresql Archives

Re: EnterpriseDB installed PostgreSQL 9.6 vs. REPMGR. Round 3 - libraries resolved, still can't compile :(

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/05/2017 18:57, Adrian Klaver wrote:

On 05/12/2017 09:19 AM, Martin Goodson wrote:
On 12/05/2017 16:59, Adrian Klaver wrote:

Configuring Automatic failover using Replication Manager 2.0 on PostgreSQL 9.3.5

http://raghavt.blogspot.com/2015/01/configuring-automatic-failover-using.html

"In this post, am demonstrating Replication Manager on single node(localhost) on RHEL 6.5 - PostgreSQL 9.3.5. In order to achieve an easy and good understanding of concept I have compiled repmgr with EnterpriseDB One Click Installer(a pre-build binary package) instead of PG source."


Looks interesting! I'll give it a go tonight on a clean install and report back on how easy it was and how much of an idiot I am, or my abject failure and how much of an idiot I am :)

To make things easier I would remove the deb installed Postgres, it just adds complexity to the situation without providing benefit.


Many thanks!

Regards,

Martin.


Progress of a sort. Kinda.

On a clean Ubuntu server 17.04 virtual machine I've installed PostgreSQL 9.6 using the EnterpriseDB installer. The software was installed by sudo'ing the installer, configuring ownership to the 'pginst' userid and is up and running :

pginst 2582 1 0 09:22 ? 00:00:00 /postgresql/software/9.6.2/bin/postgres -D /postgresql/software/9.6.2/data
pginst    2585  2582  0 09:22 ?        00:00:00 postgres: logger process
pginst 2587 2582 0 09:22 ? 00:00:00 postgres: checkpointer process
pginst    2588  2582  0 09:22 ?        00:00:00 postgres: writer process
pginst    2589  2582  0 09:22 ?        00:00:00 postgres: wal writer process
pginst 2590 2582 0 09:22 ? 00:00:00 postgres: autovacuum launcher process pginst 2591 2582 0 09:22 ? 00:00:00 postgres: stats collector process

I then downloaded the repmgr package (repmgr-3.3.1.tar.gz) from 2nd quadrant, unzipped and untarred etc to the directory /home/master/repmgr-3.3.1. I've followed the advice of the article Adrian suggested and installed some packages:

gcc, make, libxslt1-dev, libpam0g-dev, libssl-dev, libkrb5-dev, libedit-dev, postgresql-server-dev-9.6

I have now apparently resolved the missing libraries problem. Or, at least, it's no longer complaining that libs are missing.

I built a little install script which I sudo:

clear
PATH=/postgresql/software/9.6.2/bin:$PATH
echo "PATH = $PATH"
echo ""
pg_config
echo ""
echo "make USE_PGXS=1 clean all"
echo ""
make USE_PGXS=1 clean all


Which produces this output (including the output of pg_config):

PATH = /postgresql/software/9.6.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

BINDIR = /postgresql/software/9.6.2/bin
DOCDIR = /postgresql/software/9.6.2/doc/postgresql
HTMLDIR = /postgresql/software/9.6.2/doc/postgresql
INCLUDEDIR = /postgresql/software/9.6.2/include
PKGINCLUDEDIR = /postgresql/software/9.6.2/include/postgresql
INCLUDEDIR-SERVER = /postgresql/software/9.6.2/include/postgresql/server
LIBDIR = /postgresql/software/9.6.2/lib
PKGLIBDIR = /postgresql/software/9.6.2/lib/postgresql
LOCALEDIR = /postgresql/software/9.6.2/share/locale
MANDIR = /postgresql/software/9.6.2/share/man
SHAREDIR = /postgresql/software/9.6.2/share/postgresql
SYSCONFDIR = /postgresql/software/9.6.2/etc/postgresql
PGXS = /postgresql/software/9.6.2/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.2

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/postgresql/software/9.6.2/include -I. -I./ -I/postgresql/software/9.6.2/include/postgresql/server -I/postgresql/software/9.6.2/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/postgresql/software/9.6.2/include -I. -I./ -I/postgresql/software/9.6.2/include/postgresql/server -I/postgresql/software/9.6.2/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/postgresql/software/9.6.2/include -I. -I./ -I/postgresql/software/9.6.2/include/postgresql/server -I/postgresql/software/9.6.2/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/postgresql/software/9.6.2/include -I. -I./ -I/postgresql/software/9.6.2/include/postgresql/server -I/postgresql/software/9.6.2/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/postgresql/software/9.6.2/include -I. -I./ -I/postgresql/software/9.6.2/include/postgresql/server -I/postgresql/software/9.6.2/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/postgresql/software/9.6.2/lib -lpgcommon -lpgport -L/postgresql/software/9.6.2/lib -lpq -L/postgresql/software/9.6.2/lib -L/opt/local/Current/lib -Wl,--as-needed -Wl,-rpath,'/postgresql/software/9.6.2/lib',--enable-new-dtags -lpgcommon -lpgport -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -ledit -lrt -lcrypt -ldl -lm /usr/bin/ld: /postgresql/software/9.6.2/lib/libpgcommon.a(exec.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /postgresql/software/9.6.2/lib/libpgcommon.a(wait_error.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /postgresql/software/9.6.2/lib/libpgcommon.a(fe_memutils.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /postgresql/software/9.6.2/lib/libpgport.a(path.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Makefile:20: recipe for target 'repmgrd' failed
make: *** [repmgrd] Error 1

This is getting rather frustrating :)

Any suggestions, anyone? Is this another obvious thing that crops up when compiling anything in PostgreSQL? Or have I hit an 'issue'?

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."



--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux