Sign in Join
Wiki copytemporary

Build current FPC and Lazarus for Raspbian/zh CN: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Build current FPC and Lazarus for Raspbian/zh CN

OldNewLine
1+## 为树莓派构建最新的 FPC 和 Lazarus
2+
3+Raspbian Buster (基于Debian 10 Buster),在存储库中有开用 FPC 和 Lazarus,但是它们也同样受害于"设计决策",不允许有一个好的体验,即,使用来自 FPC/Lazarus 官方.deb的源文件软件包来平滑地重新构建的IDE也是可能的,VS 官方 Debian/Raspbian 软件包的残废体验。有人希望 Raspbian 有官方版本的 FPC/Lazarus 软件包,就像有 Intel 版本 Debian/Ubuntu 一样,也经常更新;不像这样情况(至少现在是这样)。
4+
5+这个页面展示了为 Raspbian 构建自己的 FPC,FPC 源文件软件包和Lazarus软件包的步骤。示例展示了构建 Lazarus 2.0.6 和其包含的 FPC 3.0.4 的步骤。在构建最新的版本时,相应的调整。
6+
7+要求:
8+
9+- 树莓派 4 版本 B, 4 GB (更少的内存将需要swap),使用合适的冷却器 (作者使用双层铝外壳作为散热器)来避免因过热而阻碍性能。
10+- 最新的 Raspbian Buster 完全的更新过。
11+
12+步骤:
13+
14+1. 安装 Subversion: `sudo apt install subversion`
15+2. 获取bootstrap [FPC 编译器](https://sourceforge.net/projects/freepascal/files/Linux/3.0.2/fpc-3.0.2.arm-linux-eabihf-raspberry.tar/download)。最新版本的编译器是使用其先前版本的编译器来编译的。
16+3. 提取编译器。这将创建一个`fpc-3.0.2.arm-linux`目录。(注意:这个文件夹必需存在于一个 linux 文件系统上 \[像文档文件夹\] ,像 FAT 之类不允许接下来步骤的工作)。
17+4. 在这个目录中,以 pi 用户,运行`./install.sh`
18+5. 在四个提示处,回答`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`安装目录需要被删除。
19+6. 临时添加FPC安装目录到PATH: `export PATH=$PATH:$HOME/fpc-3.0.2/bin`。如果你在完成FPC构建之前由于任何原因必须重新启动,那么你必需再次执行此步骤。
20+7. 测试是否一切正常: `fpc abcd`。这将援引刚刚安装的编译器来尝试编译一个不存在的文件(abcd)。这将显示一条包含编译器版本的多行消息。
21+8. 非步骤注释:下面步骤主要基于 [这个](https://wiki.lazarus.freepascal.org/How_to_setup_a_FPC_and_Lazarus_Ubuntu_repository#Creating_the_deb_files_yourself)
22+9. 安装开发库: `sudo apt install libgtk2.0-dev libgpm-dev libncurses-dev`
23+10. `mkdir ~/pascal`
24+11. `cd ~/pascal`
25+12. `svn co https://svn.freepascal.org/svn/fpc/tags/release_3_0_4 fpc`,你必须联网才能完成这项工作和接下来的工作。
26+13. `svn co https://svn.freepascal.org/svn/lazarus/tags/lazarus_2_0_6 lazarus`
27+14. `cd lazarus/tools/install`
28+15. 编辑`create_fpc_deb.sh`,查找包含下面内容的行: `arm) ppcbin=arm; FPCArch=arm;;`, (当前行109). 在其下面复制和粘贴这行,因此它将出现两次。编辑复制的行如下: `armhf) ppcbin=arm; FPCArch=arm;;`. 现在保存更改和退出。
29+16. 运行脚本: `./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`
30+17. 你已经完成FPC构建。重启树莓派来摆脱临时路径。
31+18. 卸载 bootstrap FPC: `rm -rf ~/.fpc.cfg ~/.config/fppkg.cfg ~/.fppkg ~/fpc-3.0.2 ~/tmp`。检查你刚刚做了什么: `fpc abcd`应该说找不到命令。
32+19. 安装刚刚创建的 FPC Debian 软件包: `sudo dpkg -i ~/pascal/lazarus/tools/install/fpc-laz_3.0.4_armhf.deb`。检查它是否工作: `fpc abcd` 应该显示新安装的FPC编译器。
33+20. `cd ~/pascal/lazarus/tools/install`
34+21. `./create_fpc_deb.sh fpc-src ~/pascal/fpc/`. 这个将在大约3分钟时间内构建源文件软件包: `fpc-src_3.0.4-yymmdd_armhf.deb`。重新命名: mv `fpc-src_3.0.4-yymmdd_armhf.deb` `fpc-src_3.0.4_armhf.deb`
35+22. 编辑`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`。现在保存并退出。
36+23. `./create_lazarus_deb.sh`。这将构建Lazarus IDE Debian软件包 `lazarus-project_2.0.6-0_armhf.deb`。它将花费大约需要15分钟。
37+24. 安装FPC源文件和Lazarus软件包: `sudo dpkg -i fpc-src_3.0.4_armhf.deb lazarus-project_2.0.6-0_armhf.deb`
38+25. 保存`*.deb`到另一个位置,如果以后需要可重新安装或与朋友共享:请记住这是自由软件。
39+26. `cd`, `rm -rf ~/pascal ~/tmp`
40+
41+你现在终于可以享受你完整地工作了,完全更新到最新的 Lazarus 。在树莓派菜单中编程部分找到它。在第一次运行它时将显示一条标题 "Error in EditorMacroScript"信息;这个错误信息也出现在 Raspbian Lazarus 中,这个页面的原作者还不知道是什么原因。现在尝试安装一个软件包,例如:`lazreport`;它将工作!
42+
43+想帮助FPC/Lazarus社区?在互联网上的某个地方托管生产的 `.deb`软件包,并在论坛上留言来让每个人都知道; 为每个发布版本都重做软件包。
44+
45+## 贡献者和更改
46+
47+- 简体中文版本由 robsean 于 2020-04-08 创建。
48+
49+---
50+*From the Free Pascal wiki, page "Build current FPC and Lazarus for Raspbian/zh CN", as it stood on 2020-05-09 after a change by Robsean, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
51+Category: Install
52+Category: Linux
53+Category: Raspberry Pi

Back to history