Russian Qt Forum
Ноябрь 24, 2024, 09:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Sigsegv на выходе  (Прочитано 14533 раз)
Tonal
Гость
« Ответ #15 : Март 21, 2010, 15:53 »

gdb - косольный отладчик для mingw.
Как использовать ищи сам там довольно просто, но описывать с0 мне лениво. Улыбающийся

Про сторонние либы - как минимум zlib используется и в Qt, и в MySql. Нужно убедится, что используется одна и та же версия библиотеки (там еще может быть переопределен менеджер памяти).
Кроме того могут использоваться ещё и другие общие библиотеки...

Да, какая версия мингвы?
Записан
Aleksey_Zh
Гость
« Ответ #16 : Март 22, 2010, 08:51 »

Версия mingw - 3.81
zlib - 1.1.4(взял из zlib.h)  и в 2009.02 и в 2010.02 - так что проблема наверное не в ней...
Записан
Tonal
Гость
« Ответ #17 : Март 22, 2010, 12:31 »

gcc --version?

В Qt zlib - 1.1.4, так,
А в MySql какая версия?
Записан
Aleksey_Zh
Гость
« Ответ #18 : Март 22, 2010, 14:18 »

С версией zlib для mysql - сложнее. Перерыл все файлы находящиеся в мускулевском каталоге, нашел только zlib.lib. Lister ничего не дал. Notepad - тоже. Так что даже не знаю откуда и брать информацию.  Грустный

P.S. версия GCC  4.4.0
« Последнее редактирование: Март 22, 2010, 16:10 от Aleksey_Zh » Записан
Tonal
Гость
« Ответ #19 : Март 22, 2010, 18:24 »

Какие ключики оптимизации?
Записан
Aleksey_Zh
Гость
« Ответ #20 : Март 23, 2010, 09:13 »

Using built-in specs.
Target: mingw32
Configured with: ../gcc-4.4.0/configure --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --disable-sjlj-exceptions --enable-share
d --enable-libgcj --enable-libgomp --with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-li
bs --prefix=/mingw --with-gmp=/mingw/src/gmp/root --with-mpfr=/mingw/src/mpfr/root --build=mingw32
Thread model: win32
gcc version 4.4.0 (GCC)
Записан
Tonal
Гость
« Ответ #21 : Март 23, 2010, 11:30 »

Я имел в виду с какими ключами приложение компилится. Ну и либы.

У gcc 4.4 есть ошибочка кодогенерации для win32 проявляющаяся при оптимизации уровня -O3 под процессоры поддерживающие sse2 (например pentium3 и выше).

Обойти её можно перейдя на более низкие уровни оптимизации -O2 или отрубив использование sse2 инструкций: -nosse2.
Записан
Aleksey_Zh
Гость
« Ответ #22 : Март 23, 2010, 16:02 »

LFLAGS        =        -no-sse2 -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows

LIBS        =        -L"d:\Qt\2010_02_1\qt\lib" -lmingw32 -lqtmaind -lQtSqld -lQtGuid -lmysqld -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCored -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32



При сборке Qt - sse2 я специально не отключал. Так что вполне возможно. На 2009.02 действительно другая версия gcc - 3.4.2 (mingw-special), так что попробую пересобрать с другими ключами систему, если не подойдет - с другой версией компилятора. Единственный вопрос - лучше поменять только gcc.exe или всю папку mingw заменить?

P.S. За совет - большое спасибо!!! Как сделаю - отпишусь  Улыбающийся
« Последнее редактирование: Март 23, 2010, 16:20 от Aleksey_Zh » Записан
Tonal
Гость
« Ответ #23 : Март 24, 2010, 08:16 »

Во флагах стоит отключение:
LFLAGS        =        -no-sse2...
Так что может и мимо...
Хотя попробовать стоит. Улыбающийся

А чем и как собирал MySql?
Если он собран другой версией могут быть разнообразные глюки...
Записан
Aleksey_Zh
Гость
« Ответ #24 : Март 24, 2010, 08:25 »

Во флагах исключение ставил уже потом, чтобы потестить. Изначально его не было. Как мускуль собирал - немного позже пришлю трактат  Улыбающийся
Записан
Aleksey_Zh
Гость
« Ответ #25 : Март 26, 2010, 14:21 »

Собрал версию с ключиком - no-sse2 - итог не изменился.
Записан
Tonal
Гость
« Ответ #26 : Март 30, 2010, 08:17 »

Попробуй пересобрать старой версией мингвы
Записан
Aleksey_Zh
Гость
« Ответ #27 : Март 31, 2010, 08:34 »

Пока идет перекомпиляция, хотел бы спросить - почему новая версия mingw не дружит со старой версией creator'а? Поменял всю папку с мингв - в итоге ошибки...

P.S.
В итоге все пересобрал, вручную перекомпилил проект - от ошибки не избавился.
« Последнее редактирование: Март 31, 2010, 14:41 от Aleksey_Zh » Записан
SABROG
Гость
« Ответ #28 : Апрель 03, 2010, 19:25 »

В итоге все пересобрал, вручную перекомпилил проект - от ошибки не избавился.

Значит возвращаемся к debug версии программы и gdb. Смотрим опять на стек.
Записан
Aleksey_Zh
Гость
« Ответ #29 : Апрель 08, 2010, 14:49 »

Возникла еще 1 мысль - база создавалась на совсем старой версии. При переводе системы на новую версию mysql конвертация базы не проводилась. Как думаете - это может послужить причиной?
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.1 секунд. Запросов: 20.