Solaris и сборка QT

Форум для обсуждения любых тем
beaver
Маньяк
Сообщения: 183
Зарегистрирован: 12 фев 2004, 11:26

Solaris и сборка QT

Сообщение beaver »

да, все-таки открываю новую тему :)

в общем, сел собирать QT из сорцов (qt-x11-commercial-3.2.3.tar.gz), предварительно установив следующие пакеты:

- gcc_small-3.3.2-sol9-intel-local.gz
- make-3.80-sol9-intel-local.gz
- mysql-standard-4.0.18-pc-solaris2.8-i386.tar.gz

процедура мне знакомая, положил кое-какие либы куда надо, кое-какие ашники куда надо. забил в "конфигуре" нужные мне ключи - все идет пока что без ошибок. делаю make.

и тут... вываливается на libmysqlclient. причем нехорошо вываливается, показывает пару экранов сегментов памяти и прочего дебуг-мусора.

что делать - ума не приложу. под линухом никогда с такими эррорами не сталкивался. :-(

Аватара пользователя
fa3a
Неотъемлемая часть форума
Сообщения: 619
Зарегистрирован: 25 июл 2003, 17:22
Откуда: Minsk

Сообщение fa3a »

покажи первые 10 строчек еггога и последние 10....
Never touch the running program!!!

Аватара пользователя
chuck
Маньяк
Сообщения: 190
Зарегистрирован: 01 апр 2002, 11:27
Откуда: .msk.su

Сообщение chuck »

опции для configure тоже, неплохо бы....

Аватара пользователя
exe
Неотъемлемая часть форума
Сообщения: 860
Зарегистрирован: 28 ноя 2003, 21:08
Откуда: Минск

Сообщение exe »

Скорее всего надо запускать

./configure --without-mysql
или
./configure --disable-mysql

Поищи core файл и сделай file <core> - кто его сгенерил - make, gcc?

beaver
Маньяк
Сообщения: 183
Зарегистрирован: 12 фев 2004, 11:26

Сообщение beaver »

делалось так:

./configure -thread -debug -platform solaris-g++ -qt-sql-mysql

хинт про -disable-mysql меня повеселил, поскольку mysql необходим как воздух. и к тому же тема отработанная на Linux, где все было хорошо в этом смысле.

дальше. делаю make. и имею:

make[1]: Entering directory '/usr/local/lib/qt-x11-commercial-3.2.3'
cd qmake && make
make[2]: Entering directory '/usr/local/lib/qt-x11-commercial-3.2.3/qmake'
make[2]: 'qmake' is up to date
make[2]: Leaving directory '/usr/local/lib/qt-x11-commercial-3.2.3/qmake'
cd src/moc && make
make[2]: Entering directory '/usr/local/lib/qt-x11-commercial-3.2.3/src/moc'
make[2]: Nothing to be done for 'first'
make[2]: Leaving directory '/usr/local/lib/qt-x11-commercial-3.2.3/src/moc'
cd src && make
make[2]: Entering directory '/usr/local/lib/qt-x11-commercial-3.2.3/src'
test -d ../lib/ || mkdir -p ../lib/

........................

далее идут логи по сборке различных *.o и *.a, все нормально. затем появляется следующее чудо:


Text relocation remains

against symbol offset in file
pipe_sig_handler 0x108 /usr/lib/libmysqlclient.a (libmysql.o)
<unknown> 0x2c9 /usr/lib/libmysqlclient.a (libmysql.o)
pipe_sig_handler 0x2f4 /usr/lib/libmysqlclient.a (libmysql.o)
pipe_sig_handler 0x3bc /usr/lib/libmysqlclient.a (libmysql.o)

........................

и еще пару экранов аналогичных строк. заканчивается все следующими сообщениями:

ld: fatal: relocations remains against allocatable but non-writable sections
make[2]: *** [../lib/libqt-mt.so.3.2.3] Error 1
make[2]: Leaving directory '/usr/local/lib/qt-x11-commercial-3.2.3/src'
make[1]: *** [sub-src] Error 2
make[1]: Leaving directory '/usr/local/lib/qt-x11-commercial-3.2.3'
make[1]: *** [init] Error2

Аватара пользователя
fa3a
Неотъемлемая часть форума
Сообщения: 619
Зарегистрирован: 25 июл 2003, 17:22
Откуда: Minsk

Сообщение fa3a »

ты mysql билдил как статик? если да, то и для qt надо указывать как статик. возможно еще, что mysql у тебя был сбилден и как статик и как шаред (две либы).. в общем посмотри какая берется либа и какая надо.. проще всего попробуй сбилдить против шареной сначала (если есть).. а потом обе статик попробуй сбилдить..
Never touch the running program!!!

beaver
Маньяк
Сообщения: 183
Зарегистрирован: 12 фев 2004, 11:26

Сообщение beaver »

mysql была собранная из пакета (см. выше), сам не собирал. под линухом те же пакеты были, собирались на ура :(

Аватара пользователя
fa3a
Неотъемлемая часть форума
Сообщения: 619
Зарегистрирован: 25 июл 2003, 17:22
Откуда: Minsk

Сообщение fa3a »

ну там же 2.8 пакеты... у тебя 9.. рекомендую -- перекомпиляй сам... может mysql еще чего попросит...
Never touch the running program!!!

beaver
Маньяк
Сообщения: 183
Зарегистрирован: 12 фев 2004, 11:26

Сообщение beaver »

тащу сорцы mysql. если есть какой изветсный подвох со сборкой (как с QT) - просьба сообщить заранее :)

Аватара пользователя
chuck
Маньяк
Сообщения: 190
Зарегистрирован: 01 апр 2002, 11:27
Откуда: .msk.su

Сообщение chuck »

2Beaver: Там в документации к MySQL описываются и особенности сборки под конкретную платформу (что-то типа README.Solaris)... Рекомендуется почитать и его....

beaver
Маньяк
Сообщения: 183
Зарегистрирован: 12 фев 2004, 11:26

Сообщение beaver »

README.Solaris мной не обнаружен

не собирается, сволочь этакая (mysql), вываливается ошибкой:

make[2]: *** [libreadline.a] Error 1
make[2]: Leaving directory '/install/mysql-4.0.18/readline'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/install/mysql-4.0.18'
make: *** [all] Error 2

---------------------
в ./configure --help никаких интересных ключей не нашел, делал просто:

./configure --prefix=/usr/local/mysql

правда наблюдались следующие сообщения:

configure: WARNING: term.h: present but cannot be compiled
configure: WARNING: term.h: check for missing prerequistive headers?
configure: WARNING: term.h: proceeding with the preprocessor's result

а также

configure: WARNING: sys/pterm.h: present but cannot be compiled
configure: WARNING: sys/pterm.h: check for missing prerequistive headers?
configure: WARNING: sys/pterm.h: proceeding with the preprocessor's result



?????


p.s. может каких пакетов не хватает?

Аватара пользователя
fa3a
Неотъемлемая часть форума
Сообщения: 619
Зарегистрирован: 25 июл 2003, 17:22
Откуда: Minsk

Сообщение fa3a »

ты ошибку саму покажи... либо во время компиляции, либо во время линковки.. то что ты продемонстрировал это уже последствия// но не сама ошибка..
короче, склифасовский, зайди в /install/mysql-4.0.18/readline диру и сделай там make... посмотри какие ошибки будут..
Never touch the running program!!!

Аватара пользователя
chuck
Маньяк
Сообщения: 190
Зарегистрирован: 01 апр 2002, 11:27
Откуда: .msk.su

Сообщение chuck »

Переименовываем тред в сборку mysql.... :(

Все опции четко прописаны и указаны:
http://www.mysql.com/doc/en/Solaris.html
Рекомендуется все же почитать, преждечем колбасится :) :

Я вообще не очень вкуриваю, почему берется 4.x версия MySQL?
3.x - недостаточно ?- если его собирать все же...

Берем mysql-max-3.23.58-pc-solaris2.8-i386.tar.gz - c mysql.com, вроде.
Там есть чудесный файлик - manual.txt:
В нем - следующее:
Binaries built on MySQL AB development systems:
<skip>
Sun Solaris 8 x86 with `gcc' 3.2.3
`CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3
-fno-omit-frame-pointer -felide-constructors -fno-exceptions
-fno-rtti" ./configure --prefix=/usr/local/mysql
--localstatedir=/usr/local/mysql/data
--libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex
--enable-thread-safe-client --enable-local-infile
--disable-shared --with-innodb'
Неужели это сложно сделать?

beaver
Маньяк
Сообщения: 183
Зарегистрирован: 12 фев 2004, 11:26

Сообщение beaver »

нет, это сделать несложно.

тока возьми сорцовый пэкэдж mysql-4.0.18 и ткни меня носом в такой вот ноут для солариса. я что-то подобного не заметил.

а таскать бинарники 3го mysql... или "почему берется 4.x версия MySQL"... а что крамольного-то??? захожу на сайто, тисну кнопку "тащить сорцы", тащу сорцы. почему 4го, а не 3го? ну а почему не 2го или 1го?

ладно, пошел отрабатывать хинты.

p.s. между прочим... вышеизложенное относиться к соларис8 (у меня 9)

beaver
Маньяк
Сообщения: 183
Зарегистрирован: 12 фев 2004, 11:26

Сообщение beaver »

переконфигурил mysql замудреным образом:

CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
-fno-rtti" ./configure --prefix=/usr/local/mysql
--localstatedir=/usr/local/mysql/data
--libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex
--enable-thread-safe-client --enable-local-infile
--disable-shared --with-innodb

на make - та же ошибка. дальше:

cd readline && make

результат:

false cru libreadline.a readline.o funmap.o keymap.o vi_mode.o parens.o rltty.o complete.o bind.o isearch.o display.o signals.o util.o kill.o undo.o macro.o input.o callback.o terminal.o xmalloc.o history.o histsearch.o histexpand.o histfile.o nls.o search.o shell.o tilde.o

make: *** [libreadline.a] Error 1

Ответить