I'll give that a try, hopefully I can create a SPEC file for that.
afanofosc wrote:
I have checked in revisions to fix the compiler error you mentioned. I made a change to the LoadLSBlock signature in uSpirit.pas and forgot to update the Linux-specific files that referred to that function.
John Hansen
I managed to compile the fantom libraries with Rev. 618.
Patches and SPEC file for building pascalscript from Git repository on Fedora 17.
(4.41 KiB) Downloaded 307 times
Hi,
I made some progress. I managed to compile pascalscript for 64-bit Linux, after some Googling for patches.
However, I ran into a new problem when compiling nxttools and nxtcc.
Both of these failed compilation with an "Fatal: Can't find unit Windows used by uVTConfig" error.
bricxcc fails to compile because there seems to be a missing bricxcc.dpr file.
fantomfpc.pas(1700,40) Error: Identifier not found "BytesToCardinal"
fantomfpc.pas(2504,40) Error: Identifier not found "BytesToCardinal"
fantomfpc.pas(2602,33) Error: Identifier not found "BytesToCardinal"
fantomfpc.pas(2678,40) Error: Identifier not found "BytesToCardinal"
fantomfpc.pas(2761,42) Error: Identifier not found "BytesToCardinal"
fantomfpc.pas(2813,34) Error: Identifier not found "BytesToCardinal"
fantomfpc.pas(3059,38) Error: Identifier not found "BytesToCardinal"
fantomfpc.pas(3060,38) Error: Identifier not found "BytesToCardinal"
fantomfpc.pas(3061,38) Error: Identifier not found "BytesToCardinal"
fantomfpc.pas(3317) Fatal: There were 9 errors compiling module, stopping
I have checked in updates that should fix the uVTConfig.pas error as well as the BytesToCardinal error. I will try to do a better job of testing on Linux more frequently.
There will be a number of issues with Linux GUI forms not matching the current Windows versions due to my having made changes in Delphi on Windows and not making sure to copy all of those same changes over to the Lazarus .lfm file(s). I will work toward remedying that situation over the next week or so.
For Linux I have not recently tried to build bricxcc.dpr as it currently exists in SVN. Instead I just build nxtcc.dpr which is the same as nxttools.dpr but with a code editor with integrated compiler added to the project. I don't think that the full bricxcc project will compile on Linux any time soon.
afanofosc wrote:I have checked in updates that should fix the uVTConfig.pas error as well as the BytesToCardinal error. I will try to do a better job of testing on Linux more frequently.
Hmm. Looks like this is a moving target. I tried building Rev. 621 and am getting various unknown identifier errors for fantom.mak and nexttool.mak.
One new error is the "APPTYPE not supported" error.
$ make -f fantom.mak all
/usr/bin/fpc -S2cdghi -dRELEASE -fPIC -vewnhi -l -Fu. -Fubricktools -FuNXT -dNXT_ONLY spirittest.dpr -ospirittest
Hint: Start of reading config file /etc/fpc.cfg
Compiling Release Version
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.6.0 [2012/05/14] for x86_64
Copyright (c) 1993-2011 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling spirittest.dpr
spirittest.dpr(19,2) Note: APPTYPE is not supported by the target OS
Compiling NXT/uNXTConstants.pas
Compiling bricktools/libspirit.pas
Compiling bricktools/FantomDefs.pas
libspirit.pas(26,2) Warning: Misplaced global compiler switch
spirittest.dpr(528,25) Error: Identifier not found "GetByte"
spirittest.dpr(528,44) Error: Identifier not found "GetByte"
spirittest.dpr(528,63) Error: Identifier not found "GetByte"
spirittest.dpr(528,82) Error: Identifier not found "GetByte"
spirittest.dpr(588,34) Hint: Variable "LSBlock" does not seem to be initialized
spirittest.dpr(604,80) Hint: Variable "lsstate" does not seem to be initialized
spirittest.dpr(777,61) Hint: Variable "pc" does not seem to be initialized
spirittest.dpr(777,57) Hint: Variable "clump" does not seem to be initialized
spirittest.dpr(777,50) Hint: Variable "state" does not seem to be initialized
spirittest.dpr(794) Fatal: There were 4 errors compiling module, stopping
Fatal: Compilation aborted
In the meantime, can you please apply the following two fixes to the Makefiles? The linker complains otherwise. I think it should be benign for other platforms.
For Linux I have not recently tried to build bricxcc.dpr as it currently exists in SVN. Instead I just build nxtcc.dpr which is the same as nxttools.dpr but with a code editor with integrated compiler added to the project. I don't think that the full bricxcc project will compile on Linux any time soon.
afanofosc wrote:I have checked in updates that should fix the uVTConfig.pas error as well as the BytesToCardinal error. I will try to do a better job of testing on Linux more frequently.
NeXTTool.dpr(575,21) Error: Identifier not found "GetByte"
NeXTTool.dpr(575,40) Error: Identifier not found "GetByte"
NeXTTool.dpr(575,59) Error: Identifier not found "GetByte"
NeXTTool.dpr(575,78) Error: Identifier not found "GetByte"
...
NeXTTool.dpr(860) Fatal: There were 4 errors compiling module, stopping
Fatal: Compilation aborted
afanofosc wrote:There will be a number of issues with Linux GUI forms ... For Linux I have not recently tried to build bricxcc.dpr as it currently exists in SVN. Instead I just build nxtcc.dpr which is the same as nxttools.dpr but with a code editor with integrated compiler added to the project.
I do not build the GUI tools. I tried this some months ago without success and i decide let it to future... I am using only the unix.mak, nexttool.mak and wavrsocvtlinux.mak makefiles to build the nbc, nexttool and wavrsocvt tools and i share them as the Debian package in my personal repositary.
Sorry about all the messed up check-ins. I still haven't had a chance, due to a crazy few days of travel and health issues, to bring up my Linux box and make sure everything builds. Hopefully I've caught the last few bits that I broke when I moved some functions from uCommonUtils to uUtilities (don't ask why I thought that was a good idea).