Build current FPC and Lazarus for Raspbian/zh CN
│
English (en) │
中文(中国大陆) (zh_CN) │
为树莓派构建最新的FPC和Lazarus
Raspbian Buster (基于Debian 10 Buster),在存储库中有开用FPC和Lazarus, but they suffer from the same "design decisions" that don't allow for a nice experience, namely the smooth IDE rebuilding capability based on source packages that is possible with FPC/Lazarus official .deb packages vs the crippled experience with the official Debian/Raspbian packages. One wishes there were official FPC/Lazarus packages for Raspbian as there are for Intel Debian/Ubuntu, which are also frequently updated; not being that the case (at least for now), this page shows the steps for building your own FPC, FPC-source and Lazarus packages for Raspbian. Example shows steps for Lazarus 2.0.6 which includes FPC 3.0.4, most recent at the time of writing. Adjust accordingly.
要求:
- 树莓派4版本B, 4 GB (更少的内存将需要swap), with appropriate cooling (author uses aluminum case that doubles as heatsink) to avoid throttling due to excessive heat
- Latest Raspbian Buster fully updated
步骤:
- 安装 Subversion:
sudo apt install subversion
- 获取bootstrap FPC 编译器。最新版本的编译器是使用其先前版本的编译器来编译。
- 提取编译器。这将创建一个
fpc-3.0.2.arm-linux
目录。(注意:这个文件夹必需存在于一个 linux 文件系统上 [像文档文件夹] ,像 FAT 之类不允许接下来步骤的工作)。 - 在这个目录中,以 pi 用户,运行
./install.sh
- 在四个提示处,回答
Enter, n, n, n
: 这是,接受建议的目录/home/pi/fpc-3.0.2
,没有文本模式IDE,没有文档,没有示例。忽略tar
警告。注意额外文件将被写入到/home/pi
:.fpc.cfg
,.config/fppkg.cfg
,.fppkg/config/default
中。当构建完成后,删除临时的bootstrap编译器,这些文件和/home/pi/fpc-3.0.2
安装目录需要被删除。 - 临时添加FPC安装目录到PATH:
export PATH=$PATH:$HOME/fpc-3.0.2/bin
。如果你在完成FPC构建之前由于任何原因必须重新启动,那么你必需再次执行此步骤。 - 测试是否一切正常:
fpc abcd
。This invokes the just installed compiler trying to compile a non-existent file (abcd). A multiline message will be shown including the compiler version. - 非步骤注释:下面步骤主要基于 这个
- 安装开发库:
sudo apt install libgtk2.0-dev libgpm-dev libncurses-dev
mkdir ~/pascal
cd ~/pascal
svn co https://svn.freepascal.org/svn/fpc/tags/release_3_0_4 fpc
, you have to be online for this and the next step to work.svn co https://svn.freepascal.org/svn/lazarus/tags/lazarus_2_0_6 lazarus
cd lazarus/tools/install
- 编辑
create_fpc_deb.sh
,查找包含下面内容的行:arm) ppcbin=arm; FPCArch=arm;;
, (当前行109). 在其下面复制和粘贴这行,因此它将出现两次。编辑复制的行如下:armhf) ppcbin=arm; FPCArch=arm;;
. 现在保存更改和退出。 - 运行脚本:
./create_fpc_deb.sh fpc ~/pascal/fpc/
。这将使用 bootstrap 编译器编译最新的编译器源文件。它将花费大约11分钟时间。将创建一个.deb
文件:fpc-laz_3.0.4-yymmdd_armhf.deb
;在编译结束时将显示准确的名称。重新命名文件,使用(注意:不要输入括号): mv [在编译结束时显示的文件名称]fpc-laz_3.0.4_armhf.deb
- 你已经完成FPC构建。重启树莓派来摆脱临时路径。
- 卸载 bootstrap FPC:
rm -rf ~/.fpc.cfg ~/.config/fppkg.cfg ~/.fppkg ~/fpc-3.0.2 ~/tmp
。检查你刚刚做了什么:fpc abcd
应该说找不到命令。 - 安装刚刚创建的 FPC Debian 软件包:
sudo dpkg -i ~/pascal/lazarus/tools/install/fpc-laz_3.0.4_armhf.deb
。检查它是否工作:fpc abcd
应该显示新安装的FPC编译器。 cd ~/pascal/lazarus/tools/install
./create_fpc_deb.sh fpc-src ~/pascal/fpc/
. 这个将在大约3分钟时间内构建源文件软件包:fpc-src_3.0.4-yymmdd_armhf.deb
。重新命名: mvfpc-src_3.0.4-yymmdd_armhf.deb
fpc-src_3.0.4_armhf.deb
- 编辑
create_lazarus_deb.sh
,查找包含以下内容的行:echo "$Arch is not supported."
, (当前行 86)。复制上面3行,并在它们下面粘贴:此时,是复制行 83 到 85 ,并在行 85 和86 之间粘贴。在刚刚粘贴的行(行 86-88)中,替换sparc
为armhf
,替换ppcsparc
为ppcarm
。查找下面第一个fi
;在其下面复制和粘贴(在行 91 下面复制和粘贴行 91 ,因此行 91 和 92 是相同的)。在这里对你编码员来说,你正在添加另一个if
到一个嵌套的if
中,与其对应的fi
。现在保存并退出。 ./create_lazarus_deb.sh
。这将构建Lazarus IDE Debian软件包lazarus-project_2.0.6-0_armhf.deb
。它将花费大约需要15分钟。- 安装FPC源文件和Lazarus软件包:
sudo dpkg -i fpc-src_3.0.4_armhf.deb lazarus-project_2.0.6-0_armhf.deb
- 保存
*.deb
到另一个位置,如果以后需要可重新安装或与朋友共享:请记住这是自由软件。 cd
,rm -rf ~/pascal ~/tmp
你现在终于可以享受你完整地工作了,完全更新到最新的 Lazarus 。在树莓派菜单中编程部分找到它。在第一次运行它时将显示一条标题 "Error in EditorMacroScript"信息;这个错误信息也出现在 Raspbian Lazarus 中,这个页面的原作者还不知道是什么原因。现在尝试安装一个软件包,例如:lazreport
;它将工作!
想帮助FPC/Lazarus社区?在互联网上的某个地方托管生产的 .deb
软件包,并在论坛上留言来让每个人都知道; 为每个发布版本都重做软件包。
贡献者和更改
- 简体中文版本由 robsean 于 2020-04-08 创建。