Mydumper Install Error: None of the required ‘glib-2.0’/’gthread-2.0’ found

mydumper official website: https://launchpad.net/mydumper

After downloading, installation error:

[root@localhost local]# cd mydumper-0.6.2
[root@localhost mydumper-0.6.2]#
[root@localhost mydumper-0.6.2]# ls
binlog.c  CMakeCache.txt  common.h     docs             g_unix_signal.h  myloader.c  Processing  server_detect.c
binlog.h  CMakeFiles      config.h     Finished         mydumper.c       myloader.h  README      server_detect.h
cmake     CMakeLists.txt  config.h.in  g_unix_signal.c  mydumper.h       Package     Running
[root@localhost mydumper-0.6.2]# cmake .
-- The CXX compiler identification is GNU 4.4.7
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using mysql-config: /usr/local/mysql/bin/mysql_config
-- Found MySQL: /usr/local/mysql/include, /usr/local/mysql/lib/libmysqlclient.so;/usr/lib/libpthread.so;/usr/lib/libm.so;/usr/lib/librt.so;/usr/lib/libdl.so
-- checking for one of the modules 'glib-2.0'
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:363 (message):
  None of the required 'glib-2.0' found
Call Stack (most recent call first):
  cmake/modules/FindGLIB2.cmake:10 (pkg_search_module)
  CMakeLists.txt:10 (find_package)


-- checking for one of the modules 'gthread-2.0'
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:363 (message):
  None of the required 'gthread-2.0' found
Call Stack (most recent call first):
  cmake/modules/FindGLIB2.cmake:11 (pkg_search_module)
  CMakeLists.txt:10 (find_package)



CMake Warning at docs/CMakeLists.txt:9 (message):
  Unable to find Sphinx documentation generator


- ------------------------------------------------
-- MYSQL_CONFIG = /usr/local/mysql/bin/mysql_config
-- CMAKE_INSTALL_PREFIX = /usr/local
-- BUILD_DOCS = ON
-- WITH_BINLOG = OFF
-- RUN_CPPCHECK = OFF
-- Change a values with: cmake -D<Variable>=<Value>
- ------------------------------------------------
--
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
GLIB2_LIBRARIES (ADVANCED)
    linked by target "mydumper" in directory /usr/local/mydumper-0.6.2
    linked by target "myloader" in directory /usr/local/mydumper-0.6.2
GTHREAD2_LIBRARIES (ADVANCED)
    linked by target "mydumper" in directory /usr/local/mydumper-0.6.2
    linked by target "myloader" in directory /usr/local/mydumper-0.6.2

-- Configuring incomplete, errors occurred!
See also "/usr/local/mydumper-0.6.2/CMakeFiles/CMakeOutput.log".
See also "/usr/local/mydumper-0.6.2/CMakeFiles/CMakeError.log".

cmake. Error:

None of the required 'glib-2.0' found
None of the required 'gthread-2.0' found

I searched the Internet but didn’t find a solution, so I had to go to the official website to find a solution:

https://answers.launchpad.net/mydumper/+faq/349

Run:
 cmake .
 make

One needs to install development versions of required libaries (MySQL, GLib, ZLib, PCRE):
NOTE: you must use the correspondent mysql devel package.

* Ubuntu or Debian: apt-get install libglib2.0-dev libmysqlclient15-dev zlib1g-dev libpcre3-dev libssl-dev
* Fedora, RedHat and CentOS: yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel
* openSUSE: zypper install glib2-devel libmysqlclient-devel pcre-devel zlib-devel
* MacOSX: port install glib2 mysql5 pcre pkgconfig cmake
 (You may want to run 'port select mysql mysql5' afterwards)

One has to make sure, that pkg-config, mysql_config, pcre-config are all in $PATH

Binlog dump is disabled by default to compile with it you need to add -DWITH_BINLOG=ON to cmake options

Obviously you need compiler and make packages too :)

You can see that you need to install dependencies:

Fedora, RedHat and CentOS: yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel

So follow the instructions to install:

[root@localhost mydumper-0.6.2]# yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * c6-media:
Package mysql-devel-5.1.73-3.el6_5.i686 already installed and latest version
Package zlib-devel-1.2.3-29.el6.i686 already installed and latest version
Package pcre-devel-7.8-6.el6.i686 already installed and latest version
Package openssl-devel-1.0.1e-30.el6.i686 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package glib2-devel.i686 0:2.28.8-4.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================================
 Package                            Arch                        Version                             Repository                       Size
==========================================================================================================================================
Installing:
 glib2-devel                        i686                        2.28.8-4.el6                        c6-media                        298 k

