Como instalar o iodbc no Ubuntu 12.10

2

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:

    
por Hanynowsky 13.12.2012 / 20:33

1 resposta

1

Algumas distribuições Linux (Debian, Ubuntu, Gentoo) possuem seus próprios pacotes para o iODBC, então você só precisa digitar um comando como um dos

sudo apt-get install libiodbc2 iodbc  

para instalá-lo, e possivelmente algumas dependências (bibliotecas GTK + para o utilitário adminstrator), automaticamente.

Consulte: link

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 =
    
por Sh Boss 03.11.2013 / 16:37