ok, so i decided to break things today and see what problems i would run into... the following is my steps and what i ran into...
1. go to http://wiki.lazarus.freepascal.org/
2. now find something that points to how to install... a. hummm... nothing on the main page jumps out...
b. let's try the FAQ link... nothing there jumps out... c. let's try the Downloads's link... nothing there... d. heck, let's see what the Documentation link might hold...
1. ahhh... an Installation link... ok!
3. click on the Installation link and choose the Getting Lazarus link...
4. OK, now we're finally getting somewhere after 5 to 10 minutes of messing around above looking for a link to get started with...
5. we're on a w2k box so let's do the windows method...
6. first get and install TortioseSVN, reboot... done...
7. now wade back into the wiki and try to find where we were before... ahhh... here it is... now we wade in again...
8. read... read... read... ahhh! finally, an installing lazarus link...
9. read... read... read... ahhh! finally, a section on compiling and installing from SVN... ok! this looks like what we're after so here we go...
10. step 1: create the specified directories...
md c:\freepascal\
md c:\freepascal\binutils\
md c:\freepascal\binutils\i386-win32\
md c:\freepascal\fpc\
md c:\freepascal\fpc\2.5.1\
md c:\freepascal\laz\
ok... 6 directories made...
11. get the bootstrap compiler...
ftp://ftp.freepascal.org/pub/fpc/dist/2.4.2/bootstrap/i386-win32-ppc386.zip ok...
12. unzip the bootstrap compiler into \freepascal\binutils created above... ok... done...
13. time to SVN the sources down...
a. Dir: c:\freepascal\binutils\i386-win32\
URL:
http://svn.freepascal.org/svn/fpcbuild/branches/fixes_2_4/install/binw32 OK... all done... seems ok... not sure but will try it... b. Dir: c:\freepascal\fpc\2.4.3
URL: http://svn.freepascal.org/svn/fpc/branches/fixes_2_4/ wait... i don't have a c:\freepascal\fpc\2.4.3 directory... ok... let's create it real quick...
md c:\freeepascal\fpc\2.4.3
ok... now run SVN checkout on it... ok... no apparent errors... 30M in 17 mminutes... revision 16894...
c. Dir: c:\freepascal\laz
URL: http://svn.freepascal.org/svn/lazarus/trunk
ok... no apparent errors... 25.5M in 8 minutes... revision 29421...
14. step 2: create a .BAT file to compile fpc... ok...
15. step 3: execute the makefpc.bat... ok... that seems to have gone ok but i did see some warnings and deprecated notes fly by... they're too far back for my li'l 5000 line buffer to have retained, though :? i did note that a ppc386.exe and a fpcmake.exe were replaced at some point (my machine is very tied down and tells me these things) but i'm not sure which ones... possibly during the install portion of the execution... moving on to lazarus...
16. step 4: create a fpc.cfg file...
a. i choose to use the fpcmake tool to do this so...
1. cd \freepascal\fpc\2.4.3\bin\i386-win32
2. fpcmkcfg -d basepath=C:\freepascal\fpc\2.4.3\bin\i386-win32 -o fpc.cfg b. ok... that seems to be ok...
17. step 5: create a .BAT file to compile lazarus... ok...
18. step 6: execute makelaz.bat to make lazarus... utoh! problem... i suspect the fpcmkcfg command line in 16a2 to be in error... when i compare the posted fpc.cfg in the wiki with the one generated, the paths are different in the generated one... they all contain "\bin\i386-win32" which is not in the one posted on the wiki...
a. here's the output and the error i get...
C:\freepascal>makelaz
C:\freepascal>set myversion=2.4.3
C:\freepascal>set mypath=c:\freepascal\fpc\2.4.3
C:\freepascal>set mybinutils=c:\freepascal\binutils
C:\freepascal>set
PATH=c:\freepascal\binutils\i386-win32;c:\freepascal\fpc\2.4.3\bin\i386-win32;c:\freepascal\binutils\i386-win32;c:\freepascal\fpc\2.4.3\bin\i386-win32;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\TortoiseSVN\bin;
C:\freepascal>cd c:\freepascal\laz
C:\freepascal\laz>make clean all OPT="-glw2"
make -C ide cleanide
make[1]: Entering directory `C:/freepascal/laz/ide' c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f
make[1]: Leaving directory `C:/freepascal/laz/ide' make -C lcl/interfaces/nogui clean LCL_PLATFORM=nogui make[1]: Entering directory `C:/freepascal/laz/lcl/interfaces/nogui' c:/freepascal/binutils/i386-win32/rm.exe -f
../../units/i386-win32/nogui/interfaces.ppu
c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res
c:/freepascal/binutils/i386-win32/rm.exe -f *.s *_ppas.bat make[1]: Leaving directory `C:/freepascal/laz/lcl/interfaces/nogui' make -C lcl clean
make[1]: Entering directory `C:/freepascal/laz/lcl' c:/freepascal/binutils/i386-win32/rm.exe -f units/i386-win32/alllclunits.ppu units/i386-win32/actnlist.ppu units/i386-win32/arrow.ppu units/i386-win32/avglvltree.ppu units/i386-win32/buttons.ppu units/i386-win32/calendar.ppu units/i386-win32/chart.ppu units/i386-win32/checklst.ppu units/i386-win32/clipbrd.ppu units/i386-win32/clistbox.ppu units/i386-win32/comctrls.ppu units/i386-win32/controls.ppu units/i386-win32/dbactns.ppu units/i386-win32/dbctrls.ppu units/i386-win32/dbgrids.ppu units/i386-win32/dialogs.ppu units/i386-win32/dynamicarray.ppu units/i386-win32/dynhasharray.ppu units/i386-win32/editbtn.ppu units/i386-win32/extctrls.ppu units/i386-win32/extdlgs.ppu units/i386-win32/extendedstrings.ppu units/i386-win32/extgraphics.ppu units/i386-win32/filectrl.ppu units/i386-win32/forms.ppu units/i386-win32/fpcadds.ppu units/i386-win32/graphics.ppu units/i386-win32/graphmath.ppu units/i386-win32/graphtype.ppu units/i386-win32/grids.ppu units/i386-win32/imglist.ppu units/i386-win32/inipropstorage.ppu units/i386-win32/interfacebase.ppu units/i386-win32/lazlinkedlist.ppu units/i386-win32/lclintf.ppu units/i386-win32/lclmemmanager.ppu units/i386-win32/lclproc.ppu units/i386-win32/lclrescache.ppu units/i386-win32/lclstrconsts.ppu units/i386-win32/lcltype.ppu units/i386-win32/lclunicodedata.ppu units/i386-win32/lconvencoding.ppu units/i386-win32/lmessages.ppu units/i386-win32/lresources.ppu units/i386-win32/maskedit.ppu units/i386-win32/menus.ppu units/i386-win32/pairsplitter.ppu units/i386-win32/popupnotifier.ppu units/i386-win32/postscriptprinter.ppu units/i386-win32/printers.ppu units/i386-win32/propertystorage.ppu units/i386-win32/spin.ppu units/i386-win32/stdactns.ppu units/i386-win32/stdctrls.ppu units/i386-win32/stringhashlist.ppu units/i386-win32/textstrings.ppu units/i386-win32/toolwin.ppu units/i386-win32/utrace.ppu units/i386-win32/xmlpropstorage.ppu c:/freepascal/binutils/i386-win32/rm.exe -f units/i386-win32/lclstrconsts.rst c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res
c:/freepascal/binutils/i386-win32/rm.exe -f *.s *_ppas.bat make -C interfaces clean
make[2]: Entering directory `C:/freepascal/laz/lcl/interfaces' make -C win32 clean
make[3]: Entering directory `C:/freepascal/laz/lcl/interfaces/win32' c:/freepascal/binutils/i386-win32/rm.exe -f
../../units/i386-win32/win32/interfaces.ppu
../../units/i386-win32/win32/winext.ppu
../../units/i386-win32/win32/win32def.ppu
../../units/i386-win32/win32/win32proc.ppu ../../units/i386-win32/win32/win32int.ppu c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res
c:/freepascal/binutils/i386-win32/rm.exe -f *.s *_ppas.bat make[3]: Leaving directory `C:/freepascal/laz/lcl/interfaces/win32' make[2]: Leaving directory `C:/freepascal/laz/lcl/interfaces' make[1]: Leaving directory `C:/freepascal/laz/lcl' make -C components clean
make[1]: Entering directory `C:/freepascal/laz/components' c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res
c:/freepascal/binutils/i386-win32/rm.exe -f *.s *_ppas.bat make -C synedit clean
make[2]: Entering directory `C:/freepascal/laz/components/synedit' c:/freepascal/binutils/i386-win32/rm.exe -f units/i386-win32/allsynedit.pas.ppu c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res
c:/freepascal/binutils/i386-win32/rm.exe -f *.s *_ppas.bat make[2]: Leaving directory `C:/freepascal/laz/components/synedit' make -C codetools clean
make[2]: Entering directory `C:/freepascal/laz/components/codetools' c:/freepascal/binutils/i386-win32/rm.exe -f units/i386-win32/codetools.pas.ppu c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res
c:/freepascal/binutils/i386-win32/rm.exe -f *.s *_ppas.bat make[2]: Leaving directory `C:/freepascal/laz/components/codetools' make -C lazcontrols clean
make[2]: Entering directory `C:/freepascal/laz/components/lazcontrols' c:/freepascal/binutils/i386-win32/rm.exe -f lib/i386-win32/lazcontrols.pas.ppu c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res
c:/freepascal/binutils/i386-win32/rm.exe -f *.s *_ppas.bat make[2]: Leaving directory `C:/freepascal/laz/components/lazcontrols' make[1]: Leaving directory `C:/freepascal/laz/components' make -C packager/registration clean
make[1]: Entering directory `C:/freepascal/laz/packager/registration' c:/freepascal/binutils/i386-win32/rm.exe -f ../units/i386-win32/fcllaz.pas.ppu c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res
c:/freepascal/binutils/i386-win32/rm.exe -f *.s *_ppas.bat make[1]: Leaving directory `C:/freepascal/laz/packager/registration' make -C ideintf clean
make[1]: Entering directory `C:/freepascal/laz/ideintf' c:/freepascal/binutils/i386-win32/rm.exe -f units/i386-win32/ideintf.pas.ppu c:/freepascal/binutils/i386-win32/rm.exe -f
c:/freepascal/binutils/i386-win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res
c:/freepascal/binutils/i386-win32/rm.exe -f *.s *_ppas.bat make[1]: Leaving directory `C:/freepascal/laz/ideintf' make -C packager/registration all
make[1]: Entering directory `C:/freepascal/laz/packager/registration' c:/freepascal/binutils/i386-win32/rm.exe -f ../units/i386-win32/fcllaz.ppu c:/freepascal/binutils/i386-win32/gmkdir.exe -p ../units/i386-win32 c:/freepascal/fpc/2.4.3/bin/i386-win32/ppc386.exe -MObjFPC -Scghi -O1 -gl -vewnh i -l -Fu. -FE. -FU../units/i386-win32 -glw2 -di386 fcllaz.pas Hint: Start of reading config file c:\freepascal\fpc\2.4.3\bin\i386-win32\fpc.cfg Hint: End of reading config file c:\freepascal\fpc\2.4.3\bin\i386-win32\fpc.cfg Free Pascal Compiler version 2.4.3 [2011/02/08] for i386 Copyright (c) 1993-2010 by Florian Klaempfl
Target OS: Win32 for i386
Compiling fcllaz.pas
Fatal: Can't find unit system used by fcllaz
Fatal: Compilation aborted
make[1]: *** [fcllaz.ppu] Error 1
make[1]: Leaving directory `C:/freepascal/laz/packager/registration' make: *** [packager/registration] Error 2
C:\freepascal\laz>
i've done this a couple of times and get the same error... however, fixing the paths in the fpc.cfg to remove the "\bin\i386-win32" portion put there by the above fpcmake command in 16a2 seems to fix this problem...
is the fpcmkcfg command in 16a2 incorrect? should the basepath simply be "C:\freepascal\fpc\2.4.3" or will this cause other problems??
correcting the 13 instances to remove the "\bin\i386-win32" portion allow makelaz.bat to execute and there appears to be a valid executable at the end... i'm even able to create, compile and execute the two button "your first lazarus program" tutorial (when i can locate it in the wiki) so i assume that i have a valid fpc and lazarus environment...
am i missing anything? what about cross-compiling capabilities? i should be able to add OS/2 and DOS to this setup pretty easily, right? i know i need libraries and such for them to get started with... are there step by step instructions that will meld with this layout??
thanks for reading... i hope this one wasn't off topic or otherwise undesired as so many of my past posts seemingly have been...
