Баги в федоре 17

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Баги в федоре 17

Сообщение Сквозняк » 15.09.2012 17:24:16

В федоре 15 всё нормально работало, тот же прект собранный в семнадцатой выдаёт
Код: Выделить всё
TRasterImage.BitmapHandleNeeded: Unable to create handles, using default
TCustomIcon.MaskHandleNeeded: Unable to create maskhandle
TRasterImage.BitmapHandleNeeded: Unable to create handles, using default
TCustomIcon.MaskHandleNeeded: Unable to create maskhandle
ERROR in LCL: TWinControl.CreateWnd: The nogui widgetset does not support visual controls.
Creating gdb catchable error:

  $000000000062EB15
  $00000000005FAF36
  $00000000005F8ECB
  $00000000006F9172
  $000000000058C4B5
  $0000000000595592
  $0000000000597091
  $00000000006F7674
  $00000000006FA33E

Глюкодромщики создают обновлениями проблемы на ровном месте :twisted: Куда копать чтобы обойти баг?
Сквозняк
энтузиаст
 
Сообщения: 1129
Зарегистрирован: 29.06.2006 22:08:32

Re: Баги в федоре 17

Сообщение Максим » 15.09.2012 18:28:44

Проверить, какая библиотека виджетов используется, убедиться, что это не NoGui. Обновить FPC/Lazarus. Воспроизвести на компактном проекте и создать багрепорт.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Баги в федоре 17

Сообщение Сквозняк » 15.09.2012 19:46:13

Увы, лазарус 1.0, виджет обычный - gtk2. Какой багрепорт, там его сто лет разбирать будут а у меня сейчас проект колом встал от инноваторов из проекта "Лазарус", похоже их Поттеринг покусал - заменили хоть и некомпактный но удобный текстовой файл project1.lrs на бинарный project1.res Как теперь собирать из коммандной строки проекты содержащие формы с картинками?

Вот компактный пример http://narod.ru/disk/61044990001.de2c5e ... ar.gz.html Для сборки использовать скрипты make_*.sh Раньше такое работало, а теперь нет. Как сделать чтобы работало кроме вариантов на "обновление" на предыдущую версию лазаруса?
Сквозняк
энтузиаст
 
Сообщения: 1129
Зарегистрирован: 29.06.2006 22:08:32

Re: Баги в федоре 17

Сообщение Ism » 15.09.2012 20:50:57

Очень похоже на то, что программа не может найти so библиотеку и падает.
Возможно надо сделать ссылки на gtk2 библиотеки с измененными именами

Добавлено спустя 1 минуту 51 секунду:
А еще вероятней поврежденные конфиги лазаруса
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Баги в федоре 17

Сообщение Сквозняк » 15.09.2012 21:17:14

Да, похоже в дистрибутив не установились какие-то либы, в установщике полно чудес: то русский язык не установился, то поставился один английский, хотя на установочном диске они были и галочки для установки тоже были поставлены.
Изображение
А лазарус молчит и ни о чём не сообщает, только по умолчанию подсовывает ресурсы res вместо lpr. Если выставить lpr, то всё равно создаются res. В принципе было бы всё равно, но эти res из коммандной строки нормально не прикомпиливаются. Попробую сгонять в федору 15 и протестировать там. Хорошо, что не обновил дистрибутив а поставил новый на свободный раздел. Без сюрпризов обновления обходятся редко - в этот раз сломали джойстик а для починки используется патч накатывающий новое ядро для которого amd ещё недописала драйвер :P

Добавлено спустя 1 час 10 минут 18 секунд:
В федоре 15.1 lazarus 1.0 всё также внаглую подсовывает res вместо lrs, но проекты нормально собираются скриптом и весят 17МиБ вместо 10Миб в федоре 17. В обоих дистрибутивах lazarus и fpc ставились из одних и тех же rpm.
Сквозняк
энтузиаст
 
Сообщения: 1129
Зарегистрирован: 29.06.2006 22:08:32

Re: Баги в федоре 17

Сообщение Ism » 15.09.2012 23:33:40

