Eu preciso instalar a biblioteca iodbc (depende do libodbc2) na minha máquina Quantal. No entanto, há um problema de dependência assustador.
Este foi substituído de alguma forma pelo unixodbc que eu não tenho, instalado.
Aqui está o que eu recebo quando tento instalar:
sudoapt-getinstalllibiodbc2-devReadingpackagelists...DoneBuildingdependencytreeReadingstateinformation...DoneSomepackagescouldnotbeinstalled.ThismaymeanthatyouhaverequestedanimpossiblesituationorifyouareusingtheunstabledistributionthatsomerequiredpackageshavenotyetbeencreatedorbeenmovedoutofIncoming.Thefollowinginformationmayhelptoresolvethesituation:Thefollowingpackageshaveunmetdependencies:libiodbc2-dev:Depends:libiodbc2(=3.52.7-2build2)butitisnotgoingtobeinstalledDepends:iodbc(=3.52.7-2build2)butitisnotgoingtobeinstalledE:Unabletocorrectproblems,youhaveheldbrokenpackages.
Eupossodizerqueoiodbcestáemconflitocomoodbcinst.Noentanto,nãopossoremovê-lodevidoaoseguinte:
sudoapt-getremoveodbcinstReadingpackagelists...DoneBuildingdependencytreeReadingstateinformation...DoneThefollowingpackageswereautomaticallyinstalledandarenolongerrequired:akonadi-backend-mysqlcalligra-l10n-engbkde-l10n-engbkdevelop-l10nkdevelop-php-docs-l10nkdevelop-php-l10nlibakonadi-kabc4libakonadi-notes4libakonadiprotocolinternals1libboost-thread1.49.0libdmtx0alibgpgme++2libkcalcore4libkdgantt2libkholidays4libkimap4libkldap4libkmbox4libkmime4libkolabxml0libkpgp4libkresources4libksieve4libprison0libqgpgme1libqrencode3libxerces-c3.1Use'apt-getautoremove'toremovethem.ThefollowingpackageswillbeREMOVED:akonadi-serverk3bk3b-i18nkatepartkde-runtimekdelibs-binkdelibs5-pluginskdepim-runtimekdepim-strigi-pluginskdepimlibs-kio-pluginskdoctoolskgetkmagkmailkmixkmousetoolksystemlogkubuntu-debug-installerlanguage-pack-kde-arlanguage-pack-kde-enlibakonadi-calendar4libakonadi-contact4libakonadi-kcal4libakonadi-kde4libakonadi-kmime4libcalendarsupport4libincidenceeditorsng4libk3b6libkabc4libkactivities-binlibkactivities6libkalarmcal2libkatepartinterfaces4libkcal4libkcalutils4libkcddb4libkde3support4libkdepim4libkdepimdbusinterfaces4libkdewebkit5libkemoticons4libkfile4libkgapi0libkhtml5libkio5libkleo4libkmanagesieve4libkmediaplayer4libknewstuff3-4libknotifyconfig4libkolab0libkonq-commonlibkonq5abi1libkontactinterface4libkparts4libkpimidentities4libkpimtextedit4libkpimutils4libkprintutils4libksieveui4libktexteditor4libktnef4libktorrent4libkworkspace4abi2libkxmlrpcclient4libmailcommon4libmailimporter4libmailtransport4libmessagecomposer4libmessagecore4libmessagelist4libmessageviewer4libmicroblog4libnepomuk4libnepomukcore4abi1libnepomukquery4alibnepomuksync4libnepomukutils4libplasma3libsoprano4libtemplateparser4libvirtodbc0nepomuk-coreodbcinstodbcinst1debian2plasma-scriptengine-javascriptqapt-batchsoprano-daemonvirtuoso-minimal0upgraded,0newlyinstalled,89toremoveand0notupgraded.Afterthisoperation,126MBdiskspacewillbefreed.Doyouwanttocontinue[Y/n]?
Outras informações: Por que o "iodbc" e pacotes "libmyodbc" entram em conflito entre si?
O problema raiz é que eu preciso usar um novo recurso introduzido nas compilações mais recentes do MySQL Workbench (DB Migration), que usa odbc para esse assunto.
Aqui está o que o Mysql doc diz sobre isso:
Linux
O Assistente de Migração usa o iODBC como um gerenciador de drivers para todas as suas conexões ODBC no Linux. Isso pode causar alguns problemas porque a maioria das distribuições do Linux fornece drivers ODBC compilados contra o unixODBC. Este é outro gerenciador de drivers não suportado pelo MySQL Workbench, então você não poderá usar esses drivers, a menos que você os compile no iODBC. Veja o que você deve fazer.
Certifique-se de ter o iODBC instalado. Se você estiver usando Debian, Ubuntu ou outra distro baseada em Debian, digite este comando em seu terminal:
$ > s udo apt-get install iodbc libiodbc2-dev libpq-dev libssl-dev
Para distribuições baseadas em RPM (RedHat, Fedora, etc.) digite este comando em vez do anterior:
$ > sudo yum instalar iodbc iodbc-dev libpqxx-devel openssl-devel
Agora precisamos instalar os drivers ODBC do PostgreSQL.
Faça o download do tarball de origem do psqlODBC daqui. Use a versão mais recente disponível para download. A partir desta publicação, a versão mais recente corresponde ao arquivo psqlodbc-09.01.0200.tar.gz. Extraia este tarball para um diretório em seu disco rígido e abra um terminal e entre nesse diretório.
Digite isto na janela do terminal:
$ > ./configure --with-iodbc --enable-pthreads
$ > faço
$ > sudo make install
Verifique se você tem o arquivo psqlodbcw.so no diretório / usr / local / lib.
Este pacote parece representar o problema provavelmente:
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]>
Eu não tenho pacotes quebrados: