-
Notifications
You must be signed in to change notification settings - Fork 35
/
build-HOWTO.txt
69 lines (49 loc) · 2.73 KB
/
build-HOWTO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
To build FreeShip from sources you will need Lazarus 2.0.* FPC 3.0.4
Use project options FreeShip.lpi
Adjust Config and Target to Gtk2 or win32 and and to your OS environment.
Unselect "Win32 gui application" because for time being some output goes to console
You do not need Qt4 anymore.
In Windows
you need git for Windows. Please set it to upload texts in Unix style.
Also you need:
- Cygwin with following packages: sed,grep,binutils,file,cut,git,zip,imagemagic
- MinGW32 to build FreeShip
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
copy these libraries into project root
In Linux
install packages:
libmagic.dev
Packaging
If you want to package installation package you should run release.sh
Some prerequisites have to be fulfilled first:
- build versinfo utility. Build Utils/versinfo.lpi
- release.sh and zipbin.sh are Bash scripts that call some non-windows utils: md5sum, grep, sed, file, cut, zip.
In Linux you usually already have them out of box. If not, please install.
In Windows you need to install something like Cygwin, as it mentioned above, or Msys2.
Good recent news: In Windows 10 these binaries can be installed natively (from Ubuntu) and you can use Bash as command line.
Cross compilation from Linux smd64 to Linux i386
Follow Lazarus Cross Compilation to make cross compilation till simple test.pas start working
Here is Ubuntu setup
Install following packages:
sudo apt install gcc-multilib
sudo apt install libx11-dev:i386
sudo apt install pixbuf2.0-0:i386
sudo apt install libgtk2.0-0:i386
sudo apt install libpangocairo-1.0-0:i386
sudo apt install libmagic-dev:i386
Create links:
sudo ln -s -f /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so
sudo ln -s -f /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so
sudo ln -s -f /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so
sudo ln -s -f /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 /usr/lib/i386-linux-gnu/libgobject-2.0.so
sudo ln -s -f /lib/i386-linux-gnu/libglib-2.0.so.0 /lib/i386-linux-gnu/libglib-2.0.so
sudo ln -s -f /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 /usr/lib/i386-linux-gnu/libgthread-2.0.so
sudo ln -s -f /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 /usr/lib/i386-linux-gnu/libgmodule-2.0.so
sudo ln -s -f /usr/lib/i386-linux-gnu/libpango-1.0.so.0 /usr/lib/i386-linux-gnu/libpango-1.0.so
sudo ln -s -f /usr/lib/i386-linux-gnu/libcairo.so.2 /usr/lib/i386-linux-gnu/libcairo.so
sudo ln -s -f /usr/lib/i386-linux-gnu/libatk-1.0.so.0 /usr/lib/i386-linux-gnu/libatk-1.0.so
sudo ln -s -f /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 /usr/lib/i386-linux-gnu/libpangocairo-1.0.so
In project settings set target i386.
Good luck!