fpcupdeluxe icon indicating copy to clipboard operation
fpcupdeluxe copied to clipboard

Lazarus does not build on Fedora Core

Open michael-ring opened this issue 3 years ago • 2 comments

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

michael-ring avatar Jan 10 '22 14:01 michael-ring

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.

LongDirtyAnimAlf avatar Jan 15 '22 14:01 LongDirtyAnimAlf

How do you think about putting this text as instructions inside of the zip file that contains libQt5Pas.so + fpcupdeluxe?

michael-ring avatar Jan 16 '22 12:01 michael-ring

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 !!

giuliohome avatar Jan 01 '23 10:01 giuliohome

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

giuliohome avatar Jan 01 '23 11:01 giuliohome

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.

giuliohome avatar Jan 01 '23 11:01 giuliohome

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

LongDirtyAnimAlf avatar Jan 01 '23 11:01 LongDirtyAnimAlf

Cleanup. Closing.

LongDirtyAnimAlf avatar Mar 21 '23 08:03 LongDirtyAnimAlf