Transaction Summary
==========================================================================================================================================
Install       1 Package(s)

Total download size: 298 k
Installed size: 1.5 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : glib2-devel-2.28.8-4.el6.i686                                                                                          1/1
Unable to connect to dbus
  Verifying  : glib2-devel-2.28.8-4.el6.i686                                                                                          1/1

Installed:
  glib2-devel.i686 0:2.28.8-4.el6

Complete!

Then compile and install mydumper:

[root@localhost mydumper-0.6.2]# cmake .
-- Using mysql-config: /usr/local/mysql/bin/mysql_config
-- Found MySQL: /usr/local/mysql/include, /usr/local/mysql/lib/libmysqlclient.so;/usr/lib/libpthread.so;/usr/lib/libm.so;/usr/lib/librt.so;/usr/lib/libdl.so
-- checking for one of the modules 'glib-2.0'
-- checking for one of the modules 'gthread-2.0'

CMake Warning at docs/CMakeLists.txt:9 (message):
  Unable to find Sphinx documentation generator


- ------------------------------------------------
-- MYSQL_CONFIG = /usr/local/mysql/bin/mysql_config
-- CMAKE_INSTALL_PREFIX = /usr/local
-- BUILD_DOCS = ON
-- WITH_BINLOG = OFF
-- RUN_CPPCHECK = OFF
-- Change a values with: cmake -D<Variable>=<Value>
- ------------------------------------------------
-
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/mydumper-0.6.2
[root@localhost mydumper-0.6.2]# echo $?
0
[root@localhost mydumper-0.6.2]# make
Scanning dependencies of target mydumper
[ 25%] Building C object CMakeFiles/mydumper.dir/mydumper.c.o
[ 50%] Building C object CMakeFiles/mydumper.dir/server_detect.c.o
[ 75%] Building C object CMakeFiles/mydumper.dir/g_unix_signal.c.o
Linking C executable mydumper
[ 75%] Built target mydumper
Scanning dependencies of target myloader
[100%] Building C object CMakeFiles/myloader.dir/myloader.c.o
Linking C executable myloader
[100%] Built target myloader
[root@localhost mydumper-0.6.2]# make install
[ 75%] Built target mydumper
[100%] Built target myloader
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/mydumper
-- Removed runtime path from "/usr/local/bin/mydumper"
-- Installing: /usr/local/bin/myloader
-- Removed runtime path from "/usr/local/bin/myloader"

Successful installation. But an error was reported during execution:

[root@localhost mydumper-0.6.2]# mydumper --help
mydumper: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

Solution:

[root@localhost mydumper-0.6.2]# ldd /usr/local/bin/mydumper
        linux-gate.so.1 =>  (0x00f91000)
        libmysqlclient.so.18 => not found
        libpthread.so.0 => /lib/libpthread.so.0 (0x006fc000)
        libm.so.6 => /lib/libm.so.6 (0x0072b000)
        librt.so.1 => /lib/librt.so.1 (0x00720000)
        libdl.so.2 => /lib/libdl.so.2 (0x00719000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00757000)
        libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x00918000)
        libpcre.so.0 => /lib/libpcre.so.0 (0x021a8000)
        libz.so.1 => /lib/libz.so.1 (0x002ea000)
        libc.so.6 => /lib/libc.so.6 (0x00564000)
        /lib/ld-linux.so.2 (0x0053e000)
[root@localhost mydumper-0.6.2]#  LD_DEBUG=libs /usr/local/bin/mydumper -v
      2707:     find library=libmysqlclient.so.18 [0]; searching
      2707:      search cache=/etc/ld.so.cache
      2707:      search path=/lib/tls/i686/sse2:/lib/tls/i686:/lib/tls/sse2:/lib/tls:/lib/i686/sse2:/lib/i686:/lib/sse2:/lib:/usr/lib/tls /i686/sse2:/usr/lib/tls/i686:/usr/lib/tls/sse2:/usr/lib/tls:/usr/lib/i686/sse2:/usr/lib/i686:/usr/lib/sse2:/usr/lib             (system s earch path)
      2707:       trying file=/lib/tls/i686/sse2/libmysqlclient.so.18
      2707:       trying file=/lib/tls/i686/libmysqlclient.so.18
      2707:       trying file=/lib/tls/sse2/libmysqlclient.so.18
      2707:       trying file=/lib/tls/libmysqlclient.so.18
      2707:       trying file=/lib/i686/sse2/libmysqlclient.so.18
      2707:       trying file=/lib/i686/libmysqlclient.so.18
      2707:       trying file=/lib/sse2/libmysqlclient.so.18
      2707:       trying file=/lib/libmysqlclient.so.18
      2707:       trying file=/usr/lib/tls/i686/sse2/libmysqlclient.so.18
      2707:       trying file=/usr/lib/tls/i686/libmysqlclient.so.18
      2707:       trying file=/usr/lib/tls/sse2/libmysqlclient.so.18
      2707:       trying file=/usr/lib/tls/libmysqlclient.so.18
      2707:       trying file=/usr/lib/i686/sse2/libmysqlclient.so.18
      2707:       trying file=/usr/lib/i686/libmysqlclient.so.18
      2707:       trying file=/usr/lib/sse2/libmysqlclient.so.18
      2707:       trying file=/usr/lib/libmysqlclient.so.18

