Results 1 to 10 of 10

Thread: MySQL Workbench broken dependency and package issues

  1. #1

    Default MySQL Workbench broken dependency and package issues

    Hello,

    I would like to describe a problem I faced with MySQL Workbench in the latest 12.3 release.
    I have confirmed the problem on 3 different installations (all 64bit, but problem should be also available for 32bit).

    The package mysql-workbench has a broken dependency for libmysqlclient_r18.
    Actually it is a bit more complicated. There are 2 different set of packages:
    - libmysqlclient18 + libmysqlclient18-32bit
    - libmysqlclient_r18 + libmysqlclient_r18-32bit

    mysql-workbench installs libmysqlclient18 (without "_r") but "looks" for the libmysqlclient_r.so shared library.

    My first move was to install libmysqlclient_r18 from YaST. After installation I check the file list of the package and see that it should provide:
    Code:
    /usr/lib64/libmysqlclient_r.so.18
    /usr/lib64/libmysqlclient_r.so.18.0.0
    However that isn't true. The package does not provide these files and all I have in /usr/lib and /usr/lib64 is:
    Code:
    soundreamer:/usr/lib64 # ls -la | grep libmysqlclient
    lrwxrwxrwx   1 root root       24 Jul 17 13:49 libmysqlclient.so -> libmysqlclient.so.18.0.0
    lrwxrwxrwx   1 root root       24 Mar  6 13:37 libmysqlclient.so.18 -> libmysqlclient.so.18.0.0
    -rwxr-xr-x   1 root root  3142856 Feb 11 23:10 libmysqlclient.so.18.0.0
    
    soundreamer:/usr/lib # ls -la | grep libmysqlclient
    lrwxrwxrwx   1 root root       24 Jul 17 13:49 libmysqlclient.so -> libmysqlclient.so.18.0.0
    lrwxrwxrwx   1 root root       24 Jun 19 17:31 libmysqlclient.so.18 -> libmysqlclient.so.18.0.0
    -rwxr-xr-x   1 root root  3138373 Jun  6 17:37 libmysqlclient.so.18.0.0
    And of course MySQL Workbench continues to explode every time I try to create a connection.

    The workaround that I did was:
    Code:
    su
    cd /usr/lib64
    ln -s libmysqlclient.so.18.0.0 libmysqlclient_r.so
    ln -s libmysqlclient.so.18.0.0 libmysqlclient_r.so.18
    cd /usr/lib
    ln -s libmysqlclient.so.18.0.0 libmysqlclient_r.so
    ln -s libmysqlclient.so.18.0.0 libmysqlclient_r.so.18
    After that MySQL Workbench succeeds connecting to mysql.

    Conclusion:
    For some reason the package libmysqlclient_r18 does not provide neither shared libraries, or symbolic links to the shared libraries of libmysqlclient18.

    Hope this information helps someone.

    Regards!

  2. #2
    Join Date
    May 2010
    Location
    Space Colony Lagrange Point 22° à, 77° Ƅ, 56° ɤ, 99° ɜ
    Posts
    3,166

    Default Re: MySQL Workbench broken dependency and package issues

    will installing devel packages help ? https://forums.opensuse.org/english/...ml#post2572236
    GNOME Version 3.20.2
    openSUSE Leap 42.3 64-bit

    www.vazhavandan.blogspot.com

  3. #3

    Default Re: MySQL Workbench broken dependency and package issues

    And where do you have your MySQL Workbench package from?

    On my 12.3 system:
    Code:
    wolfi@amiga:~> rpm -q --requires mysql-workbench | grep mysqlclient
    libmysqlclient.so.18()(64bit)
    wolfi@amiga:~> rpm -qi mysql-workbench 
    Name        : mysql-workbench
    Version     : 5.2.44
    Release     : 2.4.1
    Architecture: x86_64
    Install Date: Fre 03 Mai 2013 11:33:35 CEST
    Group       : Productivity/Databases/Clients
    Size        : 76548334
    License     : GPL-2.0+
    Signature   : RSA/SHA256, Don 02 Mai 2013 15:02:18 CEST, Key ID b88b2fd43dbdc284
    Source RPM  : mysql-workbench-5.2.44-2.4.1.src.rpm
    Build Date  : Die 23 Apr 2013 21:44:54 CEST
    Build Host  : build34
    Relocations : (not relocatable)
    Packager    : http://bugs.opensuse.org
    Vendor      : openSUSE
    URL         : http://dev.mysql.com/downloads/workbench
    Summary     : A MySQL visual modeling tool
    Description :
    MySQL Workbench provides DBAs and developers an integrated tools environment
    for:
     * Database Design & Modeling
     * SQL Development (replacing MySQL Query Browser)
     * Database Administration (replacing MySQL Administrator)
    Distribution: openSUSE 12.3
    wolfi@amiga:~>
    No sign of a dependency on libmysqlclient_r18...
    And mysql-workbench still works fine after removing libmysqlclient_r18:
    Code:
    wolfi@amiga:~> ls /usr/lib64/libmysqlclient*
    /usr/lib64/libmysqlclient.so.18  /usr/lib64/libmysqlclient.so.18.0.0
    wolfi@amiga:~> mysql-workbench 
    Initializing AdvancedSidebar factory method
    Initializing mforms factory
    ** Message: Gnome keyring daemon seems to not be available. Stored passwords will be lost once quit
    Creating WBOptions
    Warning! Can't use connect with timeout in paramiko 1.9.0
    /bin/sh: ifconfig: Kommando nicht gefunden.
    Ready.
    
    ** Message: overview.home built-in command is being overwritten
    But you're right: After installing libmysqlclient_r18 those files are still missing, although they were there before I uninstalled it:
    Code:
    wolfi@amiga:~> rpm -ql libmysqlclient_r18 
    /usr/lib64/libmysqlclient_r.so.18
    /usr/lib64/libmysqlclient_r.so.18.0.0
    wolfi@new-host:~> ls -l /usr/lib64/libmysqlclient_r*
    lrwxrwxrwx 1 root root 17 17. Jul 13:29 /usr/lib64/libmysqlclient_r.so -> libmysqlclient.so
    wolfi@amiga:~> rpm -V libmysqlclient_r18 
    missing     /usr/lib64/libmysqlclient_r.so.18
    missing     /usr/lib64/libmysqlclient_r.so.18.0.0
    Installing "libmysqlclient_r18" again with "zypper in -f" fixed that.
    Maybe those files got removed by the installation of the other 2 packages libmysqlclient_r18 depends on? (libmysqlclient-devel and libmysqld-devel)

  4. #4

    Default Re: MySQL Workbench broken dependency and package issues

    Quote Originally Posted by vazhavandan View Post
    will installing devel packages help ? https://forums.opensuse.org/english/...ml#post2572236
    Yes it did, libmysqlclient-devel provides:
    Code:
     /usr/lib64/libmysqlclient.so
    /usr/lib64/libmysqlclient_r.so
    But however it required vendor change from openSUSE-12.3-Oss to openSUSE BuildService (obs://build.opensuse.org/server:database).

    Thanks for the response!

  5. #5

    Default Re: MySQL Workbench broken dependency and package issues

    Quote Originally Posted by wolfi323 View Post
    And where do you have your MySQL Workbench package from?
    Mine is from obs://build.opensuse.org/server:database maybe that was part of the problem. However its 100% sure that there is a problem with libmysqlclient_r18 of some sort.

  6. #6

    Default Re: MySQL Workbench broken dependency and package issues

    Quote Originally Posted by SoundreameR View Post
    Mine is from obs://build.opensuse.org/server:database maybe that was part of the problem. However its 100% sure that there is a problem with libmysqlclient_r18 of some sort.
    I don't see anything wrong in the spec file.

    The package just contains symlinks.
    Maybe those symlinks get removed by the call to ldconfig after the installation? (strange though that this doesn't happen when calling ldconfig manually or on a subsequent installation where only that package itself got installed)

  7. #7

    Default Re: MySQL Workbench broken dependency and package issues

    Quote Originally Posted by SoundreameR View Post
    Yes it did, libmysqlclient-devel provides:
    Code:
     /usr/lib64/libmysqlclient.so
    /usr/lib64/libmysqlclient_r.so
    /usr/lib64/libmysqlclient_r.so* are just symlinks to /usr/lib64/libmysqlclient.so which in turn is just a symlink to libmysqlclient.so.18.
    So my guess is that if libmysqlclient-devel is not installed at the time when libmysqlclient_r18 gets installed, ldconfig removes those symlinks because they point to non-existing targets.

    I would call that a packaging error, yes.

    Either libmysqlclient_r18 should pre-require libmysqlclient-devel, or (the more correct solution IMHO) /usr/lib64/libmysqlclient_r.so.18 should be a symlink to libmysqlclient.so.18 instead of libmysqlclient.so.

  8. #8

    Default Re: MySQL Workbench broken dependency and package issues

    Quote Originally Posted by wolfi323 View Post
    /usr/lib64/libmysqlclient_r.so* are just symlinks to /usr/lib64/libmysqlclient.so which in turn is just a symlink to libmysqlclient.so.18.
    So my guess is that if libmysqlclient-devel is not installed at the time when libmysqlclient_r18 gets installed, ldconfig removes those symlinks because they point to non-existing targets.

    I would call that a packaging error, yes.

    Either libmysqlclient_r18 should pre-require libmysqlclient-devel, or (the more correct solution IMHO) /usr/lib64/libmysqlclient_r.so.18 should be a symlink to libmysqlclient.so.18 instead of libmysqlclient.so.
    I think that neither libmysqlclient18 or libmysqlclient_r18 should require libmysqlclient-devel.
    The devel package should be required only for building applications that use that shared library, as it provides header files.

    Perhaps libmysqlclient_r18 contains broken symlinks, because I tried installing it again and again and it never provided libmysqlclient_r.so.18.

    Further more, mysql-workbench could just use libmysqlclient.so instead of using dummy symlinks that are (or at least should be) provided by a hollow package.

  9. #9

    Default Re: MySQL Workbench broken dependency and package issues

    Quote Originally Posted by SoundreameR View Post
    I think that neither libmysqlclient18 or libmysqlclient_r18 should require libmysqlclient-devel.
    The devel package should be required only for building applications that use that shared library, as it provides header files.
    Agreed. That's why I wrote:
    Quote Originally Posted by wolfi323 View Post
    or (the more correct solution IMHO) /usr/lib64/libmysqlclient_r.so.18 should be a symlink to libmysqlclient.so.18 instead of libmysqlclient.so.

    And libmysqlclient18 does not require libmysqlclient-devel.
    It contains the FILE /usr/lib64/libmysqlclient.so.18.0.0 (and a symlink to it, /usr/lib64/libmysqlclient.so.18)

    Perhaps libmysqlclient_r18 contains broken symlinks, because I tried installing it again and again and it never provided libmysqlclient_r.so.18.
    No, I just tested again (with the version from 12.3), the symlinks are ok (except that they should not point to libmysqlclient.so).
    But they get removed immediately (by ldconfig I think) if libmysqlclient-devel is not installed. If you install that before, the symlinks stay there.

    Further more, mysql-workbench could just use libmysqlclient.so instead of using dummy symlinks that are (or at least should be) provided by a hollow package.
    That is the case on 12.3 as I wrote before.

  10. #10
    Join Date
    Jun 2011
    Location
    Brazil - São Paulo
    Posts
    21

    Default Same problem on 13.1

    Thanks, solved my problem.

    Using OpenSUSE 13.1 with repo: http://download.opensuse.org/reposit...openSUSE_13.1/

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •