Centos7 installation and configuration pgAgent
Centos7 installation pgagent:
The default cmake is already installed
Compile wxGTK
Https://excellmedia.dl.sourceforge.net/project/wxwindows/2.8.7/wxGTK-2.8.7.tar.gz
# yum install gcc gcc-c++
# tar-zxf wxGTK-2.8.7.tar.gz
# cd wxGTK-2.8.7
[wxGTK-2.8.7] # vi / etc/profile
Export PGHOME=/usr/local/postgresql
Export PGDATA=/data/pg_data
Export PATH=$PATH:$PGHOME/bin:/usr/local/wxGTK-2.8.7/bin
Export LD_LIBRARY_PATH=/usr/local/wxGTK-2.8.7/lib:$PGHOME/lib:$LD_LIBRARY_PATH
[wxGTK-2.8.7] # source / etc/profile
Bash: TMOUT: readonly variable
# echo $TMOUT
# export TMOUT=1700
# exit
# export TMOUT=1700
[wxGTK-2.8.7] # / configure-- enable-shared=no-- enable-unicode=yes-- prefix=/usr/local/wxGTK-2.8.7
Checking for GTK+ version...
Checking for pkg-config... / usr/bin/pkg-config
Checking for GTK+-version > = 2.0.0. No
* Could not run GTK+ test program, checking why...
* The test program failed to compile or link. See the file config.log for the
* exact error that occured. This usually means GTK+ is incorrectly installed.
Configure: error:
The development files for GTK+ were not found. For GTK+ 2, please
Ensure that pkg-config is in the path and that gtk+-2.0.pc is
Installed. For GTK+ 1.2 please check that gtk-config is in the path
And that the version is 1.2.3 or above. Also check that the
Libraries returned by 'pkg-config gtk+-2.0-- libs' or' gtk-config
-- libs' are in the LD_LIBRARY_PATH or equivalent.
# yum-y install gtk2-devel binutils-devel
[wxGTK-2.8.7] # / configure-- enable-shared=no-- enable-unicode=yes-- prefix=/usr/local/wxGTK-2.8.7
[wxGTK-2.8.7] # make
In file included from. / include/wx/gsocket.h:179
From. / src/gtk/gsockgtk.cpp:21:
. / include/wx/unix/gsockunx.h:40: error: using typedef-name 'GSocket' after' class'
/ usr/include/glib-2.0/gio/giotypes.h:141: error: 'GSocket' has a previous declaration here
. / src/gtk/gsockgtk.cpp: In function 'void _ GSocket_GDK_Input (void*, gint, GdkInputCondition)':
. / src/gtk/gsockgtk.cpp:34: error: 'struct _ GSocket' has no member named' Detected_Read'
. / src/gtk/gsockgtk.cpp:36: error: 'struct _ GSocket' has no member named' Detected_Write'
. / src/gtk/gsockgtk.cpp: In member function 'virtual bool GSocketGUIFunctionsTableConcrete::Init_Socket (GSocket*)':
. / src/gtk/gsockgtk.cpp:56: error: 'struct _ GSocket' has no member named'
. / src/gtk/gsockgtk.cpp:57: error: 'struct _ GSocket' has no member named'
. / src/gtk/gsockgtk.cpp: In member function 'virtual void GSocketGUIFunctionsTableConcrete::Destroy_Socket (GSocket*)':
. / src/gtk/gsockgtk.cpp:67: error: 'struct _ GSocket' has no member named'
. / src/gtk/gsockgtk.cpp: In member function 'virtual void GSocketGUIFunctionsTableConcrete::Install_Callback (GSocket*, GSocketEvent)':
. / src/gtk/gsockgtk.cpp:72: error: 'struct _ GSocket' has no member named'
. / src/gtk/gsockgtk.cpp:75: error: 'struct _ GSocket' has no member named' masked fd`
. / src/gtk/gsockgtk.cpp:83: error: 'struct _ GSocket' has no member named' masked server
. / src/gtk/gsockgtk.cpp:90: error: 'struct _ GSocket' has no member named' masked fd`
. / src/gtk/gsockgtk.cpp: In member function 'virtual void GSocketGUIFunctionsTableConcrete::Uninstall_Callback (GSocket*, GSocketEvent)':
. / src/gtk/gsockgtk.cpp:98: error: 'struct _ GSocket' has no member named'
. / src/gtk/gsockgtk.cpp:108: error: 'struct _ GSocket' has no member named' masked server
Make: * * [corelib_gsockgtk.o] Error 1
[wxGTK-2.8.7] # vi src/gtk/gsockgtk.cpp
# define GSocket GlibGSocket
# include
# include
# undef GSocket
# undef GSocket and # define GSocket GlibGSocket are added
[wxGTK-2.8.7] # make install
Https://ftp.postgresql.org/pub/pgadmin/pgagent/pgAgent-3.4.0-Source.tar.gz
# tar-zxf pgAgent-3.4.0-Source.tar.gz
# cd pgAgent-3.4.0-Source
[pgAgent-3.4.0-Source] # cmake. /
--
-- =
-- Configuration summary:
--
-- Project: pgagent
-- Description: pgAgent is a job scheduling engine for PostgreSQL
-- Version: 3.4.0
--
-- PostgreSQL version string: PostgreSQL 9.4.18
-- PostgreSQL version parts: 9.4.18
-- PostgreSQL path: / usr/pgsql-9.4
-- PostgreSQL config binary: / usr/pgsql-9.4/bin/pg_config
-- PostgreSQL include path: / usr/pgsql-9.4/include
-- PostgreSQL library path: / usr/pgsql-9.4/lib
-- PostgreSQL share path: / usr/pgsql-9.4/share
--
-- wxWidgets version: 2.8.7
-- wxWidgets path: / usr/local/wxGTK-2.8.7
-- wxWidgets config binary: / usr/local/wxGTK-2.8.7/bin/wx-config
-- wxWidgets Static linking: YES
-wxWidgets Debug?: NO
-- =
--
-- Configuring done
-- Generating done
-- Build files have been written to: / usr/openv/pg_packges/pgAgent-3.4.0-Source
[pgAgent-3.4.0-Source] # make
Scanning dependencies of target pgagent
[12%] Building CXX object CMakeFiles/pgagent.dir/unix.cpp.o
[25%] Building CXX object CMakeFiles/pgagent.dir/job.cpp.o
[37%] Building CXX object CMakeFiles/pgagent.dir/precomp.cpp.o
[50%] Building CXX object CMakeFiles/pgagent.dir/win32.cpp.o
[62%] Building CXX object CMakeFiles/pgagent.dir/pgAgent.cpp.o
[75] Building CXX object CMakeFiles/pgagent.dir/connection.cpp.o
[87%] Building CXX object CMakeFiles/pgagent.dir/misc.cpp.o
Linking CXX executable pgagent
/ usr/bin/ld: cannot find-lssl
Collect2: ld returned 1 exit status
Make [2]: * * [pgagent] Error 1
Make [1]: * * [CMakeFiles/pgagent.dir/all] Error 2
Make: * * [all] Error 2
[pgAgent-3.4.0-Source] # find /-name "libcrypto.so"
/ opt/cloud/chef/embedded/lib/libcrypto.so
# ln-sv / opt/cloud/chef/embedded/lib/libcrypto.so / usr/lib/libcrypto.so
'/ usr/lib/libcrypto.so'->' / opt/cloud/chef/embedded/lib/libcrypto.so'
[pgAgent-3.4.0-Source] # make
Linking CXX executable pgagent
[87%] Built target pgagent
Scanning dependencies of target run
[100%] Generating pgagent--3.4.sql, pgagent.control
[100%] Built target run
[pgAgent-3.4.0-Source] # make install
Postgres=# create extension pgagent
CREATE EXTENSION
# pgagent
Pgagent: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
# yum install openssl
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
-> Running transaction check
-- > Package openssl.x86_64 1:1.0.1e-42.el7 will be updated
-- > Package openssl.x86_64 1:1.0.1e-51.el7_2.5 will be an update
-- > Processing Dependency: openssl-libs (x86-64) = 1:1.0.1e-51.el7_2.5 for package: 1:openssl-1.0.1e-51.el7_2.5.x86_64
-> Finished Dependency Resolution
Error: Package: 1:openssl-1.0.1e-51.el7_2.5.x86_64 (CentOS.7.updates.x86_64)
Requires: openssl-libs (x86-64) = 1:1.0.1e-51.el7_2.5
Installed: 1:openssl-libs-1.0.1e-42.el7.x86_64 (@ anaconda)
Openssl-libs (x86-64) = 1:1.0.1e-42.el7
Available: 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 (CentOS.7.updates.x86_64)
Openssl-libs (x86-64) = 1:1.0.1e-51.el7_2.4
You could try using-skip-broken to work around the problem
You could try running: rpm-Va-nofiles-nodigest
Http://mirror.switch.ch/ftp/pool/4/mirror/scientificlinux/7.2/x86_64/updates/security/openssl-libs-1.0.1e-51.el7_2.5.x86_64.rpm
# rpm-ivh openssl-libs-1.0.1e-51.el7_2.5.x86_64.rpm-nodeps-force
# yum install openssl
# yum install openssl-devel
# rpm-ql openssl-libs-1.0.1e-51.el7_2.5.x86_64
/ etc/pki/tls
/ etc/pki/tls/certs
/ etc/pki/tls/misc
/ etc/pki/tls/openssl.cnf
/ etc/pki/tls/private
/ usr/lib64/.libcrypto.so.1.0.1e.hmac
/ usr/lib64/.libcrypto.so.10.hmac
/ usr/lib64/.libssl.so.1.0.1e.hmac
/ usr/lib64/.libssl.so.10.hmac
/ usr/lib64/libcrypto.so.1.0.1e
/ usr/lib64/libcrypto.so.10
/ usr/lib64/libssl.so.1.0.1e
/ usr/lib64/libssl.so.10
/ usr/lib64/openssl
/ usr/lib64/openssl/engines
/ usr/lib64/openssl/engines/lib4758cca.so
/ usr/lib64/openssl/engines/libaep.so
/ usr/lib64/openssl/engines/libatalla.so
/ usr/lib64/openssl/engines/libcapi.so
/ usr/lib64/openssl/engines/libchil.so
/ usr/lib64/openssl/engines/libcswift.so
/ usr/lib64/openssl/engines/libgmp.so
/ usr/lib64/openssl/engines/libnuron.so
/ usr/lib64/openssl/engines/libpadlock.so
/ usr/lib64/openssl/engines/libsureware.so
/ usr/lib64/openssl/engines/libubsec.so
/ usr/share/doc/openssl-libs-1.0.1e
/ usr/share/doc/openssl-libs-1.0.1e/LICENSE
# ldconfig-p
All the library files are stored in the / lib64 directory.
# ln-sv / usr/lib64/libcrypto.so.10 / lib64/libcrypto.so.1.0.0
# pgagent
Usage:
Pgagent [options]
Options:
-f run in the foreground (do not detach from the terminal)
-t
-r = 10, default 30) >
S
-l
Reference:
Reference:
Https://blog.csdn.net/ctypyb2002/article/details/77855209
Https://blog.csdn.net/ssl2009/article/details/7062621
Https://blog.csdn.net/shawnkong/article/details/40826599