Quantalマシンにライブラリiodbc(libodbc2に依存)をインストールする必要があります。しかし、不気味な依存関係の問題があります。これは、なんとなくunixodbcに置き換えられましたが、インストールされていません。インストールしようとすると次のようになります。
Sudo apt-get install libiodbc2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libiodbc2-dev : Depends: libiodbc2 (= 3.52.7-2build2) but it is not going to be installed
Depends: iodbc (= 3.52.7-2build2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Iodbcがodbcinstと競合していることがわかります。ただし、次の理由により削除できません。
Sudo apt-get remove odbcinst
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
akonadi-backend-mysql calligra-l10n-engb kde-l10n-engb kdevelop-l10n kdevelop-php-docs-l10n kdevelop-php-l10n libakonadi-kabc4 libakonadi-notes4
libakonadiprotocolinternals1 libboost-thread1.49.0 libdmtx0a libgpgme++2 libkcalcore4 libkdgantt2 libkholidays4 libkimap4 libkldap4 libkmbox4 libkmime4
libkolabxml0 libkpgp4 libkresources4 libksieve4 libprison0 libqgpgme1 libqrencode3 libxerces-c3.1
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
akonadi-server k3b k3b-i18n katepart kde-runtime kdelibs-bin kdelibs5-plugins kdepim-runtime kdepim-strigi-plugins kdepimlibs-kio-plugins kdoctools kget kmag
kmail kmix kmousetool ksystemlog kubuntu-debug-installer language-pack-kde-ar language-pack-kde-en libakonadi-calendar4 libakonadi-contact4 libakonadi-kcal4
libakonadi-kde4 libakonadi-kmime4 libcalendarsupport4 libincidenceeditorsng4 libk3b6 libkabc4 libkactivities-bin libkactivities6 libkalarmcal2
libkatepartinterfaces4 libkcal4 libkcalutils4 libkcddb4 libkde3support4 libkdepim4 libkdepimdbusinterfaces4 libkdewebkit5 libkemoticons4 libkfile4 libkgapi0
libkhtml5 libkio5 libkleo4 libkmanagesieve4 libkmediaplayer4 libknewstuff3-4 libknotifyconfig4 libkolab0 libkonq-common libkonq5abi1 libkontactinterface4
libkparts4 libkpimidentities4 libkpimtextedit4 libkpimutils4 libkprintutils4 libksieveui4 libktexteditor4 libktnef4 libktorrent4 libkworkspace4abi2
libkxmlrpcclient4 libmailcommon4 libmailimporter4 libmailtransport4 libmessagecomposer4 libmessagecore4 libmessagelist4 libmessageviewer4 libmicroblog4
libnepomuk4 libnepomukcore4abi1 libnepomukquery4a libnepomuksync4 libnepomukutils4 libplasma3 libsoprano4 libtemplateparser4 libvirtodbc0 nepomuk-core odbcinst
odbcinst1debian2 plasma-scriptengine-javascript qapt-batch soprano-daemon virtuoso-minimal
0 upgraded, 0 newly installed, 89 to remove and 0 not upgraded.
After this operation, 126 MB disk space will be freed.
Do you want to continue [Y/n]?
その他の情報: 「iodbc」と「libmyodbc」パッケージが互いに競合する理由
根本的な問題は、最新のMySQL Workbenchビルド(DB Migration)で導入された新しい機能を使用する必要があることです。この機能では、odbcを使用します。 Mysqlのドキュメントには次のように書かれています:
Linux
移行Wizardは、iODBCをLinuxのすべてのODBC接続のドライバーマネージャーとして使用します。ほとんどのLinuxディストリビューションは、unixODBCに対してコンパイルされたODBCドライバーを提供するため、これにより問題が発生する場合があります。これは、MySQL Workbenchでサポートされていない別のドライバーマネージャーであるため、iODBCに対してコンパイルしない限り、これらのドライバーを使用することはできません。これがあなたがすべきことです。
IODBCがインストールされていることを確認してください。 Debian、Ubuntu、または別のDebianベースのディストリビューションを使用している場合、ターミナルで次のコマンドを入力します。
$> sudo apt-get install iodbc libiodbc2-dev libpq-dev libssl-dev
RPMベースのディストリビューション(RedHat、Fedoraなど)の場合、前のコマンドの代わりに次のコマンドを入力します。
$> sudo yum install iodbc iodbc-dev libpqxx-devel openssl-devel
次に、PostgreSQL ODBCドライバーをインストールする必要があります。
ここからpsqlODBCソースtarballをダウンロードしてください。ダウンロード可能な最新バージョンを使用してください。これを書いている時点で、最新バージョンはファイルpsqlodbc-09.01.0200.tar.gzに対応しています。このtarballをハードドライブのディレクトリに抽出し、ターミナルを開いてそのディレクトリにcdします。
これをターミナルウィンドウに入力します。
$> ./configure --with-iodbc --enable-pthreads $> make $> Sudo make install
/ usr/local/libディレクトリにファイルpsqlodbcw.soがあることを確認します。
このパッケージはおそらく問題を引き起こすようです:
dpkg -s odbcinst1debian2
Package: odbcinst1debian2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 241
Maintainer: Ubuntu Developers <[email protected]>
Architecture: AMD64
Multi-Arch: same
Source: unixodbc
Version: 2.2.14p2-5ubuntu4
Replaces: unixodbc (<< 2.1.1-2)
Depends: libc6 (>= 2.14), libltdl7 (>= 2.4.2), odbcinst
Pre-Depends: multiarch-support
Breaks: libiodbc2, libmyodbc (<< 5.1.6-2), odbc-postgresql (<< 1:09.00.0310-1.1), tdsodbc (<< 0.82-8)
Conflicts: odbcinst1, odbcinst1debian1
Description: Support library for accessing odbc ini files
This package contains the libodbcinst library from unixodbc, a library
used by ODBC drivers for reading their configuration settings from
/etc/odbc.ini and ~/.odbc.ini.
.
Also contained in this package are the driver setup plugins, which
describe the features supported by individual ODBC drivers.
Homepage: http://www.unixodbc.org/
Original-Maintainer: Steve Langasek <[email protected]>
壊れたパッケージはありません:
一部のLinuxディストリビューション(Debian、Ubuntu、Gentoo)にはiODBC用の独自のパッケージがあるため、次のようなコマンドを入力するだけで済みます。
Sudo apt-get install libiodbc2 iodbc
それと、場合によってはいくつかの依存関係(adminstratorユーティリティ用のGTK +ライブラリ)を自動的にインストールします。
参照: http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/IODBCRubyHOWTO#Linux
I ended up installing just libmyodbc and configuring odbc using the /etc/odbc.ini file:
[ODBC Data Sources]
odbcname = MyODBC 3.51 Driver DSN
[the_db]
Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so
Description = The Database using MyODBC 3.51 Driver DSN
SERVER = localhost
PORT =
USER = root
Password = someOldPassword
Database = the_db
OPTION = 3
SOCKET =