Unable to run Qt app on ARM linux with an /tmp and /dev/fb0 issues
-
My host system is Ubuntu-12.04 ×86_64bit
My target system is Pandaboard- ARMv7 Ubuntu-12.04
My toolchain is arm-linux-gnueabihf-
I configured Device type as Desktop in Qt Creator->Tools->OptionsI am successful in compiling Qt source on host system with qmake.conf as
————————————————————————————————————————————————————qmake configuration for building with arm-panda-g++
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)modifications to g++.conf
QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_STRIP = arm-linux-gnueabihf-strip
load(qt_config)
————————————————————————————————————————————————————
and build Qt src with following configuration./configure -opensource -confirm-license -prefix /opt/qt-panda-armhf -embedded arm -platform qws/linux-x86_64-g++ -xplatform qws/linux-panda-g++ -no-pch -little-endian
After this i copied /opt/qt-panda-armhf/lib from host to the target with same location as /opt/qt-panda-armhf/lib.
Then i built qt app in QtCreator , by setting qmake, after building qt source with above mentioned qmake.conf. and setting arm-linux-gnueabihf- g++ compiler.
I am successful in building qt gui app in qtcreator and got executable file.
Then i copied the executable onto pandaboard target board and run by exporting the /opt/qt-panda-armhf/lib
run as
$ ./my_app -qwsBut i am unable to run the app. with following issue
Cannot create Qt for Embedded Linux data directory: /tmp/qtembedded-0< for this i tried by changing /tmp folder in qt src path to user directory
But got the same error as
Cannot create Qt for Embedded Linux data directory: ~/App/temp/qtembedded-0 >< even i tried with mount point in /etc/fstab as
none /tmp/ tmpfs size=1M 0 0
But in this case also iam unable to runOne more issue i found when running app as
$ ./my_app
then i got the issue as QScreenLinuxFb::connect: No such file or directory
Error opening frame buffer device /dev/fb0< for this i tried
$ ./my_app -qws -display LinuxFb
But i am unsuccessful>
need help regarding the same…
-
Hi,
It seems that you don't have a frame buffer (or it's name is not /dev/fb0)
-
Hi. I deleted /tmp and recreate, then i launched application with sudo and -qws parameter. It works for me.
-
i am able to to see /dev/fb0 in my system. ...
So, frame buffer is available. with the same name fb0.[quote author="SGaist" date="1373624460"]Hi,
It seems that you don't have a frame buffer (or it's name is not /dev/fb0)[/quote]
-
I even tried with sudo and -qws. But no use...
any other thing i missed...?[quote author="pozitiffcat" date="1373625369"]Hi. I deleted /tmp and recreate, then i launched application with sudo and -qws parameter. It works for me.[/quote]
-
Are you sure that your /dev/fb0 points to something valid ?
-
Thx..for your reply
I tried deleting /tmp and tried by recreating. but no result.
< for this i tried by changing /tmp folder in qt src path to user directory
But got the same error asCannot create Qt for Embedded Linux data directory: ~/App/temp/qtembedded-0 >
< even i tried with mount point in /etc/fstab as
none /tmp/ tmpfs size=1M 0 0
But in this case also iam unable to runHow to get rid of this problem...
-
Does this path exist on your target ?
-
yes...
-
And that the user rights are correct ?
-
yes , The App directory has permissions drwxrwxrwx
-
Does it contain a temp folder ?
-
Existing Path is /home/xvg783/App/temp
Whether we have to create qtembedded-0 or it is created runtime.I didn't find this qtembedded-0, in *App/temp/ *
As it is saying
Cannot create Qt for Embedded Linux data directory: ~/App/temp/qtembedded-0 >is this path has to create runtime or the path has to be there before running the app.
-
When does this issue occur...? I unable to find out the problem.
I am using Pandaboard-ES with Ubuntu-12.04_64bit Desktop version installed on it., with kernel ubuntu-precise-hf from launchpad.can you please tell me the steps to follow..where i am going wrong.
i followed the steps as mentioned in my first post. -
temp must exist before, qtembedded-0 will be created by the application acting as server.
-
Sorry I misunderstood the explanation.
I will reformulate mi question -
Hi all,
I spend weeks trying to cross compile in QT for my Panda board and no way, finally I try the steps from this posts but I can't pass the ./configure.
If someone could give me a help I'll appreciate.
My host system is Ubuntu-13.04 ×86_64bit(running un Virtualbox)
My target system is Pandaboard Xm Ubuntu-12.04.
All the steps in host box:
sudo apt-get install arm-linux-gnueabihf
sudo mkdir /opt/qt-485-armhf
cd /usr/src
sudo wget http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz
sudo tar xf qt-everywhere-opensource-src-4.8.5.tar.gz
cd /usr/src/qt-everywhere-opensource-src-4.8.5
sudo cp -r mkspecs/qws/linux-arm-gnueabi-g++ mkspecs/qws/linux-arm-gnueabihf-g++
sudo vim mkspecs/qws/linux-arm-gnueabihf-g++/qmake.confinclude(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)#Compiler Flags to take advantage of the ARM architecture
#N.B.:I also tried to uncomment the two following instructions with no success
QMAKE_CFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CXXFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfpmodifications to g++.conf
QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_STRIP = arm-linux-gnueabihf-stripload(qt_config)
sudo sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" config.tests/unix/libmng/libmng.cpp (This command fixes detection of libmng 2.0.)
export QTDIR=/opt/qt4-485-armhf
And finally:
sudo ./configure -prefix /opt/qt4-485-armhf -sysconfdir /etc/xdg -embedded arm -little-endian -host-big-endian -no-qt3support -nomake examples -nomake demos -opensource -confirm-license -release -openssl-linked -no-phonon -no-phonon-backend -no-nis -platform qws/linux-x86_64-g++ -xplatform qws/linux-arm-gnueabihf-g++ -optimized-qmakeWith this result:
Creating qmake. Please wait...
g++ -c -o option.o -pipe -m64 -DQMAKE_OPENSOURCE_EDITION -O2 -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/usr/src/qt-everywhere-opensource-src-4.8.5/include -I/usr/src/qt-everywhere-opensource-src-4.8.5/include/QtCore -I/usr/src/qt-everywhere-opensource-src-4.8.5/src/corelib/global -I/usr/src/qt-everywhere-opensource-src-4.8.5/src/corelib/xml -I/usr/src/qt-everywhere-opensource-src-4.8.5/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/usr/src/qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-x86_64-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED option.cpp
g++ -o "/usr/src/qt-everywhere-opensource-src-4.8.5/bin/qmake" project.o property.o main.o makefile.o unixmake2.o unixmake.o mingw_make.o option.o winmakefile.o projectgenerator.o meta.o makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o borland_bmake.o msvc_vcproj.o msvc_vcxproj.o msvc_nmake.o msvc_objectmodel.o msbuild_objectmodel.o symmake.o initprojectdeploy_symbian.o symmake_abld.o symmake_sbsv2.o symbiancommon.o registry.o epocroot.o gbuild.o qtextcodec.o qutfcodec.o qstring.o qtextstream.o qiodevice.o qmalloc.o qglobal.o qbytearray.o qbytearraymatcher.o qdatastream.o qbuffer.o qlist.o qfile.o qfilesystementry.o qfilesystemengine_unix.o qfilesystemengine.o qfilesystemiterator_unix.o qfsfileengine_unix.o qfsfileengine.o qfsfileengine_iterator.o qregexp.o qvector.o qbitarray.o qdir.o qdiriterator.o quuid.o qhash.o qfileinfo.o qdatetime.o qstringlist.o qabstractfileengine.o qtemporaryfile.o qmap.o qmetatype.o qsettings.o qsystemerror.o qlibraryinfo.o qvariant.o qvsnprintf.o qlocale.o qlocale_tools.o qlocale_unix.o qlinkedlist.o qnumeric.o qcryptographichash.o qxmlstream.o qxmlutils.oYou have not explicitly asked to use pkg-config and are cross-compiling.
pkg-config will not be used to automatically query cflag/lib parameters for
dependenciesThe system floating point format could not be detected.
This may cause data to be generated in a wrong format
Turn on verbose messaging (-v) to see the final report.
OpenSSL support cannot be enabled due to functionality tests!
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.Thank's in advance.