[Lazarus] Problems creating Lazarus installer + readme/batch patch

Reinier Olislagers reinierolislagers at gmail.com
Wed Aug 1 08:20:34 CEST 2012


Hi list,

Trying to create a Lazarus installer on Windows:

1. gdb path problem
the readme says:
> A.5 Lazarus binaries
> Some binaries from a lazarus/binaries svn tree. These binaries (like gdb and the qt interface dll) are distributed with Lazarus, but are not built from source.

I did
svn co http://svn.freepascal.org/svn/lazarus/binaries/i386-win32/
c:\development\lazbinaries\
and passed that directory to create_intaller as the 3rd argument

create_installer.bat has
:: Path to the lazarus third party binaries checked out of subversion
SET LAZSVNBINDIR=%3
...
SET FPCFULLTARGET=%FPCTARGETCPU%-%FPCTARGETOS%
...

my c:\development\lazbinaries shows this tree:
├───gdb
│   └───bin
└───qt
but this:
:: Path to the directory containing the mingw gdb debugger installation
:: it should have the debugger with the name gdb.exe in its bin subdirectory
SET GDBDIR=%LAZSVNBINDIR%\%FPCFULLTARGET%\gdb

is looking for c:\development\lazbinaries\i386-win32\gdb

What repository should I use instead of the one I specified?

2. inno setup error
I get
C:\Development\lazarus\tools\install\win>"D:\Program Files (x86)\Inno
Setup 5\ISCC.exe" lazarus.iss  1>>installer.log
Error on line 102 in
C:\Development\lazarus\tools\install\win\lazarus.iss: No files found
matching "c:\development\lazbinaries\i386-win32\qt\*.dll"
Compile aborted.

Same problem, really, I'd guess..

Any suggestions?

BTW, patch attached that:
- clarify/update readme (mentioned 2.2 fpc compiler instead of 2.6.0)
- lets you use environment variables for BUILDDIR

Also below are my complete notes on what I did FYI

Thanks,
Reinier

Followed lazarus\tools\install\win\readme.txt; notes below refer to this
and add some details
rem A.1 Inno Setup
rem I used Inno Setup version 5.4.1 (unicode)... dating back to 2010.
Newer versions will probably work, too :)

rem A.3 FPC build sources:
rem Using fixes 2.6 here (the fixes to the latest stable version at this
time)
cd /d c:\development
mkdir c:\development\fpcbuild
svn checkout
http://svn.freepascal.org/svn/fpcbuild/branches/fixes_2_6_0/
c:\development\fpcbuild

rem A.4 Lazarus sources:
rem I've got my Lazarus sources in c:\development\lazarus (downloaded by
fpcup)

rem A.5 Lazarus binaries
rem Hum, where is the svn for that? Let's guess
mkdir c:\development\lazbinaries
svn checkout http://svn.freepascal.org/svn/lazarus/binaries/i386-win32/
c:\development\lazbinaries\

rem A.6 Latest release fpc compiler
rem Have a 2.6.0 i386 compiler in c:\development\fpcbootstrap\ppc386.exe
(downloaded by fpcup)

rem B adjust C:\Development\lazarus\tools\install\win\create_installer.bat
rem didn't do that, instead set environment variables to my situation
mkdir c:\development\lazarusbuild
rem Set BUILDDIR to c:\development\lazarusbuild
SET BUILDDIR=c:\development\lazarusbuild
rem (though in current batch script this won't be picked up and output
goes to c:\temp\lazarusbuild)
rem so edited the batch from:
rem SET BUILDDIR=c:\temp\lazbuild
rem to:
rem if [%BUILDDIR%]==[] SET BUILDDIR=c:\temp\lazbuild

rem set SVN to my situation:
SET SVN="D:\Program Files\SlikSvn\bin\svn.exe"

rem set ISCC to my situation:
SET ISCC="D:\Program Files (x86)\Inno Setup 5\ISCC.exe"

rem check:
SET

rem C run the script
cd /d C:\Development\lazarus\tools\install\win
create_installer.bat c:\development\fpcbuild c:\development\lazarus
c:\development\lazbinaries c:\development\fpcbootstrap\ppc386.exe

It ran for about 8 minutes on my pc.

Log ends up in
C:\Development\lazarus\tools\install\win\installer.log
-------------- next part --------------
Index: tools/install/win/create_installer.bat
===================================================================
--- tools/install/win/create_installer.bat	(revision 38099)
+++ tools/install/win/create_installer.bat	(working copy)
@@ -10,7 +10,7 @@
 
 :: Path to build directory.
 :: In this directory an image of the installation will be built.
-SET BUILDDIR=c:\temp\lazbuild
+if [%BUILDDIR%]==[] SET BUILDDIR=c:\temp\lazbuild
 
 :: Path to the svn executable
 if [%SVN%]==[] SET SVN="c:\program files\subversion\bin\svn.exe"
Index: tools/install/win/readme.txt
===================================================================
--- tools/install/win/readme.txt	(revision 38099)
+++ tools/install/win/readme.txt	(working copy)
@@ -10,7 +10,7 @@
 I used Inno Setup, a free installer for Windows programs. You can download it from http://www.jrsoftware.org/, and you need the QuickStart Pack and during installation choose Inno Setup Preprocessor too.
 
 A.2 Subversion
-The build script assumes you have the Subversion installed. You can download it from http://subversion.tigris.org/, you can use the package with setup in name.
+The build script assumes you have the Subversion client installed. You can download it from http://subversion.tigris.org/, you can use the package with setup in name.
 
 A.3 FPC sources
 The build script assumes you have a svn version of the fpcbuild sources. For information about getting the fpc sources from svn see: http://www.freepascal.org/
@@ -22,7 +22,7 @@
 Some binaries from a lazarus/binaries svn tree. These binaries (like gdb and the qt interface dll) are distributed with Lazarus, but are not built from source.
 
 A.6. The latest release of the fpc compiler
-Currently the latest release is fpc 2.2.0. You need just the ppcXXX.exe (ppc386.exe for win32 and ppcx64.exe for win64) to bootstrap compilation of the current fpc version.
+Currently the latest release is fpc 2.6.0. You need just the ppcXXX.exe (ppc386.exe for win32 and ppcx64.exe for win64) to bootstrap compilation of the current fpc version.
 
 B Adjust create_installer.bat to your configuration
 
@@ -38,9 +38,9 @@
 create_installer.bat FPCSVNDIR LAZSVNDIR LAZSVNBINDIR RELEASE_PPC
 
 where:
-FPCSVNDIR: Path to the fpc sources checked out of svn
-LAZSVNDIR: Path to the lazarus sources checked out of svn
-LAZSVNBINDIR: Path to the svn lazarus binaries
-RELEASE_PPC: Path to fpc 2.0.2 compiler
+FPCSVNDIR: Path to the fpc sources checked out of svn (see A.3)
+LAZSVNDIR: Path to the lazarus sources checked out of svn (see A.4)
+LAZSVNBINDIR: Path to the svn lazarus binaries (see A.5)
+RELEASE_PPC: Path to the latest FPC release compiler (see A.6)
 
 Just do it. Wait about 40 minutes (on 2.6 GHz P-IV). A log file named installer.log will be written to the current directory and setup file will be in the Output subdirectory of the current directory.


More information about the Lazarus mailing list