'odbcinst: symbol lookup error: odbcinst: undefined symbol: odbcinst_system_file_name

When I run

$ odbcinst -j

it prints

unixODBC 2.3.7
odbcinst: symbol lookup error: odbcinst: undefined symbol: odbcinst_system_file_name

How can I fix it?

According to this I reinstalled ODBC a now

$ odbcinst -j
odbcinst: symbol lookup error: odbcinst: undefined symbol: SQLManageDataSources


Solution 1:[1]

You will also need drivers to go with it, but the error messages are two attempts to compile from sources without proper support for that.

Considering how intricate these problems can become, it's always best to stick with the versions provided for your distribution and architecture provided through the package managers. They will bring in their own dependencies which you don't have to find and install manually.

To remove existing binaries:

~$ whereis odbcinst
odbcinst: /usr/bin/odbcinst /etc/odbcinst.ini /usr/share/man/man1/odbcinst.1.gz
~$ rm /usr/bin/odbcinst /etc/odbcinst.ini /usr/share/man/man1/odbcinst.1.gz

Followed by one of the following depending on your system:

  • ~$ sudo yum install odbcinst libsqliteodbc, msodbcsql17, odbc-postgresql, tdsodbc mysql-connector-odbc
    
  •  ~$ sudo apt install odbcinst libsqliteodbc, msodbcsql17, odbc-postgresql, tdsodbc mysql-connector-odbc
    

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Silviu-Marian