View Issue Details

IDProjectCategoryView StatusLast Update
0002141Double CommanderDefaultpublic2021-09-05 15:10
Reporterginggs Assigned ToAlexx2000  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
ProjectionnoneETAnone 
PlatformLinux ARMOSDebian/Ubuntu 
Product Version0.8.4Product Build8272 
Target Version0.9.0Fixed in Version0.9.0 
Summary0002141: Link failure on ARM
DescriptionThe Qt5 workaround for https://doublecmd.sourceforge.io/mantisbt/view.php?id=2079 introduced a link failure on armel/armhf/arm64 in Debian/Ubuntu.

Example build log: https://buildd.debian.org/status/fetch.php?pkg=doublecmd&arch=armhf&ver=0.8.4-1&stamp=1537901803&raw=0

/usr/bin/ld.bfd: //usr/lib/arm-linux-gnueabihf/libc_nonshared.a(atexit.oS): in function `atexit':
(.text+0xc): undefined reference to `__dso_handle'
/usr/bin/ld.bfd: /<<PKGBUILDDIR>>/doublecmd: hidden symbol `__dso_handle' isn't defined
/usr/bin/ld.bfd: final link failed: bad value
doublecmd.lpr(233) Error: (9013) Error while linking
doublecmd.lpr(233) Fatal: (10026) There were 1 errors compiling module, stopping
Fatal: (1018) Compilation aborted
Additional InformationThis may be exposing a bug in FPC.
For now, I have applied the following patch to skip the Qt5 workaround on the affected architectures:

--- a/src/platform/unix/uqt5workaround.pas
+++ b/src/platform/unix/uqt5workaround.pas
@@ -22,6 +22,7 @@
   if (LowerCase(fpGetEnv(PAnsiChar('XDG_SESSION_TYPE'))) = 'wayland') then
     setenv('QT_QPA_PLATFORM', 'xcb', 1);
 
+{$if not defined(cpuarm) and not defined(cpuaarch64)}
 finalization
   // Workaround: https://doublecmd.sourceforge.io/mantisbt/view.php?id=2079
   if (UpCase(fpGetEnv(PAnsiChar('XDG_CURRENT_DESKTOP'))) = 'KDE') then
@@ -29,6 +30,7 @@
     atexit(@DoExit);
     WriteLn('Warning: Skip libKF5IconThemes exit handler');
   end;
+{$endif}
 
 end.
TagsNo tags attached.
Fixed in Revision8362
Operating systemLinux
WidgetsetGTK2, QT4
Architecture32-bit, 64-bit

Activities

n_Roof

2018-10-16 21:37

reporter   ~0002797

This seems to be not specific to ARM. I'm able to reproduce the issue on freshly updated Arch Linux x86_64 when building version 0.8.4 using the PKGBUILD from the official repo: https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/doublecmd

Alexx2000

2018-10-20 11:38

administrator   ~0002803

Last edited: 2018-10-20 23:56

Better patch: https://build.opensuse.org/package/view_file/home:Alexx2000/doublecmd-qt5/uqt5workaround.pas.patch?expand=1

n_Roof

2018-10-23 00:45

reporter   ~0002815

I didn't try the patch, but was able to build DC successfully today on freshly updated Arch Linux x86_64. It seems that recent update of qt5pas 2.6.r57934-2 -> 2.6.r57934-3 fixed the build

Issue History

Date Modified Username Field Change
2018-09-29 16:11 ginggs New Issue
2018-10-16 21:37 n_Roof Note Added: 0002797
2018-10-20 11:38 Alexx2000 Fixed in Revision => 8357
2018-10-20 11:38 Alexx2000 Note Added: 0002803
2018-10-20 11:38 Alexx2000 Assigned To => Alexx2000
2018-10-20 11:38 Alexx2000 Status new => feedback
2018-10-20 11:38 Alexx2000 Resolution open => fixed
2018-10-20 11:38 Alexx2000 Fixed in Version => 0.9.0
2018-10-20 11:38 Alexx2000 Target Version => 0.9.0
2018-10-20 23:55 Alexx2000 Fixed in Revision 8357 =>
2018-10-20 23:55 Alexx2000 Status feedback => confirmed
2018-10-20 23:56 Alexx2000 Note Edited: 0002803
2018-10-21 11:09 Alexx2000 Fixed in Revision => 8362
2018-10-21 11:09 Alexx2000 Status confirmed => resolved
2018-10-23 00:45 n_Roof Note Added: 0002815
2021-09-05 15:10 Alexx2000 Status resolved => closed