Странная ошибка при компиляции

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

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

Странная ошибка при компиляции

Сообщение slyubez » 20.04.2015 14:58:30

Приветствую уважаемых коллег.

Разрабатываю большой проект на Лазаре. При компиляции в Linux у меня возникает такая бага:
Materials_oper.lpr(40,1) Error: Error while compiling resources. Compile with -vd for more details. Check for duplicates.


Тот же самый проект в винде компилируется и работает без проблем.

Прошу подсказать, где копать.

Добавлено спустя 1 минуту 52 секунды:
Да, забыл. Lazarus 1.2.6, FPC 2.6.4, SVN: Unversioned directory, i386-linux-gtk2.
slyubez
постоялец
 
Сообщения: 176
Зарегистрирован: 31.03.2015 08:44:07

Re: Странная ошибка при компиляции

Сообщение wavebvg » 20.04.2015 15:38:30

Удалите папку с собранными объектниками (обычно lib)
Проверьте имена файлов
Если что-то переименовывали, то, возможно, накосячили с регистрами и теперь Вам очень нужно найти косяк и исправить его.
wavebvg
постоялец
 
Сообщения: 355
Зарегистрирован: 28.02.2008 04:57:35

Re: Странная ошибка при компиляции

Сообщение slyubez » 20.04.2015 16:24:34

Спасибо за подсказку. Я и забыл, что в пингвине файловые идентификаторы регистрочувствительные. Буду рыть.

Добавлено спустя 3 часа 38 минут 59 секунд:
Не помогло, все чисто.

Похоже, я не один такой, и проблема не решается.
http://forum.lazarus.freepascal.org/ind ... ic=21782.0
slyubez
постоялец
 
Сообщения: 176
Зарегистрирован: 31.03.2015 08:44:07

Re: Странная ошибка при компиляции

Сообщение Ism » 20.04.2015 20:50:34

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

Re: Странная ошибка при компиляции

Сообщение slyubez » 20.04.2015 20:58:27

Тут надо полный лог компиляции смотреть

Как бы его получить...
Пробовал запустить Лазаря под sudo из консоли. В процессе компиляции вышло много инфы (даже больше, чем в окно сообщений), но и там ничего особенного.

Добавлено спустя 1 минуту 24 секунды:
Materials_oper.lpr(40,1) Error: Error while compiling resources
Materials_oper.lpr(40,1) Fatal: There were 1 errors compiling module, stopping
TMessagesView.CollectLineParts WARNING: 138<>136 SrcLine=Materials_oper.lpr(40,1) Fatal: There were 1 errors compiling module, stopping
TLazSourceFileManager.OpenEditorFile Fixing file name: /home/slyubez/svn/MatOper/ -> /home/slyubez/svn/MatOper
TLazSourceFileManager.OpenEditorFile skipping directory /home/slyubez/svn/MatOper
TMainIDE.DoBuildProject Compile failed
TSourceEditorSharedValues.GetMainLinkScanner not a pascal source: /home/slyubez/svn/MatOper/Materials_oper.lpi


Добавлено спустя 39 минут 34 секунды:
Сделал тест параметров компилятора и наткнулся на такую вещь (см. вложение). Теперь думаю, что делать дальше.

Добавлено спустя 25 минут 36 секунд:
Попробовал переместить файлы dialogs.ppu, dialogs.o, menus.ppu и menus.o из библиотек fpc во временный каталог. Делаю пересборку - бесполезно, ошибка та же самая.

Добавлено спустя 46 минут 10 секунд:
Такие же предупреждения есть и в виндовой версии Лазаря, но там они не мешают компиляции. После перемещения файлов в Линухе предупреждения исчезли, но проблема никуда не делась.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
slyubez
постоялец
 
Сообщения: 176
Зарегистрирован: 31.03.2015 08:44:07

Re: Странная ошибка при компиляции

Сообщение Ism » 20.04.2015 22:56:56

1 Попробуйте установить Лазерус начистую, дубли могут быть следствием экспериментов со сборкой. Или перекомпиликовать Лазарус с полной очисткой

2 Удалите дубли в одной из директорий

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

Re: Странная ошибка при компиляции

Сообщение slyubez » 20.04.2015 23:02:09

Тут надо переставлять и Лазаря, и FPC с предварительным сносом подчистую вместе со всеми настройками и прочим мусором. Я уже пробовал переставлять Lazarus без FPC, снеся впридачу каталог настройки - не помогло.
slyubez
постоялец
 
Сообщения: 176
Зарегистрирован: 31.03.2015 08:44:07

Re: Странная ошибка при компиляции

Сообщение Vadim » 21.04.2015 03:48:47

slyubez
А Вы не делали то, что советует Вам сам компилятор?
slyubez писал(а):Compile with -vd for more details.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Странная ошибка при компиляции

Сообщение slyubez » 21.04.2015 09:39:46

Честно, я пока не настолько спец по Лазарусу и не смог разобраться, где в среде подставить этот ключ компилятора. Я попробовал скопировать параметры из списка и скормить их файлу /usr/bin/fpc, добавив туда путь и имя lpr-файла проекта и опцию -vd. При запуске компилятор проверил опции и далее на первом же файле после lpr, выдав ряд хинтов и warning, выругался - can't create object file 123.o без указания конкретной причины. Пробовал то же под sudo - не помогает.

