Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
petronny opened this issue Dec 17, 2023 · 5 comments
Open

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

petronny opened this issue Dec 17, 2023 · 5 comments

Comments

@petronny
Copy link

petronny commented Dec 17, 2023

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
Copy link

igoutta commented Dec 29, 2023

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
Copy link

Still having this issue - any updates?

@acxz
Copy link
Owner

acxz commented Jan 1, 2024

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
Copy link
Author

petronny commented Jan 1, 2024

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
Copy link
Owner

acxz commented Jan 1, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants