weiliwei 发表于 2019-2-16 08:14:12

centos7安装配置pgAgent

  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
  # 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
  # source /etc/profile
  bash: TMOUT: readonly variable
  # echo $TMOUT
  # export TMOUT=1700
  # exit
  # export TMOUT=1700
  # ./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
  # ./configure --enable-shared=no --enable-unicode=yes --prefix=/usr/local/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: *** Error 1
  # vi src/gtk/gsockgtk.cpp
  #define GSocket GlibGSocket
  #include
  #include
  #undef GSocket
  #undef GSocket和#define GSocket GlibGSocket是添加的内容
  # 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
  # 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
  # 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: *** Error 1
  make: *** Error 2
  make: *** Error 2
  # 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’
  # make
  Linking CXX executable pgagent
  [ 87%] Built target pgagent
  Scanning dependencies of target run
   Generating pgagent--3.4.sql, pgagent.control
   Built target run
  # 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:
  -f run in the foreground (do not detach from the terminal)
  -t
  -r =10, default 30)>
  -s
  -l
  参考:
  参考:
  https://blog.csdn.net/ctypyb2002/article/details/77855209
  https://blog.csdn.net/ssl2009/article/details/7062621
  https://blog.csdn.net/shawnkong/article/details/40826599



页: [1]
查看完整版本: centos7安装配置pgAgent