Closed dannyrs18 closed 4 years ago
Hi @dannyrs18
To develop, it's much easier to not use OSGeo4A and just compile it for desktop first. This way you get quicker testing and interactive debugging almost for free.
apt install qgis-devel
or similar, we'll need some ubuntu/mint expert to know how that's done exactly)Some notes:
It would be good to write down a step by step tutorial for this. It's been on my todo list for a while but I never got around to doing it
Great!
Thank you very much for the prompt response, it was very helpful
Hi everybody. I try to compile QField on Fedora Linux 5.5.15-200.fc31.x86_64 This is step by step:
$ git clone https://github.com/opengisch/QField.git
$ sudo dnf install qgis-devel
$ sudo dnf install qt5-qtquickcontrols2-devel
But :(
g++ -Wl,-rpath,/usr/lib64/ -shared -Wl,-soname,libqgsquick.so.1 -o libqgsquick.so.1.0.0 qgsquickmapcanvasmap.o qgsquickmaptransform.o qgsquickutils.o qgsquickmapsettings.o qgsquickcoordinatetransformer.o qgsquickfeaturelayerpair.o moc_qgsquickmapcanvasmap.o moc_qgsquickmaptransform.o moc_qgsquickutils.o moc_qgsquickmapsettings.o moc_qgsquickcoordinatetransformer.o moc_qgsquickfeaturelayerpair.o -lproj /usr/lib64/libqgis_core.so /usr/lib64/libqgis_analysis.so /usr/lib64/libQt5PrintSupport.so /usr/lib64/libQt5Widgets.so /usr/lib64/libQt5Quick.so /usr/lib64/libQt5Gui.so /usr/lib64/libQt5Xml.so /usr/lib64/libQt5Positioning.so /usr/lib64/libQt5Qml.so /usr/lib64/libQt5Network.so /usr/lib64/libQt5Core.so /usr/lib64/libGL.so -lpthread
/usr/bin/ld: cannot find -lproj
make[1]: Leaving directory '/home/jlgranda/NetBeansProjects/proamazonia/build-QField-Desktop-Debug/src/qgsquick'
collect2: error: ld returned 1 exit status
make[1]: [Makefile:278: libqgsquick.so.1.0.0] Error 1
make: [Makefile:93: sub-src-qgsquick-make_first-ordered] Error 2
11:45:41: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project QField (kit: Desktop)
When executing step "Make"
Any advice?
Are you trying to compile to run it on Android or on Linux?
I'm try to running QField in Linux, but I fixed the problem. I installed the libproj and others libs. Then for continue build of QField, is needed Build QGIS with Quick Library. I make this libs and finally I can run QField in Linux (Fedora 31 86x64) with QT 5.3.12 in build SO, but I have a new problem. QField started, but when I hint start button "Open local project" any happend.
Then, I try to running on Android and is the new history for .
Great!
The file open dialog has only recently been fixed. Compile the latest master version to get the dialog. Or drag and drop a qgs/qgz file from your file browser (nautilus) into QField.
Nice, thank you. I get the last master version, but I note updated into some classes. I try compile with QGIS devel 3.12.3 inside SO and get: featuremodel.cpp:325: error: no member named 'avoidIntersectionsMode' in 'QgsProject'
Which versions in your development environment?
qgis master/nightly (upcoming 3.14).
That's ok, I update to Fedora 32 and get QGIS from testing repo
$ sudo dnf copr enable dani/qgis-testing
Now QField compile.
I have a new problem :).
I did install QT 5.14 with QT installer into other path.
I try to compile QField with new QTCreator and QT 5.14, nice compile. But I get the next error at running time
qfield: /usr/lib64/libQt5Core.so.5: version `Qt_5.14' not found (required by .../build-QField-Desktop_Qt_5_14_2_GCC_64bit-Debug/src/app/qfield)
Any Advice?
Why not use the same qt version as the installed qgis?
Thank you. Now works on desktop.
Hi @m-kuhn, I try compile into Fedora 32 desktop. When I try to compile, at --->
g++ -Wl,-rpath,/usr/lib64/ -Wl,-rpath-link,/usr/lib64 -o qfield main.o qrc_images.o qrc_resources.o qrc_qml.o qrc_translations.o -lproj /usr/lib64/libqgis_core.so /usr/lib64/libqgis_analysis.so ../../3rdparty/tessellate/libtessellate.a -L/home/jlgranda/NetBeansProjects/proamazonia/build-QField-Desktop-Debug/src/app/../core -lcore -L/home/jlgranda/NetBeansProjects/proamazonia/build-QField-Desktop-Debug/src/app/../qgsquick -lqgsquick /usr/lib64/libQt5PrintSupport.so /usr/lib64/libQt5Svg.so /usr/lib64/libQt5OpenGL.so /usr/lib64/libQt5Widgets.so /usr/lib64/libQt5QuickControls2.so /usr/lib64/libQt5Quick.so /usr/lib64/libQt5Gui.so /usr/lib64/libQt5Concurrent.so /usr/lib64/libQt5Xml.so /usr/lib64/libQt5Positioning.so /usr/lib64/libQt5Sql.so /usr/lib64/libQt5Sensors.so /usr/lib64/libQt5Qml.so /usr/lib64/libQt5Network.so /usr/lib64/libQt5Core.so /usr/lib64/libGL.so -lpthread
Get -->
/usr/bin/ld: /usr/lib64/libgdal.so.26: undefined reference to PQfname@RHPG_9.6' /usr/bin/ld: /usr/lib64/libgdal.so.26: undefined reference to
PQsetNoticeProcessor@RHPG_9.6'
I follow error on https://github.com/openalpr/openalpr/issues/846, but no works for QField compile. Any advice.
Try removing the PGDG repositories and uninstalling all postgres packages from there.
In effect I remove all repos for Postgres (e.g PostgreSQL Yum Repository) and install default PostgreSQL in RPMs. Then, install QGIS 3.13.0-Master desde testing repo dani/qgis-testing and qgis-devel
Now compile. Thank you @m-kuhn.
Greetings to all, recently I wanted to download the QField code, and for this I have to download the OSGeo4A library, I have added the necessary configuration for the execution in the distribute.sh script and everything goes very well until the following error described:
In the requirements Qt5 is listed, and when compiling requires Qt4, I have downloaded the qt4-qmake and libqt4-dev libraries to mitigate such error but after that the error described above appears with Qtcore. The operating system I use is Linux Mint 19.2 tina