Добавлено спустя 32 минуты 1 секунду:
UPD.
Блин, фантастика какая-то. Выяснил, что объектный файл не создается, так как я потер каталог lib. Создаю его и подкаталоги, повторяю компиляцию. Появляется ошибка о ненахождении ресурсного файла проекта - его я тоже вытер. Открываю IDE - ошибка в лексеме lfm-файла основной формы. Закрываю среду. Открываю RapidSVN, вижу ряд конфликтов и изменений. Отменяю изменения по всем файлам. Открываю среду и проект в ней, компилирую - ошибки уже нет, успешная компиляция. Что, откуда, как, почему - непонятно.
slyubez
постоялец
 
Сообщения: 176
Зарегистрирован: 31.03.2015 08:44:07

Re: Странная ошибка при компиляции

Сообщение Vadim » 21.04.2015 11:25:24

Параметры компиляции в Lazarus можно задавать через меню:
Проект -> Параметры проекта -> Параметры компилятора

В пункте "Подробность вывода" есть есть галочка специально для Вас: показывать отладочную информацию (-vd).

Посмотрите все опции, есть интересные, например для уменьшения размера откомпилированной программы (-XX).
-------------------------------------------
Вы когда поставили себе Lazarus с FPC, SVN-ом постарайтесь не сильно злоупотреблять. Дело в том, что новые выкладки для Lazarus выходят каждую ночь и не все эти выкладки нормально действуют на IDE. Лучше всего переходить на новую версию только тогда, когда там появляется такая то фича, которая Вам крайне необходима или исправлена та ошибка, которая Вам раньше нормально жить не давала. ;-)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Странная ошибка при компиляции

Сообщение slyubez » 21.04.2015 11:34:45

Дело в том, что новые выкладки для Lazarus выходят каждую ночь и не все эти выкладки нормально действуют на IDE.

SVN я использую только для своего проекта, и изменения были именно в его репозитории. Версии Lazarus и FPC у меня стабильные, и я не беру их обновления с SVN-репозитория Lazarus. У меня три машины с разными ОС, на которых я веду разработку, и все они цепляются к этому репозиторию через либо TortoiseSVN (Windows), либо через RapidSVN (Linux). Возможно, какой-то из клиентов глюкнул при закоммичивании изменений.
А за инфу по размещению ключей спасибо, буду знать.
slyubez
постоялец
 
Сообщения: 176
Зарегистрирован: 31.03.2015 08:44:07

Re: Странная ошибка при компиляции

Сообщение pupsik » 22.04.2015 19:43:38

Пробовал запустить Лазаря под sudo из консоли
А вы все через судо делаете? :shock:

Error while compiling resources
- ругня на {$R *.res} файл.

Делаю пересборку - бесполезно, ошибка та же самая.
Т.е. лазарь у вас без проблем собирается, а ваш проект с багом?

п.с.
Попробовал я "проблемный проект" по вашей ссылке... У меня он запустился без малейшей проблемы. Подскажите: как можно так сломать лазарь? :)

Vadim
Лучше всего переходить на новую версию только тогда, когда там появляется такая то фича
И как узнать когда эта фича появляется? Бубен в руки что ли :)
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Странная ошибка при компиляции

Сообщение slyubez » 22.04.2015 21:11:12

А вы все через судо делаете?

Если надо пересобрать компоненты или подправить их код - приходится так делать.
Попробовал я "проблемный проект" по вашей ссылке...

Это по какой еще ссылке? Тынц на пост со ссылкой - в студию.
А вообще проблема уже решена.
slyubez
постоялец
 
Сообщения: 176
Зарегистрирован: 31.03.2015 08:44:07

Re: Странная ошибка при компиляции

Сообщение pupsik » 22.04.2015 22:35:03

Похоже, я не один такой, и проблема не решается.
сперва пишут, а потом забывают... Это ваш ТЫНЦ. Сорцы по ссылке лежат (возможно вы не зарегились на форуме, вот и не увидели :) Или это не вы были :lol:

п.с.
А вы слышали о правах на папку? sudo как и su чутку "карму" портит :)

Кстати: я ведь не писал что это ВАШ проект... :roll:
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Странная ошибка при компиляции

Сообщение slyubez » 23.04.2015 17:35:10

сперва пишут, а потом забывают... Это ваш ТЫНЦ.

Теперь понял. Дав этот тынц, я показал, что не только у меня есть эта проблема. Те аглицкие посты писал не я. Я там не зарегистрирован, потому сорцов не вижу.
А вы слышали о правах на папку? sudo как и su чутку "карму" портит

Прекрасно знаю. Вот я и подумал, что Лазарь пытался что-то пересобрать из компонентов, сорцы которых простой юзер может только читать, но не корректировать (и даже не всегда - компилировать и собирать). Вчера вот вносил правку в сорцы LazReport на линуксовой машине с Mint - их ведь без sudo не отредактируешь (исключение - работа под рутом в тех версиях пингвина, которые разрешают такие вещи).
slyubez
постоялец
 
Сообщения: 176
Зарегистрирован: 31.03.2015 08:44:07

След.

Вернуться в Lazarus

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 231

Рейтинг@Mail.ru