[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3916)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3916)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4792: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3916)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4793: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3916)
AutoQuad Forum • View topic - QGroundControl for Linux
Page 1 of 4

QGroundControl for Linux

PostPosted: Sun Mar 31, 2013 5:35 pm
by DUKE40
Hi,

I have downloaded and extracted the compiled Software for Linux 32bits, but cannot get it working.
When starting it, it runs into an error due to the version of libOpenThreads.so whcih is already version 13 on my Debian distribution.
Either it does not find libOpenTrheads.so.11 or it crashes with this error:

MODE: 0
MODE: 80
MODE: 64
MODE: 88
MODE: 92
MODE: 66
./qgroundcontrol: symbol lookup error: ./qgroundcontrol: undefined symbol: _ZN9QListData11detach_growEPii

I then tried to compile it from the source files which worked well, but the resulting application does not contain the MainWidget Autoquad, thus I cannot do anything with the Autoquad.
How can I get either the compiled version run, or compile a version with all relevant parts? It seems the cource code is missing quite a number of sources for AutoQuad. Where do I find them?

Thanks and best regards,
DUKE40

Re: QGroundControl for Linux

PostPosted: Sun Mar 31, 2013 10:26 pm
by Max
Hi Duke,

Compiling your own is probably the best option for Linux. But I'm not sure why you are having trouble doing that. Are you using the source from our GitHub repo? https://github.com/AutoQuad/qgroundcontrol That is a copy of of the code we compile from, and I know at least one other person has built from that repo. Do you get any compile errors?

Cheers,
-Max

Re: QGroundControl for Linux

PostPosted: Mon Apr 01, 2013 7:14 am
by DUKE40
Hi,

thnkas for this hint, on the page https://github.com/AutoQuad/qgroundcontrol for Building from source for Linux a wrong github URL is used, which is the reason why I probably am not able to use it correctly.
The URL documented there is:
git clone https://github.com/mavlink/qgroundcontrol.git

I think this should be corrected to avoid other get the same issue.

Best regards,
Jean-Gabriel

Re: QGroundControl for Linux

PostPosted: Mon Apr 01, 2013 9:43 am
by DUKE40
Unfortunately compiling runs into the follwing two errors:
/home/duke40/qgroundcontrol/src/ui/aq_telemetryView.h:26: error: non-static const member ‘const QString AQTelemetryView::telemFieldsMeta::label’, can't use default assignment operator
/home/duke40/qgroundcontrol/src/ui/aq_telemetryView.h:26: error: non-static const member ‘const QString AQTelemetryView::telemFieldsMeta::unit’, can't use default assignment operator

beside several warning.

What should I do to get it compiled, meaning to solve the reporte errors?

Thanks and best regards,
DUKE40

Re: QGroundControl for Linux

PostPosted: Wed Apr 03, 2013 11:28 pm
by Max
I just tried pulling a fresh copy of the code from GH into my Fedora 14 install and building it. There are many warnings, but I do not get any errors. I'm not sure what to tell you...

I did make one change in the .pro file, which is to remove the comment in front of "phonon" in line 27. But I don't think that will affect the problem you're describing. Perhaps some of the other warnings you're seeing could lead to a clue?

As I recall, I did have to build my own Qt 4.8.4 libraries on this Linux box because the ones installed using the package manager didn't work (I forget why).

What compiler/tool chain are you using? GCC x86?

Thanks for pointing out the mistake in the readme. Fixed that and also committed a change to take care of including phonon for non-Windows builds. If you get any further on this issue, please let us know. It's probably just a syntax error which your particular compiler doesn't appreciate... :)

-Max

Re: QGroundControl for Linux

PostPosted: Fri Apr 05, 2013 3:58 pm
by DUKE40
Sorry,

I was not able to test again earlier.

I followed exactly the steps described on the page:
https://github.com/AutoQuad/qgroundcontrol

first installing the mentioned packages:
sudo apt-get install phonon libqt4-dev \
libphonon-dev libphonon4 phonon-backend-gstreamer \
qtcreator libsdl1.2-dev libflite1 flite1-dev build-essential \
libopenscenegraph-dev

which worked without an error.
Then downloading the software:
git clone https://github.com/AutoQuad/qgroundcontrol.git

Creating the xbee lib was not possible, because the content of the directory was rather light and did not contain any makefile:

duke40@server:~/qgroundcontrol/libs/thirdParty/libxbee$ ls -l
insgesamt 172
-rw-r--r-- 1 duke40 duke40 71942 1. Apr 09:49 api.c
-rw-r--r-- 1 duke40 duke40 8192 1. Apr 09:49 api.h
drwxr-xr-x 3 duke40 duke40 4096 1. Apr 09:49 doc
drwxr-xr-x 2 duke40 duke40 4096 1. Apr 09:49 lib
-rw-r--r-- 1 duke40 duke40 35147 1. Apr 09:49 LICENSE
-rw-r--r-- 1 duke40 duke40 5885 1. Apr 09:49 main.c
drwxr-xr-x 3 duke40 duke40 4096 1. Apr 09:49 man
drwxr-xr-x 2 duke40 duke40 4096 1. Apr 09:49 notes
drwxr-xr-x 2 duke40 duke40 4096 1. Apr 09:49 pdf
-rw-r--r-- 1 duke40 duke40 1365 1. Apr 09:49 README
drwxr-xr-x 3 duke40 duke40 4096 1. Apr 09:49 sample
-rw-r--r-- 1 duke40 duke40 1112 1. Apr 09:49 win32.README.txt
-rw-r--r-- 1 duke40 duke40 7869 1. Apr 09:49 xbee.h
drwxr-xr-x 3 duke40 duke40 4096 1. Apr 09:49 xsys

This might be in some way causing the problem. By the way I am using Debian 6.0.7:

Linux server 2.6.32-5-686 #1 SMP Mon Feb 25 01:04:36 UTC 2013 i686 GNU/Linux

For compiling I used the exact description of the page:
* Ubuntu Application Menu -> Development -> Qt Creator
* QtCreator Menu File -> Open File or Project..
* Open directory/qgroundcontrol/qgroundcontrol.pro
* Hit the green play button to compile and launch it

Now two questions based on this, how do I get a makefile to create the XBee Library? How do I build my own Qt 4.8.4 libraries if needed?

Btw, this is the complete output of the compiling with the warnings:

