温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

centos7安装配置pgAgent

发布时间:2020-08-06 02:03:57 来源:网络 阅读:4596 作者:断臂人 栏目:数据库

centos7安装pgagent:


默认cmake已经安装


编译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 ‘m_gui_dependent’

./src/gtk/gsockgtk.cpp:57: error: ‘struct _GSocket’ has no member named ‘m_gui_dependent’

./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 ‘m_gui_dependent’

./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 ‘m_gui_dependent’

./src/gtk/gsockgtk.cpp:75: error: ‘struct _GSocket’ has no member named ‘m_fd’

./src/gtk/gsockgtk.cpp:83: error: ‘struct _GSocket’ has no member named ‘m_server’

./src/gtk/gsockgtk.cpp:90: error: ‘struct _GSocket’ has no member named ‘m_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 ‘m_gui_dependent’

./src/gtk/gsockgtk.cpp:108: error: ‘struct _GSocket’ has no member named ‘m_server’

make: *** [corelib_gsockgtk.o] Error 1


[wxGTK-2.8.7]# vi src/gtk/gsockgtk.cpp

#define GSocket GlibGSocket  

#include <gdk/gdk.h>  

#include <glib.h>  

#undef GSocket


#undef GSocket和#define GSocket GlibGSocket是添加的内容


[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

查看到库文件都存在/lib64目录下


# ln -sv /usr/lib64/libcrypto.so.10 /lib64/libcrypto.so.1.0.0


# pgagent

Usage:

pgagent [options] <connect-string>

options:

-f run in the foreground (do not detach from the terminal)

-t <poll time interval in seconds (default 10)>

-r <retry period after connection abort in seconds (>=10, default 30)>

-s <log file (messages are logged to STDOUT if not specified>

-l <logging verbosity (ERROR=0, WARNING=1, DEBUG=2, default 0)>


参考:

参考:

https://blog.csdn.net/ctypyb2002/article/details/77855209

https://blog.csdn.net/ssl2009/article/details/7062621

https://blog.csdn.net/shawnkong/article/details/40826599


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI