Compiling /home/rpmbuilder/rpmbuild/BUILD/bricxcc/bricktools/uSerial.pas
uSerial.pas(356,10) Error: function header doesn't match the previous declaration "SerialFlushRead(LongInt,LongInt,var TBytes):Boolean;"
uSerial.pas(35,10) Hint: Found declaration: SerialFlushRead(LongInt,LongInt,var TBytes):Boolean;
uSerial.pas(381,10) Error: function header doesn't match the previous declaration "SerialFlushToChar(LongInt,LongInt,Char,var TBytes):LongInt;"
uSerial.pas(34,10) Hint: Found declaration: SerialFlushToChar(LongInt,LongInt,Char,var TBytes):LongInt;
uSerial.pas(435) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)
This is happening because I declare a TBytes type and use it in my code but newer versions of Free Pascal also declare TBytes in a unit that my code uses and the two types are considered by the compiler to be unique. Depending on the order of includes a unit will use one vs the other. In my code I replaced TBytes with TJCHBytes and it compiles fine now. I can send you my current code base, if you like.
Unfortunately, I am having trouble with sourceforge for the past several weeks where my attempts to commit changes to the repository fail with a "connection refused" error message. I have submitted a ticket to sourceforge to ask their help in fixing this problem and I hope to have it resolved soon.
Make sure you are not using the old http(s) link to the repository. You need to use the new RO svn link.
svn://svn.code.sf.net/p/bricxcc/code/
The old http link is not in-sync with changes I checked in using the new RW link (which is currently causing me grief:
Hi John,
Thanks for the explanation. I'm probably still using the old HTTP link since I created the SVN repository sometime early last year.
I'll take a look later since Fedora is only installed on my home computer.
fantomspiritlib.pas(820,67) Error: Identifier not found "TNXTFileType"
fantomspiritlib.pas(856,78) Error: Identifier not found "TNXTFileType"
fantomspiritlib.pas(1168,42) Error: Identifier not found "NameToNXTFileType"
fantomspiritlib.pas(1179,4) Fatal: There were 3 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)
make: *** [libnxtspirit.so] Error 1
You can't make target "bricxcc" so there is not any point in trying.
You need to tell the compiler where to find the PascalScript source code in order to make "nxttools". That's a simple change to the PSROOT, iirc. In any case that file is under your PascalScript folder somewhere. My version says -Fu$(PSROOT)/Source/lib/$(FPC_TARGET)/ -Fu$(PSROOT)/Source \ as part of the LFLAGS.
The file uCompCommon.pas has the type and function you are missing. They have been renamed. TPBRFileType instead of TNXTFileType. NXTNameToPBRFileType instead of NameToNXTFileType. The uCompCommon.pas changes I checked in and the changes to the other files you are trying to build I have not been able to check in due to my problems with sourceforge. PBR is short for PBrick. These file types are now shared between NXT and EV3 and there are now two functions (another called EV3NameToPBRFileType).