Performing Build-Steps for Project qgroundcontrol...
Configuration unchanged, Bypassing QMake-Step.
Starting: /usr/bin/make -w
make: Entering directory `/home/duke40/qgroundcontrol'
Makefile:2975: Warning: commands for destination »build-release/moc/moc_WaypointViewOnlyView.cpp« will be overwritten
Makefile:2972: Warning: old commands for destination »build-release/moc/moc_WaypointViewOnlyView.cpp« will be ignored
/usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile qgroundcontrol.pro
Project MESSAGE: Qt version 4.6.3
Project MESSAGE: Building support for OpenSceneGraph
Project MESSAGE: Building for GNU/Linux 32bit/i386
Project MESSAGE: Including headers for OpenSceneGraph
Project MESSAGE: Including sources for OpenSceneGraph
make: Leaving directory `/home/duke40/qgroundcontrol'
make: Entering directory `/home/duke40/qgroundcontrol'
Makefile:2975: Warning: commands for destination »build-release/moc/moc_WaypointViewOnlyView.cpp« will be overwritten
Makefile:2972: Warnung: old commands for destination »build-release/moc/moc_WaypointViewOnlyView.cpp« will be ignored
g++ -c -pipe -Wl,-E -g -D_REENTRANT -Wall -W -DMAVLINK_NO_DATA -DEXTERNAL_USE -DQTCREATOR_UTILS_LIB -DEXTERNAL_USE -DQGC_USE_AUTOQUAD_MESSAGES -D_TTY_NOWARN_ -D__STDC_LIMIT_MACROS -DQT_NO_DEBUG -DQGC_OSG_ENABLED -DQSERIALPORT_STATIC -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_SVG_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtSvg -I/usr/include/phonon -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -Ilibs/eigen -I. -I.. -Isrc/core -Isrc/internals -Isrc/internals/projections -Isrc/mapwidget -Ilibs/utils -Ilibs -Ilibs/opmapcontrol -Ilibs/mavlink/include/mavlink/v1.0 -Ilibs/mavlink/include/mavlink/v1.0/autoquad -I/usr/include -I/usr/local/include -Isrc/apps/mavlinkgen -Isrc/apps/mavlinkgen/ui -Isrc/apps/mavlinkgen/generator -Isrc/apps/mavlinkgen -Isrc/apps/mavlinkgen/ui -Isrc/apps/mavlinkgen/generator -Ilibs/qwt -I. -Ilibs/thirdParty/qserialport/include -Ilibs/thirdParty/qserialport/include/QtSerialPort -Ilibs/thirdParty/qserialport/src -Ilibs/qextserialport -Ilibs/thirdParty/qserialport/include -Ilibs/thirdParty/qserialport/include/QtSerialPort -Ilibs/thirdParty/qserialport/src/posix -Ilibs/thirdParty/qserialport/src/win32 -Isrc -Isrc/ui -Isrc/ui/linechart -Isrc/ui/uas -Isrc/ui/map -Isrc/uas -Isrc/comm -Iinclude/ui -Isrc/input -Isrc/lib/qmapcontrol -Isrc/ui/mavlink -Isrc/ui/param -Isrc/ui/watchdog -Isrc/ui/map3D -Isrc/ui/mission -Isrc/ui/designer -I/usr/include/qt4/phonon_compat -I/usr/X11R6/include -Ibuild-release/moc -Ibuild-release/ui -o build-release/obj/aq_telemetryView.o src/ui/aq_telemetryView.cpp
src/ui/aq_telemetryView.h: In constructor ‘AQTelemetryView::AQTelemetryView(QWidget*)’:
src/ui/aq_telemetryView.h:66: warning: ‘AQTelemetryView::AqTeleChart’ will be initialized after
src/ui/aq_telemetryView.h:49: warning: ‘AQTelemetryView::telemDatasets AQTelemetryView::currentDataSet’
src/ui/aq_telemetryView.cpp:5: warning: when initialized here
src/ui/aq_telemetryView.h:49: warning: ‘AQTelemetryView::currentDataSet’ will be initialized after
src/ui/aq_telemetryView.h:45: warning: ‘bool AQTelemetryView::telemetryRunning’
src/ui/aq_telemetryView.cpp:5: warning: when initialized here
src/ui/aq_telemetryView.h:45: warning: ‘AQTelemetryView::telemetryRunning’ will be initialized after
src/ui/aq_telemetryView.h:41: warning: ‘Ui::AQTelemetryView* AQTelemetryView::ui’
src/ui/aq_telemetryView.cpp:5: warning: when initialized here
src/ui/aq_telemetryView.cpp: In member function ‘void AQTelemetryView::getNewTelemetry(int, int)’:
src/ui/aq_telemetryView.cpp:331: warning: suggest explicit braces to avoid ambiguous ‘else’
In file included from src/ui/aq_telemetryView.cpp:1:
src/ui/aq_telemetryView.h: In member function ‘AQTelemetryView::telemFieldsMeta& AQTelemetryView::telemFieldsMeta::operator=(const AQTelemetryView::telemFieldsMeta&)’:
src/ui/aq_telemetryView.h:26: instantiated from ‘void QList<T>::node_construct(QList<T>::Node*, const T&) [with T = AQTelemetryView::telemFieldsMeta]’
/usr/include/qt4/QtCore/qlist.h:472: instantiated from ‘void QList<T>::append(const T&) [with T = AQTelemetryView::telemFieldsMeta]’
src/ui/aq_telemetryView.cpp:27: instantiated from here
src/ui/aq_telemetryView.h:26: error: non-static const member ‘const QString AQTelemetryView::telemFieldsMeta::label’, can't use default assignment operator
src/ui/aq_telemetryView.h:26: error: non-static const member ‘const QString AQTelemetryView::telemFieldsMeta::unit’, can't use default assignment operator
In file included from /usr/include/qt4/QtCore/qobject.h:50,
from /usr/include/qt4/QtGui/qlayout.h:45,
from /usr/include/qt4/QtGui/qgridlayout.h:45,
from /usr/include/qt4/QtGui/QGridLayout:1,
from src/ui/linechart/aqlinechartwidget.h:4,
from src/ui/aq_telemetryView.h:4,
from src/ui/aq_telemetryView.cpp:1:
/usr/include/qt4/QtCore/qlist.h: In member function ‘void QList<T>::node_construct(QList<T>::Node*, const T&) [with T = AQTelemetryView::telemFieldsMeta]’:
/usr/include/qt4/QtCore/qlist.h:353: note: synthesized method ‘AQTelemetryView::telemFieldsMeta& AQTelemetryView::telemFieldsMeta::operator=(const AQTelemetryView::telemFieldsMeta&)’ first required here
make: Leaving directory `/home/duke40/qgroundcontrol'
make: *** [build-release/obj/aq_telemetryView.o] Error 1
Completed with return value 2.
Error while compiling project qgroundcontrol
While performing Build-Step 'Make'

Maybe this could help track down what is causing the compiling to fail.

Thanks and best regards,
DUKE40

Re: QGroundControl for Linux

PostPosted: Fri Apr 05, 2013 8:34 pm
by DUKE40
I know installed the XBee lib from https://github.com/mavlink/qgroundcontrol.git, but the erorrs are still the same, so this is not linked to the XBee lib missing.
Maybe the Qt 4.8.4 libraries are the issue, as you had, but for that I am missing the knowledge how to compile them.

Re: QGroundControl for Linux

PostPosted: Tue Apr 09, 2013 6:15 am
by DUKE40
Nobody has an idea what I can do to get the Software compiled in my environment?
Any ideas what I might have to check to further narrow the root cause of the compiling issue?

Thanks and best regards,
DUKE40

Re: QGroundControl for Linux

PostPosted: Tue Apr 09, 2013 7:02 am
by Max
I have ideas, it's just hard to guess what the issue is w/out being able to recreate it... :) We could be here for days trying different things...

Try replacing the attached file in src/ui/ folder.

-Max

Re: QGroundControl for Linux

PostPosted: Tue Apr 09, 2013 1:50 pm
by DUKE40
Many thanks Max, at least I could compile it successfully and start it. Now I have a to wait till My AutoQuad is back home in order to test QGroundControl.
I will let you know if I encounter any issue, and also in case of success.

Best regards,
DUKE40