Главная › Форумы › POWER Systems › AIX/Hardware › сборка freetds под AIX
- В этой теме 24 ответа, 3 участника, последнее обновление 11 лет, 4 месяца назад сделано
Вадим.
-
АвторСообщения
-
-
27.10.2009 в 21:27 #5620
Вадим
Участникдобрый день у меня возникла проблема со сборкой freetds (это необходимо для связи через UnixODBC серверов Oracle и MS SQL)
что делал
1. пробовал компилировать с помощью gcc и visual age
2. пробовал различные ключи при выполнении configure
3. проверял (с помощью gcc)на Linux под x86что получил в первых 2х вариантах не собирается динамическая библиотека freetds.so.0.0, необходимая для подключения в unixODBC
в 3тьем варианте прекрасно собирается, из чего я делаю логичный (на мой взгляд вывод) что какой то ключ в GCC и Visual AGE под AIX запрещает собирать по умолчанию so библиотекиподскажите как выйти из данной ситуации (в интернете порыл но ничего на мой взгляд того что я еще не пробовал уже нету)
версия компилятора gcc из Linux pack for AIX
версия visual age 10(триальная на 60 дней) с сайта IBM
версия freetds пробовал current (0.83) и stable (0.82)
вресия unixODBC 2.2.15pre (тк current не собирается под AIX, о чем написано на сайте) -
28.10.2009 в 08:44 #5629
Michael
Участникhttp://www.easysoft.com/products/data_access/odbc-sql-server-driver/index.html?location=Easysoft%20Data%20Access%20menu – вот такой уже готовый вариант Вам не подойдёт? Или это немножко не из той оперы? 🙂
Из описания:
“ODBC Driver for SQL Server 7.0, 2000, 2005, 2008 and ExpressThe Easysoft ODBC-SQL Server Driver provides ODBC access to Microsoft SQL Server from Linux and Unix platforms. The ODBC-SQL Server Driver supports SQL Server 7.0, SQL Server 2000, SQL Server 2005, SQL Server 2008 and SQL Server Express.
The Easysoft ODBC-SQL Server Driver uses SQL Server’s Tabular Data Stream (TDS) protocol to communicate directly with remote SQL Server instances. You install the Easysoft ODBC-SQL Server Driver on the client machines from which you want to access SQL Server. No additional software needs to be installed on the SQL Server machine.”
Правда, совсем недавно увидел, что эта программулька лицензионная. Одна лицензия почти 700 бяксов :blink:
-
30.10.2009 в 16:55 #5661
Michael
Участникhttp://pware.hvcc.edu – здеся есть как freetds, так и unixODBC, собранные под 5.3. Рискните, первый! 😉
Нам, кстати, тоже потребовалось к мелкомягкому сиквелу прицепиться, будем работать в параллельном режиме. О результатах сообщу… -
03.11.2009 в 14:15 #5686
Вадим
Участникв принципе есть сборка от ИзиСофта
http://www.easysoft.com/cgi-bin/productdownload.cgi
в которой меня устраивает все кроме цены и дикого желания софтины иметь доступ в интернет для проверки лицензии -
03.11.2009 в 14:44 #5687
Вадим
Участникmih писал(а):
http://pware.hvcc.edu – здеся есть как freetds, так и unixODBC, собранные под 5.3. Рискните, первый! 😉
Нам, кстати, тоже потребовалось к мелкомягкому сиквелу прицепиться, будем работать в параллельном режиме. О результатах сообщу…хм, попробовал из комплекта pWare, как Вы правильно отметили там есть только сборка под 53 что не сильно страшно, но аналогично отсуствует libtdsodbc.so, что опять таки не дает возможность запустить odbc по человечески
-
03.11.2009 в 17:43 #5689
andrewk
Участникделаете LPAR, даете мне к нему доступ через интернет, я собираю и вы радуетесь жизни. И замечу – все бесплатно 🙂
Да, использовать LPAR не по назначению не буду. Разве что установлю необходимый для сборки софт. -
05.11.2009 в 07:36 #5692
Вадим
Участниктак не дадут мне сделать наши безопасники 🙂
вот если бы вы подсказали как это сделать, ну или хотя бы намекнули в какую сторону копать было бы намного интереснее
проблема как я понимаю кроется в ключах настройки gcc или даже наверное в ключах линковки -
05.11.2009 в 09:47 #5694
Michael
Участниквот если бы вы подсказали как это сделать, ну или хотя бы намекнули в какую сторону копать было бы намного интереснее
Прысоединяюсь к предыдущему оратору! :cheer:
-
05.11.2009 в 15:24 #5704
Вадим
Участникhttp://forums.oracle.com/forums/thread.jspa?messageID=2502982
есть вот такой вариант решения, но он не подходит из соображений непонятности лицензирования -
05.11.2009 в 17:18 #5706
andrewk
Участникя бы с удовольствием подсказал, если бы точно знал. проблема абсолютно однозначно в ключах линковки, но какие конкретно надо указать – надо смотреть и пытаться сделать. Поскольку у меня сейчас AIX’а под боком, увы, нет, то ответ я дать не смогу. Наверняка Вы это уже читали, но на всякий случай:
http://lists.ibiblio.org/pipermail/freetds/2004q3/016748.html
-
05.11.2009 в 17:20 #5707
andrewk
Участникadmin1 писал(а):
http://forums.oracle.com/forums/thread.jspa?messageID=2502982
есть вот такой вариант решения, но он не подходит из соображений непонятности лицензированияприкольное решение. Всего-то требует лицензию на Oracle SE 🙂
-
05.11.2009 в 17:22 #5708
andrewk
Участникbtw есть еще DataDirect, который тоже поставляет ODBC-драйвера для кучи СУБД под AIX. Не знаю, насколько он более выгодный, чем easysoft
http://www.datadirect.com/products/odbc/matrix/connectodbc.htm
-
06.11.2009 в 08:03 #5710
Вадим
Участникandrewk писал(а):
я бы с удовольствием подсказал, если бы точно знал. проблема абсолютно однозначно в ключах линковки, но какие конкретно надо указать – надо смотреть и пытаться сделать. Поскольку у меня сейчас AIX’а под боком, увы, нет, то ответ я дать не смогу. Наверняка Вы это уже читали, но на всякий случай:
http://lists.ibiblio.org/pipermail/freetds/2004q3/016748.html
хм попробую, чтото видимо когда я искал, пропустил этот вариант…
Спасибо, приступаю к попыткам 🙂 -
09.11.2009 в 08:09 #5721
Вадим
Участникхм и увы, данная ссылка не помогла http://lists.ibiblio.org/pipermail/freetds/2004q3/016748.html
по ряду причин
1. я так и не нашел где это подправить
2. у меня компиляется без ошибок на самом деле -
09.11.2009 в 21:40 #5738
andrewk
Участника это на самом деле было про линковку, хоть там и написано compile 😉
-
10.11.2009 в 09:22 #5744
Вадим
Участникandrewk писал(а):
а это на самом деле было про линковку, хоть там и написано compile 😉
это понятно, просто где это править?
-
12.11.2009 в 08:04 #5779
Вадим
Участникпохоже идеи кончились
-
12.11.2009 в 16:16 #5785
andrewk
Участникдля того, чтобы были идеи, надо, чтобы было, где собирать
-
13.11.2009 в 10:30 #5798
Вадим
Участникрешил подойти к вопросу иначе
тоесть собрать шаред библиотеку самостоятельнов папке xxx/freetds/lib
выполнил команду
gcc -shared *.a -o libtdsodbc.so.2
получаем
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock
ld: 0711-317 ERROR: Undefined symbol: .iconv_close
ld: 0711-317 ERROR: Undefined symbol: .iconv_open
ld: 0711-317 ERROR: Undefined symbol: .iconv
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit statusотличненько, переписываем файл от пакета iconv (копирую библиотеку libiconv.a, но получаем нехватку libpthread или как ее звать точно пока не знаю)
gcc -shared *.a -o libtdsodbc.so.2
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit statusтеперь нужно найти где взять библиотеку от pthread
пробовал собрать с сайта
http://www.gnu.org/software/pth/
версия 1.4.1 прекрасно собирается но не подходит,
вероятнее всего подходит 2.0.7 но не собирается, вылазит ошибка
make
./libtool –mode=compile –quiet gcc -c -I. -O2 -pipe pth_debug.c
In file included from pth_p.h.in:54,
from pth_debug.c:29:
pth.h:93:2: error: #error “FD_SETSIZE is larger than what GNU Pth can handle.”
make: 1254-004 The error code from the last command is 1.теперь думаю что же делать дальше
-
13.11.2009 в 14:40 #5826
Вадим
Участникв принципе собрал, без проблем с помощью ключа компиляции устанавливающий размер FD_SETSIZE но вызова всеравно нету
-
13.11.2009 в 14:46 #5827
Вадим
Участникlibpthreads.a нужна вот эта библиотека!
-
13.11.2009 в 15:50 #5835
Вадим
Участниквобщем нашел я эти библиотеки собрал теперь ошибка
[IM004][unixODBC][Driver Manager]Driver’s SQLAllocHandle on SQL_HANDLE_HENV failed
[ISQL]ERROR: Could not SQLConnect -
16.11.2009 в 08:06 #5865
Вадим
Участник2 mih
вобщем делается примерно следующее для получения библиотеки (я делал на gcc)
собирается как обычно получаем .a файл
после этого находим файлы libiconv.a, libpthreads.a
первое — это из комплекта iconv, второе я так понимаю из комплекта AIX
распаковываем все файлы
ar -x libiconv.a
ar -x libpthreads.a
ar -x libtdsodbc.aпосле этого
gcc -shared *.o -o libtdsodbc.so.1
ln -s ./libtdsodbc.so.1 ./libtdsodbc.soи вобщем то вот она эта библиотека!!!
-
18.11.2009 в 11:50 #5925
Michael
УчастникСпасибо admin1 за идею! 🙂
My way:
1. С сайта http://pware.hvcc.edu/ скачаны последние версии бинарных сборок freetds и unixODBC + все необходимые зависимости и сам компилятор gcc.2. Всё установлено.
3. Из /opt/pware64/lib вытащены libiconv.a и libtdsodbc.a, из /usr/lib – libpthreads.a и все три сложены в отдельный каталог.
Дальше, как написано у admin1:
4. Выполнены команды:
# ar -x libiconv.a
# ar -x libpthreads.a
# ar -x libtdsodbc.a
# gcc -shared *.o -o libtdsodbc.so.15. Библиотека libtdsodbc.so.1 переброшена в /usr/lib и:
# ln -s ./libtdsodbc.so.1 ./libtdsodbc.soОднако пока не работает… :S
-
19.11.2009 в 15:52 #5985
Вадим
Участникпока нет времени, чтобы доковырять сам мейк файл из каких библиотек собирается tdsodbc поняв это можно ручками собрать (для примера можно взять линусовую) просто сравнивать интегрированные функции
я еще паралельно озадачил вопросом IBM ибо у меня компилятор Visual Age лицензия
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.