acxz / pkgbuilds

PKGBUILDs for Arch Linux
25 stars 43 forks source link

[qgroundcontrol] cp: not replacing 'staging/Qt/libs/libicui18n.so' #261

Open petronny opened 6 months ago

petronny commented 6 months ago
linking staging/QGroundControl
echo Post Link Common && mkdir -p staging/Qt/libs && mkdir -p staging/Qt/plugins && cp -f -n --dereference /usr/lib/libQt5Charts.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Core.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5DBus.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Gui.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Location.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Multimedia.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5MultimediaQuick.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Network.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5OpenGL.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Positioning.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5PositioningQuick.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5PrintSupport.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Qml.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QmlModels.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QmlWorkerScript.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Quick.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickControls2.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickShapes.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickTemplates2.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickWidgets.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5SerialPort.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Sql.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Svg.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Test.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Widgets.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5X11Extras.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5XcbQpa.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Xml.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicui18n.so* staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5TextToSpeech.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5WaylandClient.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5WaylandCompositor.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicudata.so staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicui18n.so staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicuuc.so staging/Qt/libs/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/bearer staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/geoservices staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/iconengines staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/imageformats staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/platforminputcontexts staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/platforms staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/position staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/sqldrivers staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/texttospeech staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/xcbglintegrations staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/qml staging/Qt/ && cp -f /build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/qgroundcontrol-start.sh staging && cp -f /build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/qgroundcontrol.desktop staging && cp -f /build/qgroundcontrol/src/qgroundcontrol-4.3.0/resources/icons/qgroundcontrol.png staging && SEARCHDIR=staging/Qt RPATHDIR=staging/Qt/libs /build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/linux-fixup-rpaths.bash && cp -f /build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/qt.conf staging
Post Link Common
cp: not replacing 'staging/Qt/libs/libicui18n.so'
make: *** [Makefile:2841: staging/QGroundControl] Error 1
==> ERROR: A failure occurred in build().
    Aborting...

https://github.com/arch4edu/cactus/actions/runs/7239141363/job/19720684481

igoutta commented 6 months ago

About this issues, there is more you could know. This is the entire message of the error and why it's produced.

Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version. Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point. Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned! rcc qgroundcontrol_qmlcache.qrc compiling qrc_qgroundcontrol_qmlcache.cpp rcc src_FirmwarePlugin_APM_APMResources_qmlcache.qrc compiling qrc_src_FirmwarePlugin_APM_APMResources_qmlcache.cpp rcc src_FirmwarePlugin_PX4_PX4Resources_qmlcache.qrc compiling qrc_src_FirmwarePlugin_PX4_PX4Resources_qmlcache.cpp linking staging/QGroundControl echo Post Link Common && mkdir -p staging/Qt/libs && mkdir -p staging/Qt/plugins && cp -f -n --dereference /usr/lib/libQt5Charts.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Core.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5DBus.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Gui.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Location.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Multimedia.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5MultimediaQuick.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Network.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5OpenGL.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Positioning.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5PositioningQuick.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5PrintSupport.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Qml.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QmlModels.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QmlWorkerScript.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Quick.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickControls2.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickShapes.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickTemplates2.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickWidgets.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5SerialPort.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Sql.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Svg.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Test.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Widgets.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5X11Extras.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5XcbQpa.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Xml.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicui18n.so* staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5TextToSpeech.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5WaylandClient.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5WaylandCompositor.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicudata.so staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicui18n.so staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicuuc.so staging/Qt/libs/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/bearer staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/geoservices staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/iconengines staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/imageformats staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/platforminputcontexts staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/platforms staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/position staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/sqldrivers staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/texttospeech staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/xcbglintegrations staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/qml staging/Qt/ && cp -f /home/workbook-ga/.cache/pikaur/build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/qgroundcontrol-start.sh staging && cp -f /home/workbook-ga/.cache/pikaur/build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/qgroundcontrol.desktop staging && cp -f /home/workbook-ga/.cache/pikaur/build/qgroundcontrol/src/qgroundcontrol-4.3.0/resources/icons/qgroundcontrol.png staging && SEARCHDIR=staging/Qt RPATHDIR=staging/Qt/libs /home/workbook-ga/.cache/pikaur/build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/linux-fixup-rpaths.bash && cp -f /home/workbook-ga/.cache/pikaur/build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/qt.conf staging Post Link Common cp: not replacing 'staging/Qt/libs/libQt5Charts.so.5' make: *** [Makefile:2863: staging/QGroundControl] Error 1 ==> ERROR: Se produjo un fallo en build().

The first lines are the indication. THe project was built with QT 5.15.2 especifically, so using any other surely going to end in an error. Here the documentation about the issue: QGroundControl: Native Builds Pay attention to the light yellow warning box.

rhysperry111 commented 6 months ago

Still having this issue - any updates?

acxz commented 6 months ago

Haven't been able to look at this as much as I want. Looks like an upstream issue might be needed. I'd urge you to do so and link that issue back here so that we are in the loop.

petronny commented 6 months ago

A little digging shows that the actual problem is cp -f -n --dereference /usr/lib/libicui18n.so* staging/Qt/libs/ appears twice in the last super long build command (search for libicui18n and you will see):

linking staging/QGroundControl echo Post Link Common && mkdir -p staging/Qt/libs && mkdir -p staging/Qt/plugins && cp -f -n --dereference /usr/lib/libQt5Charts.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Core.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5DBus.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Gui.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Location.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Multimedia.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5MultimediaQuick.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Network.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5OpenGL.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Positioning.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5PositioningQuick.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5PrintSupport.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Qml.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QmlModels.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QmlWorkerScript.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Quick.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickControls2.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickShapes.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickTemplates2.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5QuickWidgets.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5SerialPort.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Sql.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Svg.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Test.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Widgets.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5X11Extras.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5XcbQpa.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5Xml.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicui18n.so* staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5TextToSpeech.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5WaylandClient.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libQt5WaylandCompositor.so.5 staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicudata.so staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicui18n.so staging/Qt/libs/ && cp -f -n --dereference /usr/lib/libicuuc.so staging/Qt/libs/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/bearer staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/geoservices staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/iconengines staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/imageformats staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/platforminputcontexts staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/platforms staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/position staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/sqldrivers staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/texttospeech staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/plugins/xcbglintegrations staging/Qt/plugins/ && cp -f -n --dereference --recursive /usr/lib/qt/qml staging/Qt/ && cp -f /build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/qgroundcontrol-start.sh staging && cp -f /build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/qgroundcontrol.desktop staging && cp -f /build/qgroundcontrol/src/qgroundcontrol-4.3.0/resources/icons/qgroundcontrol.png staging && SEARCHDIR=staging/Qt RPATHDIR=staging/Qt/libs /build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/linux-fixup-rpaths.bash && cp -f /build/qgroundcontrol/src/qgroundcontrol-4.3.0/deploy/qt.conf staging

Then the second one raises the error. So the patch could be removing the second call or removing the -n option for the cp commands. I've tested with removing the -n option and the build passes.

 build() {
   mkdir -p "${srcdir}/${pkgname}-${pkgver}/build"
   cd "$srcdir/${pkgname}-${pkgver}/build"
   qmake ..
+  sed 's/cp -f -n/cp -f/g' -i Makefile
   make
 }
acxz commented 6 months ago

Thanks for the investigation! I was just doing the digging rn, and can confirm that removing the -n does the trick.

Removing the extra addition of libicui18n.so also works, but other similar errors pop up with other *.so files.

It seems that removing the -n is the way forward. I'm going to look more into what the proper fix for this would be and see what upstream has to say.