Thanks for the quick reply. I had no problem setting up lazarus, following the instructions to get it from the repo on this page:
http://wiki.lazarus.freepascal.org/Lazarus_release_version_for_Ubuntu(in short, run these commands:
gpg --keyserver hkp://pgp.mit.edu:11371 --recv-keys 6A11800F
gpg --export 6A11800F | sudo apt-key add -
sudo echo "deb http://www.hu.freepascal.org/lazarus/ lazarus-stable universe" \
> /etc/apt/sources.list.d/lazarus.list
sudo apt-get update
sudo apt-get install lazarus
)
Here is where I am stuck at on the make, and this is after I've made some changes that I'm not sure will work on RUTIS, my only experience with pascal was scar scripting and I've never done anything with Delphi, so I was just winging it. :)
~/simba/simba-HEAD-947d026/Projects/Simba$ sudo make
[sudo] password for mopar:
fpc -MObjFPC -Scgi -O2 -OoREGVAR -gl -vewnhi -l -Fu. -Fu../../Units/MMLCore/ -Fu../../Units/MMLAddon/ -Fu../../Units/PascalScript/ -Fu../../Units/Misc/ -Fu../../Units/Linux/ -Fu../../Units/Synapse/ -Fu../../Units/RUTIS/ -Fu/usr/lib/lazarus/0.9.28.2/components/synedit/units/x86_64-linux/ -Fu/usr/lib/lazarus/0.9.28.2ideintf/units/x86_64-linux/ -Fu/usr/lib/lazarus/0.9.28.2/lcl/units/x86_64-linux/ -Fu/usr/lib/lazarus/0.9.28.2/lcl/units/x86_64-linux/gtk2/ -Fu/usr/lib/lazarus/0.9.28.2/packager/units/x86_64-linux/ -Fu/usr/lib/lazarus/0.9.28.2/components/mouseandkeyinput/ -oSAMufasaGUI -dUseCThreads -dM_MEMORY_DEBUG -dLCL -dLCLgtk2 Simba.lpr
Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.4.0-2 [2010/03/06] for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling Simba.lpr
Compiling simbaunit.pas
Compiling /home/mopar/simba/simba-HEAD-947d026/Units/MMLAddon/mmlpsthread.pas
Compiling /home/mopar/simba/simba-HEAD-947d026/Units/RUTIS/Rutis_Engine.pas
Compiling /home/mopar/simba/simba-HEAD-947d026/Units/RUTIS/Rutis_Stack.pas
Rutis_Stack.pas(61,14) Hint: Type "PBoolean" redefinition
Rutis_Stack.pas(1067,19) Hint: Conversion between ordinals and pointers is not portable
Rutis_Stack.pas(1087,9) Warning: Conversion between ordinals and pointers is not portable
Rutis_Stack.pas(1087,24) Warning: Conversion between ordinals and pointers is not portable
Rutis_Stack.pas(1088,8) Warning: Conversion between ordinals and pointers is not portable
Rutis_Stack.pas(1088,22) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(234,13) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(234,28) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(235,12) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(235,26) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(279,33) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(285,33) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(297,33) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(308,20) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(315,33) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(320,18) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(407,20) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(430,20) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(435,20) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(586,24) Hint: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(604,11) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(604,36) Error: Can't take the address of constant expressions
Rutis_Engine.pas(609,35) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(629,11) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(634,9) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(634,26) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1103,7) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1103,31) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1181,13) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1181,37) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1182,13) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1182,37) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1230,13) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1230,37) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1231,13) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1231,37) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1279,13) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1279,37) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1280,13) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1280,37) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1321,17) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1321,34) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1326,17) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1326,34) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1330,15) Warning: Conversion between ordinals and pointers is not portable
Rutis_Engine.pas(1330,32) Error: Can't take the address of constant expressions
Rutis_Engine.pas(1358,16) Warning: Class types "TRutisExtMethodType" and "TRutisDllMethodType" are not related
Rutis_Engine.pas(2092,2) Warning: Comment level 2 found
Rutis_Engine.pas(2094,1) Warning: Comment level 2 found
Rutis_Engine.pas(2280) Fatal: There were 12 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: *** [SAMufasaGUI] Error 1
Here is an updated makefile, it currently does have to be ran with root priveleges because the compiler insists on compiling xinputkey.pas into xinputkey.o in the /usr/lib/lazarus/0.9.28.2/components/mouseandkeyinput/ directory, after that is done regular privileges are fine.:
#$ fpc -MObjFPC -Scgi -O2 -OoREGVAR -gl -vewnhi -l -Fu../../Units/MMLCore/ -Fu../../Units/MMLAddon/ -Fu../../Units/PascalScript/ -Fu../../Units/Misc/ -Fu../../../lazarus/components/synedit/units/x86_64-linux/ -Fu../../../lazarus/ideintf/units/x86_64-linux/ -Fu../../../lazarus/lcl/units/x86_64-linux/ -Fu../../../lazarus/lcl/units/x86_64-linux/gtk2/ -Fu../../../lazarus/packager/units/x86_64-linux/ -Fu. -oSAMufasaGUI -dUseCThreads -dM_MEMORY_DEBUG -dLCL -dLCLgtk2 Simba.lpr
.PHONY: default clean
#Set these ----------
platform := x86_64-linux
widgetset := gtk2
lazaruspath := /usr/lib/lazarus/0.9.28.2
#-dUseCThreads on linux, none on windows. :)
platformdefines := -dUseCThreads
#End set there -------
CC := fpc
build := $(CC)
binary := SAMufasaGUI
flags := -MObjFPC -Scgi -O2 -OoREGVAR -gl -vewnhi -l -Fu.
defines := $(platformdefines) -dM_MEMORY_DEBUG -dLCL -dLCL$(widgetset)
units := -Fu../../Units/MMLCore/ -Fu../../Units/MMLAddon/ -Fu../../Units/PascalScript/ -Fu../../Units/Misc/ -Fu../../Units/Linux/ -Fu../../Units/Synapse/ -Fu../../Units/RUTIS/
lclplatpath := $(lazaruspath)/lcl/units/$(platform)/
lazarusunits := -Fu$(lazaruspath)/components/synedit/units/$(platform)/ -Fu$(lazaruspath)ideintf/units/$(platform)/ -Fu$(lclplatpath) -Fu$(lclplatpath)$(widgetset)/ -Fu$(lazaruspath)/packager/units/$(platform)/ -Fu$(lazaruspath)/components/mouseandkeyinput/
default: $(binary)
clean:
rm -f *.o *.ppu $(binary)
$(binary):
$(CC) $(flags) $(units) $(lazarusunits) -o$(binary) $(defines) Simba.lpr
-Fu$(lazaruspath)/ideintf/units/x86_64-linux/
After this gets sorted I'd love to set up an automated build system on my server to spit out amd64 and x86 linux builds when you guys release some new code. After that happens I also plan to replace all the SCAR boards on my forum with Simba boards. :)
edit: Also what URL do I need to clone the git repo?