web-dev-qa-db-fra.com

Comment installer iodbc dans Ubuntu 12.10

Je dois installer la bibliothèque iodbc (dépend de libodbc2) sur ma machine Quantal. Pourtant, il y a un problème de dépendance effrayant. Cela a été remplacé par unixodbc que je n'ai pas installé. Voici ce que je reçois quand j'essaye d'installer:

install iodbc failure

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.

Je peux dire que l'iodbc est en conflit avec odbcinst. Cependant, je ne peux pas l'enlever pour les raisons suivantes:

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]?

odbcins uninstall failure Autres informations: Pourquoi les paquets "iodbc" et "libmyodbc" sont-ils en conflit?

Le problème fondamental est que je dois utiliser une nouvelle fonctionnalité introduite dans les dernières versions de MySQL Workbench (migration de base de données) qui utilise odbc pour cette application. Voici ce qu'en dit la doc Mysql:

Linux

La migration Wizard utilise iODBC en tant que gestionnaire de pilotes pour toutes ses connexions ODBC sous Linux. Cela peut vous poser quelques problèmes car la plupart des distributions Linux fournissent des pilotes ODBC compilés avec unixODBC. Ceci est un autre gestionnaire de pilotes non pris en charge par MySQL Workbench, vous ne pourrez donc pas utiliser ces pilotes à moins de les compiler avec iODBC. Voici ce que vous devriez faire.

Assurez-vous que vous avez installé iODBC. Si vous utilisez Debian, Ubuntu ou une autre distribution basée sur Debian, tapez cette commande dans votre terminal:

$> sudo apt-get install iodbc libiodbc2-dev libpq-dev libssl-dev

Pour les distributions basées sur RPM (RedHat, Fedora, etc.), tapez cette commande à la place de la précédente:

$> Installation de iodbc iodbc-dev libpqxx-devel openssl-devel

Nous devons maintenant installer les pilotes PostgreSQL ODBC.

Téléchargez l'archive source psqlODBC à partir d'ici. Utilisez la dernière version disponible pour le téléchargement. A ce jour, la dernière version correspond au fichier psqlodbc-09.01.0200.tar.gz. Extrayez cette archive dans un répertoire de votre disque dur, ouvrez un terminal et insérez cd dans ce répertoire.

Tapez ceci dans la fenêtre du terminal:

$> ./configure --with-iodbc --enable-pthreads $> make $> Sudo make install

Vérifiez que vous avez le fichier psqlodbcw.so dans le répertoire/usr/local/lib.

Ce paquet semble poser le problème probablement:

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]>

Je n'ai pas de colis cassé: No Broken packages

2
Hanynowsky

Certaines distributions Linux (Debian, Ubuntu, Gentoo) ont leurs propres paquets pour iODBC. Vous ne devriez donc avoir besoin que de taper une commande telle que l’une des commandes suivantes:

Sudo apt-get install libiodbc2 iodbc  

pour l'installer, et éventuellement quelques dépendances (bibliothèques GTK + pour l'utilitaire adminstrator), automatiquement.

Voir: 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 =
1
Sh Boss