Как установить iodbc в Ubuntu 12.10

Мне нужно установить библиотеку iodbc (зависит от libodbc2) на мою квантовую машину. Все же есть жуткая проблема зависимости. Это было как-то заменено на unixodbc, который у меня не установлен. Вот что я получаю, когда пытаюсь установить:

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.

Я могу сказать, что 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]?

odbcins uninstall failure Другая информация: Почему «iodbc»? и & quot; libmyodbc & quot; пакеты конфликтуют друг с другом?

Корень проблемы в том, что мне нужно использовать новую функцию, представленную в последних сборках MySQL Workbench (DB Migration), которая использует odbc в этом отношении. Вот что говорит по этому поводу Mysql doc:

Linux

Мастер миграции использует iODBC в качестве диспетчера драйверов для всех своих соединений ODBC в Linux. Это может вызвать некоторые проблемы, поскольку большинство дистрибутивов Linux предоставляют драйверы ODBC, скомпилированные для unixODBC. Это еще один диспетчер драйверов, который не поддерживается MySQL Workbench, поэтому вы не сможете использовать эти драйверы, если не скомпилируете их с iODBC. Вот что вы должны сделать.

Убедитесь, что у вас установлен iODBC. Если вы используете Debian, Ubuntu или другой дистрибутив на основе Debian, введите эту команду в своем терминале:

$> s udo 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 отсюда. Используйте последнюю версию, доступную для скачивания. На момент написания статьи последняя версия соответствует файлу psqlodbc-09.01.0200.tar.gz. Распакуйте этот архив в каталог на жестком диске и откройте терминал и перейдите в этот каталог.

Введите это в окне терминала:

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

Убедитесь, что у вас есть файл psqlodbcw.so в каталоге / usr / local / lib.

Этот пакет, вероятно, создает проблему:

dpkg -s odbcinst1debian2
Package: odbcinst1debian2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 241
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
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 <vorlon@debian.org>

У меня нет сломанных пакетов: No Broken packages

2
задан 13 April 2017 в 15:24

1 ответ

Некоторые дистрибутивы Linux (Debian, Ubuntu, Gentoo) имеют свои собственные пакеты для iODBC, поэтому вам нужно всего лишь ввести команду, например один из

sudo apt-get install libiodbc2 iodbc  

, чтобы установить его, и, возможно, некоторые зависимости (Библиотеки GTK + для утилиты adminstrator), автоматически.

См .: 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 =
.
0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: