View previous topic :: View next topic |
Author |
Message |
asm64 n00b
Joined: 25 Apr 2008 Posts: 27 Location: г.Кемерово
|
Posted: Fri Apr 25, 2008 10:53 am Post subject: wine + unixODBC на x86_64 не работает :( |
|
|
Здравствуйте. Помогите пожалуйста с такой бедой.
x86_64. Установлены wine, unixODBC, mysql и myodbc. wine настроен на встроенную библиотеку odbc32 и под ним крутится биржевой торговый терминал quik. Их задача - экспорт котировок по ODBC в программу анализа под Linux. Связка unixODBC-->myodbc-->mysql настроена и база заведена, с правами всё ок. Но 32 битный wine не хочет дружить с x86_64 библиотекой /usr/lib/libodbc.so, в дебаге пишет:
err:odbc:SQLDataSources Error: empty dm handle (gProxyHandle.dmHandle == NULL)
В пакете emul-linux-x86-baselibs unixODBC отсутствует Смотрел здесь:
http://www.winehq.org/site/docs/wineusr-guide/misc-things-to-configure
http://wiki.winehq.org/WineOn64bit#head-7f9ba30a115acb6bc6feef3ee48cd06e91d44519
Что делать? Не собирать же gentoo с нуля в 32 бита. Мож как-то unixODBC в 32 битном варианте собрать можно? Очень надеюсь на Вашу помощь. |
|
Back to top |
|
|
Laitr Keiows Bodhisattva
Joined: 04 Jul 2005 Posts: 891 Location: Kobe, Japan
|
Posted: Sat Apr 26, 2008 2:23 am Post subject: |
|
|
Может попробовать из другой системы перетащить?.. |
|
Back to top |
|
|
asm64 n00b
Joined: 25 Apr 2008 Posts: 27 Location: г.Кемерово
|
Posted: Sat Apr 26, 2008 3:06 am Post subject: |
|
|
Laitr Keiows wrote: | Может попробовать из другой системы перетащить?.. |
А как же пути, версии и зависимости?
Как делают emul-linux-x86? Может как-то можно собрать отдельно пакет unixODBC в 32 бита? |
|
Back to top |
|
|
Laitr Keiows Bodhisattva
Joined: 04 Jul 2005 Posts: 891 Location: Kobe, Japan
|
|
Back to top |
|
|
asm64 n00b
Joined: 25 Apr 2008 Posts: 27 Location: г.Кемерово
|
Posted: Wed Apr 30, 2008 12:20 pm Post subject: |
|
|
Спасибо. Попробую от gentoo x86 взять, посмотрим что получится, потом отпишусь...
А вобще как и кто делает emul-linux-x86? Кросс-компиляцией или тупо берут библы от x86 сборки, не в курсе случаем. Погуглил ничего не нашёл - кто собирает, как собирает - непонятно... |
|
Back to top |
|
|
asm64 n00b
Joined: 25 Apr 2008 Posts: 27 Location: г.Кемерово
|
|
Back to top |
|
|
Laitr Keiows Bodhisattva
Joined: 04 Jul 2005 Posts: 891 Location: Kobe, Japan
|
Posted: Thu May 01, 2008 12:01 am Post subject: |
|
|
asm64 wrote: | А вобще как и кто делает emul-linux-x86? Погуглил ничего не нашёл - кто собирает, как собирает - непонятно... |
Я уже давал эту ссылку:
http://www.gentoo.org/proj/en/base/amd64/emul/
Нашел в гугле |
|
Back to top |
|
|
asm64 n00b
Joined: 25 Apr 2008 Posts: 27 Location: г.Кемерово
|
Posted: Thu May 01, 2008 5:45 am Post subject: |
|
|
Laitr Keiows wrote: | http://www.gentoo.org/proj/en/base/amd64/emul/
Нашел в гугле |
Упс. Проморгал . Спасибо большое! Думаю вопрос решён. |
|
Back to top |
|
|
asm64 n00b
Joined: 25 Apr 2008 Posts: 27 Location: г.Кемерово
|
Posted: Sun May 04, 2008 3:15 pm Post subject: Вопрос не решён :( libmyodbc3.so |
|
|
Что сделал.
1. Собрал CHROOT по методе http://www.gentoo.org/proj/en/base/amd64/emul/
2. FEATURES="buildpkg" emerge unixODBC dev-db/mysql myodbc
Получились пакеты tbz2:
DBD-mysql-4.00.5.tbz2
DBI-1.601.tbz2
ed-0.8.tbz2
myodbc-3.51.12.tbz2
mysql-5.0.54.tbz2
mysql-5.0.tbz2
mysql-init-scripts-1.2.tbz2
Net-Daemon-0.43.tbz2
perl-Storable-2.16.tbz2
perl-Sys-Syslog-0.18.tbz2
PlRPC-0.2020-r1.tbz2
Storable-2.16.tbz2
Sys-Syslog-0.18.tbz2
unixODBC-2.2.12.tbz2
3. Распаковал все в отдельной директории и скопировал только папку ./usr/lib32 в /usr/lib32
4. Указал в ODBCConfig-e 32bit драйвер /usr/lib32/libmyodbc3.so и конфиг /usr/lib32/libodbcmyS.so
5. Создал скрипт для запуска Квика (info.exe):
#!/bin/bash
export LIB_ODBC_DRIVER_MANAGER=/usr/lib32/libodbc.so
WINEDEBUG="+odbc32" wine info.exe
6. Запускаю скрипт. Дважды просит пароль: Пароль для <user> на localhost? Ввожу - всё ок.
7. В Квике жму экспорт по ODBC и о чудо! отображена моя база данных, которую я завел в MySQL. Ввожу пользователя <user>@localhost и пароль. Жму подключиться.
8. Вайн вылетает. В консоли пишет:
info.exe: symbol lookup error: /usr/lib32/libmyodbc3.so: undefined symbol: min
9. Погуглил: http://forums.mysql.com/read.php?37,197326,197730#msg-197730
Quote: | This is a known bug when compiling with GCC 4.2 (iirc), which we will likely patch in the ODBC driver. Thanks for alerting us to it. |
Теперь вопросы.
Всё-ли правильно я сделал, взяв только ./usr/lib32? Кто-нибудь сталкивался с подобной проблемой libmyodbc3?
Спасибо. |
|
Back to top |
|
|
asm64 n00b
Joined: 25 Apr 2008 Posts: 27 Location: г.Кемерово
|
Posted: Mon May 05, 2008 2:25 pm Post subject: |
|
|
Ура! Усё заработало. Докладываю, если кому интересен этот вопрос. Дело было в mysql-5.0.54, а 5.0.56 был замаскирован (собака). Сделал так:
1. из chroot 32 (myodbc пересобрать обязательно!)
# ACCEPT_KEQWORDS="~amd64" FEATURES="buildpkg" emerge dev-db/mysql myodbc
2. Скопировал только /usr/lib32/* из получившихся пакетов как в предыдущем посте и вуаля
Параметры из Квика полетели в базу mysql. Ура товарищи!
P.S.: Спасибо Laitr Keiows за наводки на необходимый материал. |
|
Back to top |
|
|
|