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

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

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

slyubez
постоялец
Сообщения: 186
Зарегистрирован: 31.03.2015 07:44:07

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

Сообщение slyubez »

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

Разрабатываю большой проект на Лазаре. При компиляции в 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.
wavebvg
постоялец
Сообщения: 355
Зарегистрирован: 28.02.2008 03:57:35

Сообщение wavebvg »

Удалите папку с собранными объектниками (обычно lib)
Проверьте имена файлов
Если что-то переименовывали, то, возможно, накосячили с регистрами и теперь Вам очень нужно найти косяк и исправить его.
slyubez
постоялец
Сообщения: 186
Зарегистрирован: 31.03.2015 07:44:07

Сообщение slyubez »

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

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

Похоже, я не один такой, и проблема не решается.
http://forum.lazarus.freepascal.org/ind ... ic=21782.0
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

В сообщении чтото про дубликаты, возможно гдето чтото объявлено несколько раз, а компилятору это не нравится
Тут надо полный лог компиляции смотреть
slyubez
постоялец
Сообщения: 186
Зарегистрирован: 31.03.2015 07:44:07

Сообщение slyubez »

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

Как бы его получить...
Пробовал запустить Лазаря под 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 секунд:
Такие же предупреждения есть и в виндовой версии Лазаря, но там они не мешают компиляции. После перемещения файлов в Линухе предупреждения исчезли, но проблема никуда не делась.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

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

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

Но вообще этого быть не должно, возможно проект содержит настройки, провоцирующие создание дублей. Тут поможет лишь пересоздание проекта с нуля и переноса форм и модулей со старого, иногда помогает
slyubez
постоялец
Сообщения: 186
Зарегистрирован: 31.03.2015 07:44:07

Сообщение slyubez »

Тут надо переставлять и Лазаря, и FPC с предварительным сносом подчистую вместе со всеми настройками и прочим мусором. Я уже пробовал переставлять Lazarus без FPC, снеся впридачу каталог настройки - не помогло.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

slyubez
А Вы не делали то, что советует Вам сам компилятор?
slyubez писал(а):Compile with -vd for more details.
slyubez
постоялец
Сообщения: 186
Зарегистрирован: 31.03.2015 07:44:07

Сообщение slyubez »

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

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

Сообщение Vadim »

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

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

Посмотрите все опции, есть интересные, например для уменьшения размера откомпилированной программы (-XX).
-------------------------------------------
Вы когда поставили себе Lazarus с FPC, SVN-ом постарайтесь не сильно злоупотреблять. Дело в том, что новые выкладки для Lazarus выходят каждую ночь и не все эти выкладки нормально действуют на IDE. Лучше всего переходить на новую версию только тогда, когда там появляется такая то фича, которая Вам крайне необходима или исправлена та ошибка, которая Вам раньше нормально жить не давала. ;-)
slyubez
постоялец
Сообщения: 186
Зарегистрирован: 31.03.2015 07:44:07

Сообщение slyubez »

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

SVN я использую только для своего проекта, и изменения были именно в его репозитории. Версии Lazarus и FPC у меня стабильные, и я не беру их обновления с SVN-репозитория Lazarus. У меня три машины с разными ОС, на которых я веду разработку, и все они цепляются к этому репозиторию через либо TortoiseSVN (Windows), либо через RapidSVN (Linux). Возможно, какой-то из клиентов глюкнул при закоммичивании изменений.
А за инфу по размещению ключей спасибо, буду знать.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

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

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

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

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

Vadim
Лучше всего переходить на новую версию только тогда, когда там появляется такая то фича
И как узнать когда эта фича появляется? Бубен в руки что ли :)
slyubez
постоялец
Сообщения: 186
Зарегистрирован: 31.03.2015 07:44:07

Сообщение slyubez »

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

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

Это по какой еще ссылке? Тынц на пост со ссылкой - в студию.
А вообще проблема уже решена.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

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

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

Кстати: я ведь не писал что это ВАШ проект... :roll:
slyubez
постоялец
Сообщения: 186
Зарегистрирован: 31.03.2015 07:44:07

Сообщение slyubez »

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

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

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