Sign in Join
Wiki copytemporary

Build current FPC and Lazarus for Raspbian/zh CN

English · 中文(中国)

为树莓派构建最新的 FPC 和 Lazarus

Raspbian Buster (基于Debian 10 Buster),在存储库中有开用 FPC 和 Lazarus,但是它们也同样受害于"设计决策",不允许有一个好的体验,即,使用来自 FPC/Lazarus 官方.deb的源文件软件包来平滑地重新构建的IDE也是可能的,VS 官方 Debian/Raspbian 软件包的残废体验。有人希望 Raspbian 有官方版本的 FPC/Lazarus 软件包,就像有 Intel 版本 Debian/Ubuntu 一样,也经常更新;不像这样情况(至少现在是这样)。

这个页面展示了为 Raspbian 构建自己的 FPC,FPC 源文件软件包和Lazarus软件包的步骤。示例展示了构建 Lazarus 2.0.6 和其包含的 FPC 3.0.4 的步骤。在构建最新的版本时,相应的调整。

要求:

步骤:

  1. 安装 Subversion: sudo apt install subversion
  2. 获取bootstrap FPC 编译器。最新版本的编译器是使用其先前版本的编译器来编译的。
  3. 提取编译器。这将创建一个fpc-3.0.2.arm-linux目录。(注意:这个文件夹必需存在于一个 linux 文件系统上 [像文档文件夹] ,像 FAT 之类不允许接下来步骤的工作)。
  4. 在这个目录中,以 pi 用户,运行./install.sh
  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安装目录需要被删除。
  6. 临时添加FPC安装目录到PATH: export PATH=$PATH:$HOME/fpc-3.0.2/bin。如果你在完成FPC构建之前由于任何原因必须重新启动,那么你必需再次执行此步骤。
  7. 测试是否一切正常: fpc abcd。这将援引刚刚安装的编译器来尝试编译一个不存在的文件(abcd)。这将显示一条包含编译器版本的多行消息。
  8. 非步骤注释:下面步骤主要基于 这个
  9. 安装开发库: sudo apt install libgtk2.0-dev libgpm-dev libncurses-dev
  10. mkdir ~/pascal
  11. cd ~/pascal
  12. svn co https://svn.freepascal.org/svn/fpc/tags/release_3_0_4 fpc,你必须联网才能完成这项工作和接下来的工作。
  13. svn co https://svn.freepascal.org/svn/lazarus/tags/lazarus_2_0_6 lazarus
  14. cd lazarus/tools/install
  15. 编辑create_fpc_deb.sh,查找包含下面内容的行: arm) ppcbin=arm; FPCArch=arm;;, (当前行109). 在其下面复制和粘贴这行,因此它将出现两次。编辑复制的行如下: armhf) ppcbin=arm; FPCArch=arm;;. 现在保存更改和退出。
  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
  17. 你已经完成FPC构建。重启树莓派来摆脱临时路径。
  18. 卸载 bootstrap FPC: rm -rf ~/.fpc.cfg ~/.config/fppkg.cfg ~/.fppkg ~/fpc-3.0.2 ~/tmp。检查你刚刚做了什么: fpc abcd应该说找不到命令。
  19. 安装刚刚创建的 FPC Debian 软件包: sudo dpkg -i ~/pascal/lazarus/tools/install/fpc-laz_3.0.4_armhf.deb。检查它是否工作: fpc abcd 应该显示新安装的FPC编译器。
  20. cd ~/pascal/lazarus/tools/install
  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
  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。现在保存并退出。
  23. ./create_lazarus_deb.sh。这将构建Lazarus IDE Debian软件包 lazarus-project_2.0.6-0_armhf.deb。它将花费大约需要15分钟。
  24. 安装FPC源文件和Lazarus软件包: sudo dpkg -i fpc-src_3.0.4_armhf.deb lazarus-project_2.0.6-0_armhf.deb
  25. 保存*.deb到另一个位置,如果以后需要可重新安装或与朋友共享:请记住这是自由软件。
  26. cd, rm -rf ~/pascal ~/tmp

你现在终于可以享受你完整地工作了,完全更新到最新的 Lazarus 。在树莓派菜单中编程部分找到它。在第一次运行它时将显示一条标题 "Error in EditorMacroScript"信息;这个错误信息也出现在 Raspbian Lazarus 中,这个页面的原作者还不知道是什么原因。现在尝试安装一个软件包,例如:lazreport;它将工作!

想帮助FPC/Lazarus社区?在互联网上的某个地方托管生产的 .deb软件包,并在论坛上留言来让每个人都知道; 为每个发布版本都重做软件包。

贡献者和更改


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.

Revision 1, last changed by Robsean .

Edited on wiki.freepascal.org by 1 person, 2020

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
RobseanCreated page
Robsean
Robsean
Robsean
Robsean
Robsean
Robsean为树莓派构建最新的FPC和Lazarus
Robsean为树莓派构建最新的FPC和Lazarus
Robsean为树莓派构建最新的FPC和Lazarus
Robsean为树莓派构建最新的FPC和Lazarus
Robsean为树莓派构建最新的FPC和Lazarus
Robsean为树莓派构建最新的FPC和Lazarus

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.