[Lazarus] following wiki for new clean install from SVN...

waldo kitty wkitty42 at windstream.net
Tue Feb 8 16:50:43 CET 2011


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...





More information about the Lazarus mailing list