сборка freetds под AIX

Главная Форумы POWER Systems AIX/Hardware сборка freetds под AIX

Просмотр 24 веток ответов
  • Автор
    Сообщения
    • #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, о чем написано на сайте)

    • #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 Express

      The 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:

    • #5661
      Michael
      Участник

      http://pware.hvcc.edu – здеся есть как freetds, так и unixODBC, собранные под 5.3. Рискните, первый! 😉
      Нам, кстати, тоже потребовалось к мелкомягкому сиквелу прицепиться, будем работать в параллельном режиме. О результатах сообщу…

    • #5686
      Вадим
      Участник

      в принципе есть сборка от ИзиСофта
      http://www.easysoft.com/cgi-bin/productdownload.cgi
      в которой меня устраивает все кроме цены и дикого желания софтины иметь доступ в интернет для проверки лицензии

    • #5687
      Вадим
      Участник

      mih писал(а):

      http://pware.hvcc.edu – здеся есть как freetds, так и unixODBC, собранные под 5.3. Рискните, первый! 😉
      Нам, кстати, тоже потребовалось к мелкомягкому сиквелу прицепиться, будем работать в параллельном режиме. О результатах сообщу…

      хм, попробовал из комплекта pWare, как Вы правильно отметили там есть только сборка под 53 что не сильно страшно, но аналогично отсуствует libtdsodbc.so, что опять таки не дает возможность запустить odbc по человечески

    • #5689
      andrewk
      Участник

      делаете LPAR, даете мне к нему доступ через интернет, я собираю и вы радуетесь жизни. И замечу – все бесплатно 🙂
      Да, использовать LPAR не по назначению не буду. Разве что установлю необходимый для сборки софт.

    • #5692
      Вадим
      Участник

      так не дадут мне сделать наши безопасники 🙂
      вот если бы вы подсказали как это сделать, ну или хотя бы намекнули в какую сторону копать было бы намного интереснее
      проблема как я понимаю кроется в ключах настройки gcc или даже наверное в ключах линковки

    • #5694
      Michael
      Участник

      вот если бы вы подсказали как это сделать, ну или хотя бы намекнули в какую сторону копать было бы намного интереснее

      Прысоединяюсь к предыдущему оратору! :cheer:

    • #5704
      Вадим
      Участник

      http://forums.oracle.com/forums/thread.jspa?messageID=2502982
      есть вот такой вариант решения, но он не подходит из соображений непонятности лицензирования

    • #5706
      andrewk
      Участник

      я бы с удовольствием подсказал, если бы точно знал. проблема абсолютно однозначно в ключах линковки, но какие конкретно надо указать – надо смотреть и пытаться сделать. Поскольку у меня сейчас AIX’а под боком, увы, нет, то ответ я дать не смогу. Наверняка Вы это уже читали, но на всякий случай:

      http://lists.ibiblio.org/pipermail/freetds/2004q3/016748.html

    • #5707
      andrewk
      Участник

      admin1 писал(а):

      http://forums.oracle.com/forums/thread.jspa?messageID=2502982
      есть вот такой вариант решения, но он не подходит из соображений непонятности лицензирования

      прикольное решение. Всего-то требует лицензию на Oracle SE 🙂

    • #5708
      andrewk
      Участник

      btw есть еще DataDirect, который тоже поставляет ODBC-драйвера для кучи СУБД под AIX. Не знаю, насколько он более выгодный, чем easysoft

      http://www.datadirect.com/products/odbc/matrix/connectodbc.htm

    • #5710
      Вадим
      Участник

      andrewk писал(а):

      я бы с удовольствием подсказал, если бы точно знал. проблема абсолютно однозначно в ключах линковки, но какие конкретно надо указать – надо смотреть и пытаться сделать. Поскольку у меня сейчас AIX’а под боком, увы, нет, то ответ я дать не смогу. Наверняка Вы это уже читали, но на всякий случай:

      http://lists.ibiblio.org/pipermail/freetds/2004q3/016748.html

      хм попробую, чтото видимо когда я искал, пропустил этот вариант…
      Спасибо, приступаю к попыткам 🙂

    • #5721
      Вадим
      Участник

      хм и увы, данная ссылка не помогла http://lists.ibiblio.org/pipermail/freetds/2004q3/016748.html
      по ряду причин
      1. я так и не нашел где это подправить
      2. у меня компиляется без ошибок на самом деле

    • #5738
      andrewk
      Участник

      а это на самом деле было про линковку, хоть там и написано compile 😉

    • #5744
      Вадим
      Участник

      andrewk писал(а):

      а это на самом деле было про линковку, хоть там и написано compile 😉

      это понятно, просто где это править?

    • #5779
      Вадим
      Участник

      похоже идеи кончились

    • #5785
      andrewk
      Участник

      для того, чтобы были идеи, надо, чтобы было, где собирать

    • #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.

      теперь думаю что же делать дальше

    • #5826
      Вадим
      Участник

      в принципе собрал, без проблем с помощью ключа компиляции устанавливающий размер FD_SETSIZE но вызова всеравно нету

    • #5827
      Вадим
      Участник

      libpthreads.a нужна вот эта библиотека!

    • #5835
      Вадим
      Участник

      вобщем нашел я эти библиотеки собрал теперь ошибка
      [IM004][unixODBC][Driver Manager]Driver’s SQLAllocHandle on SQL_HANDLE_HENV failed
      [ISQL]ERROR: Could not SQLConnect

    • #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

      и вобщем то вот она эта библиотека!!!

    • #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.1

      5. Библиотека libtdsodbc.so.1 переброшена в /usr/lib и:
      # ln -s ./libtdsodbc.so.1 ./libtdsodbc.so

      Однако пока не работает… :S

    • #5985
      Вадим
      Участник

      пока нет времени, чтобы доковырять сам мейк файл из каких библиотек собирается tdsodbc поняв это можно ручками собрать (для примера можно взять линусовую) просто сравнивать интегрированные функции
      я еще паралельно озадачил вопросом IBM ибо у меня компилятор Visual Age лицензия

Просмотр 24 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.