fpcupdeluxe
fpcupdeluxe copied to clipboard
Lazarus does not build on Fedora Core
I am using latest fedora, downloaded latest
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases/download/v2.2.0h/fpcupdeluxe-x86_64-linux-qt5.zip
, installed qt5-qt6 compatibility libs and started build of fpc/lazarus trunk which ended with this error:
(9015) Linking ../lazarus /usr/bin/ld: cannot find -lQt5Pas /usr/bin/ld: cannot find -lX11 /home/ring/fpcupdeluxe/lazarus/ide/lazarus.pp(167,1) Error: (9013) Error while linking /home/ring/fpcupdeluxe/lazarus/ide/lazarus.pp(167,1) Fatal: (10026) There were 1 errors compiling module, stopping make[2]: *** [Makefile:5106: idepkg] Error 2 make[1]: *** [Makefile:3740: idepkg] Error 2 Fatal: (1018) Compilation aborted Error: /home/ring/fpcupdeluxe/fpc/bin/x86_64-linux/ppcx64 returned an error exitcode Error: (lazarus) Build IDE: stopped with exit code 2 Error: (lazarus) Building IDE: Building IDE failed. make: *** [Makefile:3744: useride] Fehler 2 make: Verzeichnis „/home/ring/fpcupdeluxe/lazarus“ wird verlassen fpcupdeluxe: ERROR: LazarusNativeInstaller (BuildModuleCustom: UserIDE): make returned exit status #512
ERROR: Fpcupdeluxe fatal error ! Sequencer (UserIDE): Failure running fpcupdeluxe: error executing sequence UserIDE Sequencer (Lazarus): Failure running fpcupdeluxe: error executing sequence Lazarus Sequencer (Default): Failure running fpcupdeluxe: error executing sequence Default
I guess there are two issues here, libQt5Pas.a or libQt4Pos.so missing and (perhaps) fedora only supporting wayland (and therefore not providing libX11
I would like to advice you to install Lazarus from the available Fedora resources by the RPM package manager. This will also install all dependencies and give you a working Lazarus. Next, install FPC and Lazarus by using fpcupdeluxe. You need to copy the included libQt5Pas so libraries into the system wide library directory.
How do you think about putting this text as instructions inside of the zip file that contains libQt5Pas.so + fpcupdeluxe?
I would like to advice you to install Lazarus from the available Fedora resources by the RPM package manager. This will also install all dependencies and give you a working Lazarus. Next, install FPC and Lazarus by using fpcupdeluxe. You need to copy the included libQt5Pas so libraries into the system wide library directory.
I'm doing like that but I don't understand why I have to install again FPC and Lazarus after having done it already through dnf, as below and indeed Lazarus IDE was already starting ok... I'm curious to better understand: isn't it a sort of duplication? Thanks in advance for clarification
[giulio@fedora ~]$ sudo dnf install lazarus
[sudo] password for giulio:
Fedora 37 - x86_64 - Updates 18 kB/s | 14 kB 00:00
Fedora 37 - x86_64 - Updates 534 kB/s | 1.9 MB 00:03
Fedora Modular 37 - x86_64 - Updates 26 kB/s | 15 kB 00:00
ookla_speedtest-cli 439 B/s | 951 B 00:02
ookla_speedtest-cli-source 848 B/s | 951 B 00:01
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
lazarus x86_64 2.2.4-1.fc37 updates 137 M
Installing dependencies:
fpc x86_64 3.2.2-7.fc37 fedora 46 M
fpc-src noarch 3.2.2-7.fc37 fedora 28 M
gpm x86_64 1.20.7-41.fc37 fedora 188 k
gtk2 x86_64 2.24.33-10.fc37 fedora 3.5 M
gtk2-devel x86_64 2.24.33-10.fc37 fedora 2.8 M
ibus-gtk2 x86_64 1.5.27-4.fc37 updates 28 k
info x86_64 6.8-4.fc37 fedora 225 k
linuxconsoletools x86_64 1.8.1-2.fc37 fedora 87 k
qt5pas x86_64 2.6-2020401.fc37 updates 565 k
qt5pas-devel x86_64 2.6-2020401.fc37 updates 8.2 k
Installing weak dependencies:
adwaita-gtk2-theme x86_64 3.28-15.fc37 fedora 193 k
libcanberra-gtk2 x86_64 0.30-29.fc37 fedora 26 k
Transaction Summary
================================================================================
Install 13 Packages
Total download size: 218 M
Installed size: 1.4 G
Is this ok [y/N]: y
Downloading Packages:
(1/13): adwaita-gtk2-theme-3.28-15.fc37.x86_64. 296 kB/s | 193 kB 00:00
(2/13): gpm-1.20.7-41.fc37.x86_64.rpm 587 kB/s | 188 kB 00:00
(3/13): gtk2-2.24.33-10.fc37.x86_64.rpm 1.0 MB/s | 3.5 MB 00:03
(4/13): gtk2-devel-2.24.33-10.fc37.x86_64.rpm 1.0 MB/s | 2.8 MB 00:02
(5/13): info-6.8-4.fc37.x86_64.rpm 578 kB/s | 225 kB 00:00
(6/13): fpc-src-3.2.2-7.fc37.noarch.rpm 3.3 MB/s | 28 MB 00:08
(7/13): libcanberra-gtk2-0.30-29.fc37.x86_64.rp 31 kB/s | 26 kB 00:00
(8/13): ibus-gtk2-1.5.27-4.fc37.x86_64.rpm 107 kB/s | 28 kB 00:00
(9/13): linuxconsoletools-1.8.1-2.fc37.x86_64.r 231 kB/s | 87 kB 00:00
(10/13): qt5pas-2.6-2020401.fc37.x86_64.rpm 620 kB/s | 565 kB 00:00
(11/13): qt5pas-devel-2.6-2020401.fc37.x86_64.r 34 kB/s | 8.2 kB 00:00
(12/13): fpc-3.2.2-7.fc37.x86_64.rpm 2.6 MB/s | 46 MB 00:17
(13/13): lazarus-2.2.4-1.fc37.x86_64.rpm 4.3 MB/s | 137 MB 00:32
--------------------------------------------------------------------------------
Total 5.2 MB/s | 218 MB 00:41
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : libcanberra-gtk2-0.30-29.fc37.x86_64 1/13
Installing : ibus-gtk2-1.5.27-4.fc37.x86_64 2/13
Installing : gtk2-2.24.33-10.fc37.x86_64 3/13
Installing : adwaita-gtk2-theme-3.28-15.fc37.x86_64 4/13
Installing : gtk2-devel-2.24.33-10.fc37.x86_64 5/13
Installing : qt5pas-2.6-2020401.fc37.x86_64 6/13
Installing : qt5pas-devel-2.6-2020401.fc37.x86_64 7/13
Installing : linuxconsoletools-1.8.1-2.fc37.x86_64 8/13
Installing : info-6.8-4.fc37.x86_64 9/13
Installing : gpm-1.20.7-41.fc37.x86_64 10/13
Running scriptlet: gpm-1.20.7-41.fc37.x86_64 10/13
Created symlink /etc/systemd/system/multi-user.target.wants/gpm.service → /usr/lib/systemd/system/gpm.service.
Installing : fpc-3.2.2-7.fc37.x86_64 11/13
Installing : fpc-src-3.2.2-7.fc37.noarch 12/13
Installing : lazarus-2.2.4-1.fc37.x86_64 13/13
Running scriptlet: lazarus-2.2.4-1.fc37.x86_64 13/13
/usr/sbin/ldconfig: File /lib64/libass.so.9.2.0 is empty, not checked.
Verifying : adwaita-gtk2-theme-3.28-15.fc37.x86_64 1/13
Verifying : fpc-3.2.2-7.fc37.x86_64 2/13
Verifying : fpc-src-3.2.2-7.fc37.noarch 3/13
Verifying : gpm-1.20.7-41.fc37.x86_64 4/13
Verifying : gtk2-2.24.33-10.fc37.x86_64 5/13
Verifying : gtk2-devel-2.24.33-10.fc37.x86_64 6/13
Verifying : info-6.8-4.fc37.x86_64 7/13
Verifying : libcanberra-gtk2-0.30-29.fc37.x86_64 8/13
Verifying : linuxconsoletools-1.8.1-2.fc37.x86_64 9/13
Verifying : ibus-gtk2-1.5.27-4.fc37.x86_64 10/13
Verifying : lazarus-2.2.4-1.fc37.x86_64 11/13
Verifying : qt5pas-2.6-2020401.fc37.x86_64 12/13
Verifying : qt5pas-devel-2.6-2020401.fc37.x86_64 13/13
Installed:
adwaita-gtk2-theme-3.28-15.fc37.x86_64 fpc-3.2.2-7.fc37.x86_64
fpc-src-3.2.2-7.fc37.noarch gpm-1.20.7-41.fc37.x86_64
gtk2-2.24.33-10.fc37.x86_64 gtk2-devel-2.24.33-10.fc37.x86_64
ibus-gtk2-1.5.27-4.fc37.x86_64 info-6.8-4.fc37.x86_64
lazarus-2.2.4-1.fc37.x86_64 libcanberra-gtk2-0.30-29.fc37.x86_64
linuxconsoletools-1.8.1-2.fc37.x86_64 qt5pas-2.6-2020401.fc37.x86_64
qt5pas-devel-2.6-2020401.fc37.x86_64
Complete!
And then I've done the fpcupdeluxe first install:
fpcupdeluxe: info: FPC Native Installer (GetModule: FPC): Start checkout/update of FPC sources.
fpcupdeluxe: info: FPC Native Installer (GitClient: FPC): Running GIT checkout or update.
fpcupdeluxe: info: Performing SVN/GIT/HG/FTP/URL checkout/download. Please wait, could take some time.
fpcupdeluxe: info: FPC Native Installer (GetModule: FPC): FPC was at revision/hash: FRET_UNKNOWN_REVISION.
fpcupdeluxe: info: FPC Native Installer (GetModule: FPC): FPC is now at revision/hash: release_3_2_2-0-g0d122c4953.
fpcupdeluxe: info: FPC Native Installer (GetModule: FPC): No FPC patches defined.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Going to build FPC.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Detected source version FPC (source): 3.2.2.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): To compile this FPC, we need (required) a compiler with version 3.2.0 or 3.2.2.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Looking online for a FPCUP(deluxe) bootstrapper with name: fpcup-3_2_2-x86_64-linux-ppcx64.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Success: found a FPCUP(deluxe) bootstrapper with version 3.2.2.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Got a bootstrap compiler from FPCUP(deluxe) provided bootstrapper binaries.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Check if we already have a bootstrap compiler with version 3.2.2.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): No correct bootstrapper. Going to download new bootstrapper.
fpcupdeluxe: info: FPC Native Installer (GetFile): Downloading fpcup-3_2_2-x86_64-linux-ppcx64.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): To compile this FPC, we will use a fresh compiler with version : 3.2.2.
fpcupdeluxe: info: FPC Native Installer (BuildModuleCustom: FPC): Using FPC bootstrap compiler with version: 3.2.2.
fpcupdeluxe: info: FPC Native Installer (BuildModuleCustom: FPC): Running CleanModule once more, due to previous clean failure.
fpcupdeluxe: info: FPC Native Installer (CleanModule: FPC): Running make distclean twice.
fpcupdeluxe: info: FPC Native Installer (CleanModule: FPC): Deleting some FPC package config files.
fpcupdeluxe: info: FPC Native Installer (CleanModule: FPC): Deleting fpc.sh script.
fpcupdeluxe: info: FPC Native Installer (CleanModule: FPC): Removal of stale build files and directories for x86_64-linux. May take a while.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Now building FPC.
fpcupdeluxe: info: FPC Native Installer (CreateFPCScript): Created launcher script for FPC:/home/giulio/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.sh.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Found valid fpcmkcfg executable in /home/giulio/fpcupdeluxe/fpc/bin/x86_64-linux.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Creating /home/giulio/fpcupdeluxe/fpc/bin/x86_64-linux/fp.cfg.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Creating /home/giulio/fpcupdeluxe/fpc/bin/x86_64-linux/fp.ini.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Creating /home/giulio/fpcupdeluxe/fpcpkgconfig/fppkg.cfg.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Creating /home/giulio/fpcupdeluxe/fpcpkgconfig/default.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Creating /home/giulio/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.cfg.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Creating/checking default configuration file(s) success.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Going to tune fpc.cfg to our needs.
fpcupdeluxe: info: FPC Native Installer (BuildModule: FPC): Removal of stale build files and directories for x86_64-linux. May take a while.
fpcupdeluxe: Done !!
But finally I'm getting an error when I try installing Lazarus trunk with fpcupdeluxe:
...
(3104) Compiling editorfilemanager.pas
(3104) Compiling cleandirdlg.pas
(3104) Compiling showdeletingfilesdlg.pas
(3104) Compiling compatibilityrestrictions.pas
(3104) Compiling restrictionbrowser.pas
(3104) Compiling projectwizarddlg.pas
(3104) Compiling sourcefilemanager.pas
(3104) Compiling notifyprocessend.pas
(9022) Compiling resource /home/giulio/fpcupdeluxe/lazarus/units/x86_64-linux/qt5/lazarus.or
(9015) Linking ../lazarus
/usr/bin/ld: /home/giulio/fpcupdeluxe/lazarus/lcl/units/x86_64-linux/qt5/qtint.o: in function `CREATE':
/home/giulio/fpcupdeluxe/lazarus/lcl/interfaces//qt5/qtobject.inc:43: undefined reference to `QGuiApplication_setFallbackSessionManagementEnabled'
make[2]: *** [Makefile:5397: ide] Error 2
make[1]: *** [Makefile:3789: ide] Error 2
/home/giulio/fpcupdeluxe/lazarus/ide/lazarus.pp(168,1) Error: (9013) Error while linking
/home/giulio/fpcupdeluxe/lazarus/ide/lazarus.pp(168,1) Fatal: (10026) There were 1 errors compiling module, stopping
Fatal: (1018) Compilation aborted
Error: /home/giulio/fpcupdeluxe/fpc/bin/x86_64-linux/ppcx64 returned an error exitcode
make: *** [Makefile:3796: useride] Error 2
Error: (lazarus) Build IDE: stopped with exit code 2
Error: (lazarus) Building IDE: Building IDE failed.
fpcupdeluxe: ERROR: Lazarus Native Installer (BuildModuleCustom: UserIDE): make returned exit status #512.
ERROR: Fpcupdeluxe fatal error !
Sequencer (UserIDE): Failure running fpcupdeluxe: error executing sequence UserIDE
Sequencer (Lazarus): Failure running fpcupdeluxe: error executing sequence Lazarus
Sequencer (Only): Failure running fpcupdeluxe: error executing sequence Only
Solved the above using stable instead of trunk. Correct way to do?
(9022) Compiling resource /home/giulio/fpcupdeluxe/lazarus/units/x86_64-linux/qt5/lazarus.or
(9015) Linking ../lazarus
(1008) 278131 lines compiled, 96.5 sec
(1023) 522 note(s) issued
fpcupdeluxe: info: Universal Installer (ConfigModule: fpdebug): Changing default LCL_platforms for build-profiles in miscellaneousoptions.xml to build for qt5.
fpcupdeluxe: info: Universal Installer (ConfigModule: fpdebug): Changing default LCL_platforms for build-profiles in miscellaneousoptions.xml to build for qt5.
fpcupdeluxe: info: Universal Installer (ConfigModule: fpdebug): Changing default LCL_platforms for build-profiles in miscellaneousoptions.xml to build for qt5.
fpcupdeluxe: info: Universal Installer (ConfigModule: fpdebug): Changing default LCL_platforms for build-profiles in miscellaneousoptions.xml to build for qt5.
Found valid as application.
Found valid gunzip application.
Found valid tar application.
Found valid make application.
Found valid make application.
Found valid ld application.
fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: InstallLazarus): Skipping install step: Lazarus source and install locations are the same.
SUCCESS: installation by fpcupdeluxe complete !
Fpcupdeluxe has created a shortcut link in your home-directory to start Lazarus.
Shortcut-link: Lazarus_fpcupdeluxe
Lazarus MUST be started with this link !!
Fpcupdeluxe has also (tried to) create a desktop shortcut with the same name.
That is correct. Trunk has additions into QT5 that are not available in the libQT5pas that is available as a library from the distribution itself. Also. https://github.com/davidbannon/libqt5pas
Cleanup. Closing.