Libmysqlclient.so. 18 not found

[root@localhost mydumper-0.6.2]# locate libmysqlclient.so.18
/usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18
/usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18.1.0
[root@localhost mydumper-0.6.2]# ll /usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18
lrwxrwxrwx. 1 root mysql 24 Aug 13 14:18 /usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18 -> libmysqlclient.so.18.1.0

Then copy /usr/ local/mysql- 5.6. 26-linux-glibc2. 5-i686/lib/libmysqlclient.so. 18.1. 0 to /usr/lib/ Kinoshita:

[root@localhost mydumper-0.6.2]# cp /usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18.1.0 /usr/lib/libmysqlclient.so.18
[root@localhost mydumper-0.6.2]# ldd /usr/local/bin/mydumper                                                                                      linux-gate.so.1 =>  (0x00805000)
        libmysqlclient.so.18 => /usr/lib/libmysqlclient.so.18 (0x0019f000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x006fc000)
        libm.so.6 => /lib/libm.so.6 (0x0072b000)
        librt.so.1 => /lib/librt.so.1 (0x00720000)
        libdl.so.2 => /lib/libdl.so.2 (0x00719000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x0055e000)
        libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x00918000)
        libpcre.so.0 => /lib/libpcre.so.0 (0x021a8000)
        libz.so.1 => /lib/libz.so.1 (0x0067b000)
        libc.so.6 => /lib/libc.so.6 (0x0091d000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x07b14000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0068f000)
        /lib/ld-linux.so.2 (0x0053e000)

test:

[root@localhost mydumper-0.6.2]# mydumper --help
Usage:
  mydumper [OPTION...] multi-threaded MySQL dumping

Help Options:
  -?, --help                  Show help options

Application Options:
  -B, --database              Database to dump
  -T, --tables-list           Comma delimited table list to dump (does not exclude regex option)
  -o, --outputdir             Directory to output files to
  -s, --statement-size        Attempted size of INSERT statement in bytes, default 1000000
  -r, --rows                  Try to split tables into chunks of this many rows. This option turns off --chunk-filesize
  -F, --chunk-filesize        Split tables into chunks of this output file size. This value is in MB
  -c, --compress              Compress output files
  -e, --build-empty-files     Build dump files even if no data available from table
  -x, --regex                 Regular expression for 'db.table' matching
  -i, --ignore-engines        Comma delimited list of storage engines to ignore
  -m, --no-schemas            Do not dump table schemas with the data
  -k, --no-locks              Do not execute the temporary shared read lock.  WARNING: This will cause inconsistent backups
  --less-locking              Minimize locking time on InnoDB tables.
  -l, --long-query-guard      Set long query timer in seconds, default 60
  -K, --kill-long-queries     Kill long running queries (instead of aborting)
  -D, --daemon                Enable daemon mode
  -I, --snapshot-interval     Interval between each dump snapshot (in minutes), requires --daemon, default 60
  -L, --logfile               Log file name to use, by default stdout is used
  --tz-utc                    SET TIME_ZONE='+00:00' at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones, defaults to on use --skip-tz-utc to disable.
  --skip-tz-utc
  --use-savepoints            Use savepoints to reduce metadata locking issues, needs SUPER privilege
  --success-on-1146           Not increment error count and Warning instead of Critical in case of table doesn't exist
  --lock-all-tables           Use LOCK TABLE for all, instead of FTWRL
  -h, --host                  The host to connect to
  -u, --user                  Username with privileges to run the dump
  -p, --password              User password
  -P, --port                  TCP/IP port to connect to
  -S, --socket                UNIX domain socket file to use for connection
  -t, --threads               Number of threads to use, default 4
  -C, --compress-protocol     Use compression on the MySQL connection
  -V, --version               Show the program version and exit
  -v, --verbose               Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2

Get it done.

Enlightenment: The best way to solve the problem is to check the documentation and instructions on the official website.

Read More:

Leave a Reply

Your email address will not be published. Required fields are marked *