秋·风

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
今天在ubuntu 25.10(6.17内核)纯手工安装fpc/lazarus,以下是详细过程:
准备工作:
1、安装开发环境所需的依赖工具:
sudo apt install make gcc binutils build-essential subversion zip unzip libx11-dev libgtk2.0-dev libcairo2-dev libpango1.0-dev

2、ppcx64 for linux fpc引导编译器
注意:建议用低版本的引导编译器,如果引导编译器的版本比fpcsrc的版本高,编译时有可能出错。如引导编译器是331的,编译322 fpcsrc就会有出错提示。
3、分别下载fpc/lazarus源码,解压后的目录名重新命名为fpcsrc和lazarus

4、FPC/Lazarus的目录结构:分别创建QFLazarus、fpcbootstrap、config_lazarus目录
/home/用户名   
   |--QFLazarus
      |--config_lazarus           
      |--fpcbootstrap            
      |--fpcsrc           
      |--lazarus


一、编译fpcsrc
1、将ppcx64引导编译器拷贝到fpcbootstrap目录

QQ_1760068124390

QQ_1760068065107 
在fpcsrc目录执行以下编译命令

make install CPU_TARGET=x86_64 OS_TARGET=linux CPU_SOURCE=x86_64 OS_SOURCE=linux  OPT='-gl -O2' FPC=/home/lbz/QFLazarus/fpcbootstrap/ppcx64 OVERRIDEVERSIONCHECK=1  PREFIX=/home/lbz/QFLazarus/fpc -j16

QQ_1760068276528

 

QQ_1760068346587

2、fpc编译完成后,在fpc/bin目录执行fpcmkcfg生成fpc.cfg配置文件:

cd /fpc/bin
./fpcmkcfg -o fpc.cfg

3、修改fpc.cfg,将-Fu/units/路径用绝对目录指定

# Search for $fpctarget/$fpcsubarch-$fpcmemorymodel/ subdirectory first
# for i8086 CPU
#ifdef cpui8086
-Fu/units/$fpctarget/$fpcsubarch-$fpcmemorymodel
-Fu/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/*
-Fu/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/rtl
#endif

# searchpath for units and other system dependent things
-Fu/units/$fpctarget
-Fu/units/$fpctarget/*
-Fu/units/$fpctarget/rtl

#IFDEF FPCAPACHE_1_3
-Fu/units/$fpctarget/httpd13/
#ELSE
#IFDEF FPCAPACHE_2_0
-Fu/units/$fpctarget/httpd20
#ELSE
-Fu/units/$fpctarget/httpd22
#ENDIF
#ENDIF

改为:

# Search for $fpctarget/$fpcsubarch-$fpcmemorymodel/ subdirectory first
# for i8086 CPU
#ifdef cpui8086
-Fu/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/units/$fpctarget/$fpcsubarch-$fpcmemorymodel
-Fu/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/*
-Fu/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/rtl
#endif

# searchpath for units and other system dependent things
-Fu/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/units/$fpctarget
-Fu/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/units/$fpctarget/*
-Fu/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/units/$fpctarget/rtl

#IFDEF FPCAPACHE_1_3
-Fu/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/units/$fpctarget/httpd13/
#ELSE
#IFDEF FPCAPACHE_2_0
-Fu/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/units/$fpctarget/httpd20
#ELSE
-Fu/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/units/$fpctarget/httpd22
#ENDIF
#ENDIF

将修改后的fpc.cfg拷贝到~/.fpc.cfg

cp fpc.cfg ~/.fpc.cfg

4、拷贝/home/lbz/QFLazarus/fpc/lib/fpc/3.3.1目录的ppcx64到/home/lbz/QFLazarus/fpc/bin目录

cd fpc/bin
cp /home/lbz/QFLazarus/fpc/lib/fpc/3.3.1/ppcx64 /home/lbz/QFLazarus/fpc/bin

到此,fpc源码已编译完成


二、编译lazarus
1、下载最新的lazarus源码,解压后进入lazarus目录执行以下命令:
make --directory=/home/lbz/QFLazarus/lazarus USESVN2REVISIONINC=0 FPC=/home/lbz/QFLazarus/fpc/bin/fpc PP=/home/lbz/QFLazarus/fpc/bin/ppcx64 PREFIX=/home/lbz/QFLazarus/lazarus INSTALL_PREFIX=/home/lbz/QFLazarus/lazarus INSTALL_BASEDIR=/home/lbz/QFLazarus/lazarus  LAZARUS_INSTALL_DIR=/home/lbz/QFLazarus/lazarus/ FPCDIR=/home/lbz/QFLazarus/fpcsrc FPCMAKE=/home/lbz/QFLazarus/fpc/bin/fpcmake PPUMOVE=/home/lbz/QFLazarus/fpc/bin/ppumove OPT='-vw-n-h-l-d-u-t-p-c-' CPU_SOURCE=x86_64 OS_SOURCE=linux CPU_TARGET=x86_64 OS_TARGET=linux

QQ_1760068556742

编译lazarus可能出现以下错误:

/home/lbz/QFLazarus/lazarus/ide/lazarus.pp(88,2) Fatal: (2013) Cannot open include file "revision.inc"

只需在lazarus/ide目录添加revision.inc文件

// Created by Svn2RevisionInc
const RevisionStr = '';

然后重新编译就可以,下图是lazarus编译完成的截图。

QQ_1760068831905

QQ_1760068924458

2、lazarus编译完成后在lazarus目录创建lazarus.cfg,内容为:

--primary-config-path=/home/lbz/QFLazarus/config_lazarus

保存后退出。然后保存退出。
在lazarus目录执行:

./lazarus

QQ_1760068951802

设置正确的编译器:

QQ_1760069046424

设置正确fpc编译器后就可以看到lazarus IDE:

QQ_1760070117415
至此,已完成fpc/lazarus手工编译安装全过程。

posted on 2025-10-10 11:11  秋·风  阅读(30)  评论(0)    收藏  举报