Это легко чинится
1 Удалить все пакеты лазаруса и fpc
2 Проверить удалились ли действительно папки в /usr/lib
3 удалить файл /etc/fpc.cfg
4 удалить /home/user/./lazarus
5 установить все по новой

Как вариант можно заставить старую версию лазаруса из реп, чтоб вытянуло зависимости
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Баги в федоре 17

Сообщение Сквозняк » 16.09.2012 00:34:52

Практически починил, коллективный разум бывает полезен :D , но ситуация с типом используемых ресурсов всё равно неясная. В старом проекте присутствуют оба, но использовать из коммандной строки можно только lrs. Попутно нашёл неточность в файле /etc/fpc.cfg
Код: Выделить всё
-Fl/usr/lib/gcc/x86_64-redhat-linux/4.6.1

а путь у меня /usr/lib/gcc/x86_64-redhat-linux/4.7.0 Исправил, но разницы не заметил.
Узнать работоспособные параметры коммандной строки можно если кликнуть по кнопке "Показать параметры" в вышеприведённом окошке. Вот так, работает:
Код: Выделить всё
fpc project1.lpr -Fu/usr/lib64/lazarus/lcl/units/x86_64-linux/gtk2 -dLCL -dLCLgtk2 -Fu/usr/lib64/lazarus/lcl/units/x86_64-linux  -Fu/usr/lib64/lazarus/components/lazutils/lib/x86_64-linux/ -Tlinux -CR -O3 -Mfpc

А было
Код: Выделить всё
fpc project1.lpr -Fu/usr/lib64/lazarus/lcl/units/x86_64-linux/* -Fu/usr/lib64/lazarus/lcl/units/x86_64-linux  -Fu/usr/lib64/lazarus/components/lazutils/lib/x86_64-linux/   -CR -O3 -Mfpc

То есть использовался виджет по умолчанию и всё работало пока в дистрибутив не добавили gtk3. Так понимаю, что и компилятор и собранная программа, без указания конкретной версии gtk, пытались работать с самой последней и получалась сложная в понимании лажа. Теперь будет наука - нужно всегда иметь ввиду будущие нахальные и несовместимые версии виджетов и заранее приготовить лопату чтобы от них обороняться :D
Сквозняк
энтузиаст
 
Сообщения: 1129
Зарегистрирован: 29.06.2006 22:08:32

Re: Баги в федоре 17

Сообщение Ism » 16.09.2012 01:20:18

Если раньше проект открывали в другой версии лазаруса , то могут быть непонятые глюки. В тяжелых случаях нужно пересоздавать проект с переносом кода
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Баги в федоре 17

Сообщение Сквозняк » 16.09.2012 03:12:10

Вначале использовались версии лазаруса из репозиториев, потом rpm с сайта лазаруса, поэтому их было много и проект в них не просто открывался. Переносить что-то желания нет, остаётся надеяться, что ресурсы lrs не выпилят совсем для экономии дискового пространства. Да и глупость это, текстовой файл теоретически можно починить в простом редакторе а если сломается двоичный ресурсный файл, то суши вёсла. Если так нужно экономить место, то пусть сжимают текстовые файлы зипом.
Сквозняк
энтузиаст
 
Сообщения: 1129
Зарегистрирован: 29.06.2006 22:08:32

Re: Баги в федоре 17

Сообщение Максим » 16.09.2012 16:52:11

Сквозняк
Версия FPC какая? 2.7.1 ревизии выше, чем 22340? Тогда ожидайте весёлых глюков.

Используйте 2.6.0 или 2.6.1.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Баги в федоре 17

Сообщение Сквозняк » 19.09.2012 18:32:48

Зачем мне самые последние версии FPC? С базами данных не работаю а для клепания гуёв вполне достаточно последней стабильной версии лазаруса, которая тянет FPC 2.6.0 Да и последняя версия лазаруса скорее нужна не для дела а чтобы протестить баги в новых версиях - новые компоненты не используются.
Сквозняк
энтузиаст
 
Сообщения: 1129
Зарегистрирован: 29.06.2006 22:08:32


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 234

Рейтинг@Mail.ru