Linker raises an error during ppc64le packages building
I have investigating an issue during the build in the ppc64le why they are failing in the linking fase, after talk to gcc developers, we discovered an old issue into GCC with musl running into powerpc which that was raised after the Alpine upgraded the binutils to 2.35.1[1], it treats this gcc error and raises an error on build.
This error occurs why the long double 128 signatures in libgcc is causing an error on linker because the .gnu_attribute Tag_GNU_Power_ABI_FP is able to report a single long double ABI. However libgcc from GCC 10 is able to support up-to 3 different long double ABIs: 64-bit IEEE, 128-bit IBM and 128-bit IEEE.
It's a output example of error.
[ 61%] Linking CXX shared library ../../bin/libKF5SonnetCore.so
/usr/lib/gcc/powerpc64le-alpine-linux-musl/10.2.0/../../../../powerpc64le-alpine-linux-musl/bin/ld: CMakeFiles/KF5SonnetCore.dir/guesslanguage.cpp.o uses 64-bit long double, /usr/lib/gcc/powerpc64le-alpine-linux-musl/10.2.0/../../../../lib/libgcc_s.so.1 uses 128-bit long double
/usr/lib/gcc/powerpc64le-alpine-linux-musl/10.2.0/../../../../powerpc64le-alpine-linux-musl/bin/ld: CMakeFiles/KF5SonnetCore.dir/guesslanguage.cpp.o uses 64-bit long double, /usr/lib/gcc/powerpc64le-alpine-linux-musl/10.2.0/../../../../lib/libgcc_s.so.1 uses 128-bit long double
collect2: error: ld returned 1 exit status
make[2]: *** [src/core/CMakeFiles/KF5SonnetCore.dir/build.make:308: bin/libKF5SonnetCore.so.5.74.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:3510: src/core/CMakeFiles/KF5SonnetCore.dir/all] Error 2
make: *** [Makefile:160: all] Error 2
>>> ERROR: sonnet: build failed
]0;
In our tests this is the list of packages were affected by this error:
afpfs-ng
aircrack-ng
akonadi-contacts
akonadi-mime
akonadi-search
akonadi
alkimia
alsa-tools
analitza
ark
artikulate
attica
audiocd-kio
awesome
baloo-widgets
baloo
bitchx
breeze
cantor
cervisia
choqok
cpio
dcc
dillo
discover
dolphin
dragon
drawterm
duperemove
elisa
emscripten-fastcomp
fbida
flatbuffers
freeglut
galculator
geeqie
gitg
gnomad2
grantlee
grantleetheme
gwenview
heirloom-doctools
i3lock
ipmitool
kactivities-stats
kactivitymanagerd
kalarmcal
kalzium
kamoso
kasync
kate
kcalc
kcalendarcore
kcalutils
kcmutils
kcodecs
kconfig
kconfigwidgets
kcontacts
kcoreaddons
kcron
kde-gtk-config
kdeclarative
kdeconnect
kdecoration
kdegraphics-thumbnailers
kdelibs4support
kdesdk-thumbnailers
kdewebkit
kdf
kdiagram
kfilemetadata
kgamma5
kguiaddons
kholidays
khotkeys
ki18n
kiconthemes
kig
kimageformats
kinfocenter
kio-extras
kio
kipi-plugins
kirigami2
kitemmodels
kitemviews
kjobwidgets
kmime
kmix
kmplot
kmymoney
knewstuff
knotifications
kolourpaint
kompare
konsole
kontactinterface
kopete
kpackage
kparts
kpat
kpeople
kpimtextedit
kpkpass
kplotting
kpmcore
kquickcharts
krdc
krfb
krita
kross
krunner
kscreen
kservice
ksysguard
ktexteditor
ktextwidgets
ktnef
ktp-common-internals
kunitconversion
kup
kuserfeedback
kwave
kwayland-integration
kwayland-server
kwayland
kwidgetsaddons
kwin
kwindowsystem
kxmlgui
kxmlrpcclient
lastpass-cli
latte-dock
libcoap
libkcompactdisc
libkdcraw
libkdegames
libkeduvocdocument
libkexiv2
libkmahjongg
libksane
libkscreen
libksysguard
libktorrent
libphonenumber
linux-tools
mauikit
milou
minidlna
mp3splt-gtk
mrxvt
nautilus
netatalk
ocaml-lablgtk
okteta
okular
openjdk10
openjdk11
openjdk7
openjdk8
openjdk9
openocd
oxygen
phonon-backend-gstreamer
phonon
pimcommon
plasma-browser-integration
plasma-desktop
plasma-framework
plasma-nm
plasma-pa
plasma-workspace
powerdevil
print-manager
prison
pulseaudio-qt
qqc2-desktop-style
qt5-qtwebkit
repmgr
rocs
ruby-rmagick
sddm-kcm
sierrabreezeenhanced
slony1
smstools
sniproxy
solid
sonnet
spacefm
systemsettings
tcsh
tg
the_silver_searcher
tvheadend
ucspi-tcp6
user-manager
vdr
vinagre
x11vnc
xfce4-cpufreq-plugin
ympd
I have a WorkInProgress to fix this issue through a MR[2] on main/gcc but unfortunately some peers told me there is a problem in this approach.
1 - 796ca0a1 2 - !13846 (merged)