Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-5763

libmyodbc.so: undefined symbol: int2str

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.5.36, 10.0.9
    • Fix Version/s: 5.5.37, 10.0.10
    • Component/s: None
    • Labels:
      None
    • Environment:
      Ubuntu 12.04.4 LTS
      libmyodbc-5.1.10-1

      Description

      Since I upgraded to 5.5.36 I can't use libmyodbc to connect to the database:

      jorgeml@london:~$ isql -v MySQL-asterisk-cdr
      isql: symbol lookup error: /usr/lib/i386-linux-gnu/odbc/libmyodbc.so: undefined symbol: int2str
      jorgeml@london:~$ ldd /usr/lib/i386-linux-gnu/odbc/libmyodbc.so 
      	linux-gate.so.1 =>  (0xb777c000)
      	libmysqlclient.so.18 => /usr/lib/libmysqlclient.so.18 (0xb7448000)
      	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb742d000)
      	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7428000)
      	libodbcinst.so.1 => /usr/lib/i386-linux-gnu/libodbcinst.so.1 (0xb7414000)
      	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb726a000)
      	libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7254000)
      	libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xb71fc000)
      	libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xb7051000)
      	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb7047000)
      	/lib/ld-linux.so.2 (0xb777d000)
      	libltdl.so.7 => /usr/lib/i386-linux-gnu/libltdl.so.7 (0xb703d000)
      jorgeml@london:~$ ldd /usr/lib/libmysqlclient.so.18
      	linux-gate.so.1 =>  (0xb773e000)
      	libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb743a000)
      	libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xb73e2000)
      	libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xb7237000)
      	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7231000)
      	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb7228000)
      	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb720d000)
      	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7063000)
      	/lib/ld-linux.so.2 (0xb773f000)
      

      Could it be a regression introduced by MDEV-5613 ?

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              serg Sergei Golubchik added a comment - - edited

              Not quite, it's a regression introduced by MDEV-5529. Thanks for reporting it, it'll be fixed in 5.5.37

              Show
              serg Sergei Golubchik added a comment - - edited Not quite, it's a regression introduced by MDEV-5529 . Thanks for reporting it, it'll be fixed in 5.5.37
              Hide
              jorgeml Jorge Martínez López added a comment -

              Fantastic job Sergei, thanks for your swift response.

              Is there a workaround while 5.5.37 goes out?

              Show
              jorgeml Jorge Martínez López added a comment - Fantastic job Sergei, thanks for your swift response. Is there a workaround while 5.5.37 goes out?
              Hide
              elenst Elena Stepanova added a comment -

              As a workaround, you can install libmysqlclient18 from 5.5.35 repository.
              You need to add the 5.5.35 repo to your /etc/apt/sources file, e.g.

              deb http://ftp.osuosl.org/pub/mariadb/mariadb-5.5.35/repo/ubuntu precise main
              

              (if you prefer a different mirror, you can tweak the path in the similar fashion and see if the 5.5.35 repo is there, at least some mirrors have it).
              Then run

              apt-get update
              apt-get install libmysqlclient18=5.5.35+maria-1~precise libmariadbclient18=5.5.35+maria-1~precise
              

              Then you can remove 5.5.35 repo from the sources.list.

              Show
              elenst Elena Stepanova added a comment - As a workaround, you can install libmysqlclient18 from 5.5.35 repository. You need to add the 5.5.35 repo to your /etc/apt/sources file, e.g. deb http://ftp.osuosl.org/pub/mariadb/mariadb-5.5.35/repo/ubuntu precise main (if you prefer a different mirror, you can tweak the path in the similar fashion and see if the 5.5.35 repo is there, at least some mirrors have it). Then run apt-get update apt-get install libmysqlclient18=5.5.35+maria-1~precise libmariadbclient18=5.5.35+maria-1~precise Then you can remove 5.5.35 repo from the sources.list.
              Hide
              jorgeml Jorge Martínez López added a comment -

              Thanks Elena, I'm afraid that didn't work as downgrading libmysqlclient18 and libmariadbclient18 triggers the removal of mariadb-client and mariadb-server (and a few other packages).

              Show
              jorgeml Jorge Martínez López added a comment - Thanks Elena, I'm afraid that didn't work as downgrading libmysqlclient18 and libmariadbclient18 triggers the removal of mariadb-client and mariadb-server (and a few other packages).
              Hide
              elenst Elena Stepanova added a comment -

              Sorry, I didn't know you had the server on the same machine. Then you can just downgrade the whole set, whichever mariadb-5.5.36 packages you have, to 5.5.35, in the same way, and maybe pin the version to prevent automatic upgrades until 5.5.37 is released.

              Alternatively, I suppose you can just pull the 5.5.35 library, put it somewhere and upgrade the LD_LIBRARY_PATH for the client, will it work for you?

              Show
              elenst Elena Stepanova added a comment - Sorry, I didn't know you had the server on the same machine. Then you can just downgrade the whole set, whichever mariadb-5.5.36 packages you have, to 5.5.35, in the same way, and maybe pin the version to prevent automatic upgrades until 5.5.37 is released. Alternatively, I suppose you can just pull the 5.5.35 library, put it somewhere and upgrade the LD_LIBRARY_PATH for the client, will it work for you?
              Hide
              jorgeml Jorge Martínez López added a comment - - edited

              Downgraded by running

              # apt-get install libmysqlclient18=5.5.35+maria-1~precise libmariadbclient18=5.5.35+maria-1~precise mariadb-client=5.5.35+maria-1~precise mariadb-server=5.5.35+maria-1~precise mariadb-client-5.5=5.5.35+maria-1~precise mariadb-server-5.5=5.5.35+maria-1~precise mariadb-client-core-5.5=5.5.35+maria-1~precise mariadb-server-core-5.5=5.5.35+maria-1~precise
              

              Then I added a hold to the packages

              apt-mark hold libmariadbclient18 libmysqlclient18 mariadb-client mariadb-client-5.5 mariadb-client-core-5.5 mariadb-server mariadb-server-5.5 mariadb-server-core-5.5
              

              libmyodbc works again:

              jorgeml@london:~$ isql -v MySQL-asterisk-cdr
              +---------------------------------------+
              | Connected!                            |
              |                                       |
              | sql-statement                         |
              | help [tablename]                      |
              | quit                                  |
              |                                       |
              +---------------------------------------+
              SQL> 
              
              

              Thanks Elena and Sergei!

              Show
              jorgeml Jorge Martínez López added a comment - - edited Downgraded by running # apt-get install libmysqlclient18=5.5.35+maria-1~precise libmariadbclient18=5.5.35+maria-1~precise mariadb-client=5.5.35+maria-1~precise mariadb-server=5.5.35+maria-1~precise mariadb-client-5.5=5.5.35+maria-1~precise mariadb-server-5.5=5.5.35+maria-1~precise mariadb-client-core-5.5=5.5.35+maria-1~precise mariadb-server-core-5.5=5.5.35+maria-1~precise Then I added a hold to the packages apt-mark hold libmariadbclient18 libmysqlclient18 mariadb-client mariadb-client-5.5 mariadb-client-core-5.5 mariadb-server mariadb-server-5.5 mariadb-server-core-5.5 libmyodbc works again: jorgeml@london:~$ isql -v MySQL-asterisk-cdr +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL> Thanks Elena and Sergei!
              Hide
              slocke Steph Locke added a comment - - edited

              I got this issue and was having trouble downgrading with the code provided by Jorge, turns out you have to also remove the var/lib/mysql files

              sudo apt-get purge mysql* mariadb*
              sudo rm /etc/mysql -R
              sudo rm /var/lib/mysql -R
               sudo apt-get install libmysqlclient18=5.5.35+maria-1~precise libmariadbclient18=5.5.35+maria-1~precise mariadb-client=5.5.35+maria-1~precise mariadb-server=5.5.35+maria-1~precise mariadb-client-5.5=5.5.35+maria-1~precise mariadb-server-5.5=5.5.35+maria-1~precise mariadb-client-core-5.5=5.5.35+maria-1~precise mariadb-server-core-5.5=5.5.35+maria-1~precise mariadb-common=5.5.35+maria-1~precise mysql-common=5.5.35+maria-1~precise
              
              Show
              slocke Steph Locke added a comment - - edited I got this issue and was having trouble downgrading with the code provided by Jorge, turns out you have to also remove the var/lib/mysql files sudo apt-get purge mysql* mariadb* sudo rm /etc/mysql -R sudo rm /var/lib/mysql -R sudo apt-get install libmysqlclient18=5.5.35+maria-1~precise libmariadbclient18=5.5.35+maria-1~precise mariadb-client=5.5.35+maria-1~precise mariadb-server=5.5.35+maria-1~precise mariadb-client-5.5=5.5.35+maria-1~precise mariadb-server-5.5=5.5.35+maria-1~precise mariadb-client-core-5.5=5.5.35+maria-1~precise mariadb-server-core-5.5=5.5.35+maria-1~precise mariadb-common=5.5.35+maria-1~precise mysql-common=5.5.35+maria-1~precise

                People

                • Assignee:
                  serg Sergei Golubchik
                  Reporter:
                  jorgeml Jorge Martínez López
                • Votes:
                  1 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 30 minutes
                    30m