В общем ситуация такая. Решил я перенести свои fpc исходники на хронилище (Synalogy DS210). Перенос, ну и тут-же попробовал откомпилировать их там. Но оказалось fpc что-то компилирует, а на что-то ругается. Где не компилирует, пишет - что "Невозможно открыть включаемый файл filename.pas". Естетсвенно что файлы имеются.
Начал копать, написал тестовый пример, типа такого:
- Код: Выделить всё
{$I f1.pas}
{$I f2.pas}
{$I f3.pas}
{$I f4.pas}
{$I f5.pas}
{$I f6.pas}
begin
end.
с созданными заранее файлами имеющими простенькие пустые процедурки.
Обнаружил, что если программа имеет 5 и более подключенных файлов (как в примере) то компилятор выдает сообщение об ошибке. Убираешь лишние подключения, неважно какие - все работает. Компилятор считает все файлы, то-есть все f-ки, базовый, и файл "main.o".
Когда перекомпилировал слегка измененную библиотеку DBF, то компилятор ругнулся что не может найти файл "dbf_common.inc", хотя он был (и библиотека раньше компилировалась). Думал какое-то ограничение на одновременное открытие файлов в самбе. Создал программу которая параллельно открывает (создает) десять файлов. Скомпилировал, запустил - заработала (создала).
В конце концов скопировал пример с шестью подключаемыми по {$I...} файлами на локальный диск - fpc его откомпилировала. В 2012м под виндой на этом же Synalogy собирал гиганские програмищи на Delphi, использовал файлы подключаемые по {$I...} и прочие извращения и все было хорошо, а тут такой облом.
Проверил работу хранилища - все тихо, диски в порядке.
У меня fpc 2.6.2 и самба (судя по всему 3.2.8 ). Обновить ни то ни другое не могу комп локальный, два года без обновлений - думаю что если подключу к сети и обновлюсь, все рухнет.
Да к стати, проверил настройки самбы, вроде ни каких ограничений на количество параллельно-открытых файлов не нашел.
Добавлено спустя 6 минут 27 секунд:
Попробовал откомпилировать с ключом -va. На шестой файл ругается:
- Код: Выделить всё
[0.224] Seraching file f6.pas... not found
[0.224] Seraching file F6.pas... not found
Добавлено спустя 9 минут 49 секунд:
Да, и забыл сказать что все это под линуксом.