Unix RTL не компилится.

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Unix RTL не компилится.

Сообщение @!!ex » 22.04.2008 14:17:25

rtl/linux/ostypes.inc
{ mode_t possible values }
S_IRUSR = %0100000000; { Read permission for owner }
S_IWUSR = %0010000000; { Write permission for owner }
S_IXUSR = %0001000000; { Exec permission for owner }
S_IRGRP = %0000100000; { Read permission for group }
S_IWGRP = %0000010000; { Write permission for group }
S_IXGRP = %0000001000; { Exec permission for group }
S_IROTH = %0000000100; { Read permission for world }
S_IWOTH = %0000000010; { Write permission for world }
S_IXOTH = %0000000001; { Exec permission for world }
S_IRWXU = S_IRUSR or S_IWUSR or S_IXUSR;


Ругаится на процент. Говорит некорректный символ.
/usr/share/fpcsrc/rtl/linux/ostypes.inc(267,16) Fatal: illegal character "'%'" ($25)

rtl/unix/bunxh.inc
Function FpSigProcMask(how : cInt; nset : pSigSet; oset : pSigSet): cInt; external name 'FPC_SYSC_SIGPROCMASK';
Function FpSigProcMask(how : cInt; Const nset : TSigSet; var oset : TSigSet): cInt; external name 'FPC_SYSC_SIGPROCMASK';

Ругаится на перезагруженный функции. Говорит, что overload отключен.
/usr/share/fpcsrc/rtl/unix/bunxh.inc(24,15) Error: Procedure overloading is switched off

rtl/unix/baseunix.pp
Unit BaseUnix;

Interface
{$inline on}
Uses UnixType;

{$i osdefs.inc} { Compile time defines }

{$i aliasptp.inc}

{$packrecords C}

{$ifndef FPC_USE_LIBC}
{$define FPC_USE_SYSCALL}
{$endif}

{$i errno.inc} { Error numbers }
{$i ostypes.inc}

{$ifdef FPC_USE_LIBC}
const clib = 'c';
{$define FPC_IN_BASEUNIX}
{$i oscdeclh.inc}
{$ELSE}
{$i bunxh.inc} { Functions}
{$ENDIF}

function fpgeterrno:longint; external name 'FPC_SYS_GETERRNO';
procedure fpseterrno(err:longint); external name 'FPC_SYS_SETERRNO';
property errno : cint read fpgeterrno write fpseterrno;


/usr/share/fpcsrc/rtl/unix/baseunix.pp(44,3) Fatal: Syntax error, "IMPLEMENTATION" expected but "PROPERTY" found

Откуда ошибки то взялись и как их побороть????

OpenSuse 10.2
FPC 2.0.4
Lazarus 0.9.22
@!!ex
новенький
 
Сообщения: 35
Зарегистрирован: 12.04.2008 11:55:32

Сообщение Максим » 22.04.2008 23:56:27

Это RTL какой версии компилятора? Если 2.2.1 и выше, то для начала надо обновить имеющийся в системе FPC до 2.2.0.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Сообщение @!!ex » 23.04.2008 00:35:03

Да вроде все из одного пакета...
Хотя есть вероятность что я ступил, поставил FPC версии 2.0.4, а FPC SRC 2.2.0 Они у меня в одном месте лежат. Может действительно попутал...
@!!ex
новенький
 
Сообщения: 35
Зарегистрирован: 12.04.2008 11:55:32

Сообщение @!!ex » 23.04.2008 08:36:04

Все было правильно. Версия 2.0.4
ОДнако обновился до 2.2.0, эти проблемы исчезли. Появились новые....
ругается на какой то lineinfo
/usr/share/fpcsrc/rtl/linux/system.pp(9,5) Fatal: Can't find unit lineinfo used by Engine
@!!ex
новенький
 
Сообщения: 35
Зарегистрирован: 12.04.2008 11:55:32

Сообщение @!!ex » 23.04.2008 09:07:19

Все. Разобрался...
боже... нужно подключить СТОЛЬКО путей....
@!!ex
новенький
 
Сообщения: 35
Зарегистрирован: 12.04.2008 11:55:32

Сообщение Максим » 23.04.2008 23:55:22

@!!ex писал(а):боже... нужно подключить СТОЛЬКО путей....

Убедитесь, что у вас имеется корректный fpc.cfg (в каталоге /etc либо домашнем каталоге). Если он отсутствует, его можно сгенерировать скриптом samplecfg (имеется в комплекте с компилятором).

В переменную $PATH должен прописываться только путь к экзешнику компилятора (если вообще должен). В противном случае возможны проблемы при компиляции.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва


Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru