QField icon indicating copy to clipboard operation
QField copied to clipboard

Cannot build for linux in QtCreator - undefined reference

Open maciek252 opened this issue 1 year ago • 1 comments

Describe the issue

I wanted to experiment with building in QtCreator under linux. All went fine until the linking stage, where there is an error with missing references.

Reproduction steps

Steps to reproduce the behavior:

  1. cloned QField repo (tried with both master and release-3_4 branches)
  2. issued scripts/builf-for-linux.sh (it went fine and has built the working executable)
  3. as described in the manual, created first the QtSetup in the qtCreator
  4. and then the kit on its basis
  5. imported the project into QtCreator and run build
  6. Then linking ended up with the error:

/usr/bin/ld: /home/maciek/p/QField2/QField/build-x64-linux/vcpkg_installed/x64-linux/lib/libQt6Positioning.so.6.6.3: undefined reference to symbol '_ZN3p2t3CDT11TriangulateEv' /usr/bin/ld: /home/maciek/p/QField2/QField/build-x64-linux/vcpkg_installed/x64-linux/lib/libpoly2tri.so: error adding symbols: DSO missing from command line

Expected behavior

It should produce the executable without this error.

QField (please complete the following information)

  • Device: PC
  • OS: Ubuntu 24.04
  • QField version: release-3_4 and master

maciek252 avatar Oct 04 '24 08:10 maciek252

This sounds like the qt positioning cmake config is missing a dependency to poly2tri (likely somewhere in vcpkg_installed/x64-linux/share/Qt6Positioning). Possibly this could be worked around (in QField) by patching this dependency in cmake/qgis-cmake-wrapper.cmake , we already do some "magic" and make QGIS::Core depend on poly2tri::poly2tri, I guess we could do the same for Qt::Positioning. A proper fix would need to be implemented in https://github.com/microsoft/vcpkg/tree/master/ports/qtpositioning (or directly work upstream with qt to allow building with an external poly2tri library).

m-kuhn avatar Oct 05 '24 07:10 m-kuhn

@maciek252 , have you found a way around this issue, and should we close this ticket?

nirvn avatar Nov 12 '24 01:11 nirvn

The QField project highly values your report and would love to see it addressed. However, this issue has been left in feedback mode for the last 14 days and is being automatically marked as "stale". If you would like to continue with this issue, please provide any missing information or answer any open questions. If you could resolve the issue yourself meanwhile, please leave a note for future readers with the same problem and close the issue. In case you should have any uncertainty, please leave a comment and we will be happy to help you proceed with this issue. If there is no further activity on this issue, it will be closed in a week.

github-actions[bot] avatar Nov 26 '24 02:11 github-actions[bot]