Build a QT/11 application for beagleboard black by cross compiling from ubuntu

5,649 views
Skip to first unread message

Mirko Fucci

unread,
Jan 3, 2014, 10:20:56 AM1/3/14
to beagl...@googlegroups.com
Hi everyone,

I'm a little confused about how proceed to create QT/X11 applications for beaglebone black.
First of all i have succesfully developed, deployed and executed a first simple GUI QT/embedded application
following this tutorials http://www.cloud-rocket.com/2013/07/building-qt-for-beaglebone/
and now i'd like to build a similar application for X11.

Particularly, i  don't understand how to perform configure to build right libraries to copy to BBB.
Please help me, unfortunately i spent days in useless attemps to build QT/X11 for BBB that didn't work.

Thanks a lot.

dlewin555

unread,
Jan 8, 2014, 11:46:07 AM1/8/14
to beagl...@googlegroups.com
I don't understand when you talk about "deployed" did you mean "on the BBB" ?
FYI I've also tried from the same blog you linked and have been tried it during days
with Angstrom and never succeeded . 
Even if I've read many post about it  here Qt on the BBB seems to be a hard path.
Or maybe we both missed a tutorial that should be officially posted somewhere....

Mirko Fucci

unread,
Jan 9, 2014, 2:05:07 AM1/9/14
to beagl...@googlegroups.com

Yes i meant on the BBB copying the executable file.
That tutorial worked well for me, consider that to run tha executable
you need to exit form X-environemt and launch the program with -qws
parameter.

Whati kind of problems did you have ?

g...@creatron.co.za

unread,
Jan 10, 2014, 4:18:22 PM1/10/14
to beagl...@googlegroups.com
I used the instructions and got a working BBB with a CAP LCD7. However I needed to cut the eMMC lines to the LCD CAP (BeagleToys one), it is a A3 Ref but still did not work, but the site say is 100% BBB compatible.. ha ha . The only thing that does not work is the mouse when used with the LCD CAP, but that is not a problem to me as I used the touch screen. I made a document up with the instructions as I had to change some things to get the GUI , GDD and LCD cap working.

I also think QT creator has a bug , one has to delete the xx.user file and then setup the kit, else you cannot change the kit, it still uses the original kit. So just be sure to select the correct kit when started after the .user file was was deleted.

It works great !!


Building and setting up QT environment for BeagleBone

There are too few information available on how to easily setup QT environment for building Beaglebone applications (command line or GUI). In this tutorial we will compile QT and setup the environment from scratch.

1. My environment

  • Host: Ubuntu 13.10 64bit (VB)

  • Target: BeagleBone Black running Angstrom

  • QT: 4.8.5

2. Setup Angstrom cross-compile toolchain for Linux

Download :

Run

$> tar -C / -xjf angstrom-2011.03-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2

3. Download and un-tar QT

> wget http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz

> tar -xzf qt-everywhere-opensource-src-4.8.5.tar.gz

> mv qt-everywhere-opensource-src-4.8.5 qt-4.8.5-beagle


 4. Create qmake.conf

> cd qt-4.8.5-beagle

> mkdir ./mkspecs/qws/linux-am335x-g++

> cp ./mkspecs/qws/linux-arm-g++/qplatformdefs.h ./mkspecs/qws/linux-am335x-g++

> touch ./mkspecs/qws/linux-am335x-g++/qmake.conf


Add the following to qmake.conf with your favorite editor:

#

# qmake configuration for building with arm-linux-g++

#

include(../../common/linux.conf)

include(../../common/gcc-base-unix.conf)

include(../../common/g++-unix.conf)

include(../../common/qws.conf)

 

# modifications to g++.conf

#Toolchain

 

#Compiler Flags to take advantage of the ARM architecture

QMAKE_CFLAGS_RELEASE =   -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

 

QMAKE_CC = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/gcc

QMAKE_CXX = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++

QMAKE_LINK = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++

QMAKE_LINK_SHLIB = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++

 

# modifications to linux.conf

QMAKE_AR = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/ar cqs

QMAKE_OBJCOPY = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/objcopy

QMAKE_STRIP = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/strip

 

load(qt_config)

 5. Configure QT embedded

./configure -v -opensource -confirm-license -prefix /opt/qt -embedded arm -platform qws/linux-x86-g++ -xplatform qws/linux-am335x-g++ -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -little-endian -host-big-endian -no-pch -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-webkit -no-qt3support -nomake examples -nomake demos -nomake docs -nomake translations -qt-mouse-tslib

 6. Build and install

> make -j 4

> sudo make install

7. Install Qt SDK (lib) we built previously on your board

Make sure you beaglebone is connected to your host (assume ip =192.168.7.2 USB)

  • Create dir structure from your prefix:

    > root@beaglebone:/# mkdir /opt

    > root@beaglebone:/# mkdir /opt/qt

    > opkg install tslib-calibrate

    > ts-all

    > ts-calibrate (calibrate all points)

    > update-rc.d -f gdm remove

    > systemctl disable gdm.service

    > reboot

  • Copy lib from your host to beagle (after reboot):

    > scp -r /opt/qt/lib ro...@192.168.7.2:"/opt/qt"

  • Add the lib directory to path by editing /etc/profile and adding:

    PATH="...:/opt/qt/lib"

  • NS run applications preceding with

  • export QWS_MOUSE_PROTO=LinuxInput:/dev/input/eventx

    Note x could be 0 or 1 depending on your setup

    AND

  • ./xxxxx -qws where xxxx is your application

8. Download, install and configure QT Creator

I suggest installing QT Creator using regular installer:

> . /usr/local/angstrom/arm/environment-setup

    Test with > qmake2 and see if it response without error(not existing)

    Open Qt Creator and

  • Configure Qt version

    1. Go to Tools->Options->Build & Run->Qt Versions and click Add

    2. Select qmake.conf from /opt/qt/bin

    3. Click Ok

  • Configure target device connection

    1. Go to Tools->Options->Devices

    2. Click Add and select Generic Linux Device

    3. Add IP 192.168.7.2, User: root

    4. Set name to “Beaglebone”

    5. Click Ok

  • Configure Compiler

    1. Go to Tools->Options->Build & Run->Compilers and click Add->GCC

    2. Select compiler path: /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++

    3.Click Ok

  • Configure Kit

    1. Go to Tools->Options->Build & Run->Kits and click Add

    2. Call new kit Beaglebone

    3. Select device type: “Generic Linux Device”

    4. Select the device you previously created

    5. Select compiler you created

    6. Select Qt version you created

  • Select GDK path as /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gdk

    1. Click Ok (not found !! )

  • Configure GDB

    1 Goto Tools > Options > Build & Run,

    2. set Debugger > Edit to /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gdb

9. Build Qt application

  • Create new project (File->New project->Qt Project->Qt Console application)

  • Edit your project (.pro) file

  • Add the following after “TARGET=…” line:

    target.files = <YOUR EXECUTABLE NAME>

    target.path = /home/root

    INSTALLS = target

  • Go to Projects -> Run, you should see on “Files to deploy” table your “target” settings

  • Now you are ready to build and deploy you project on your target board

  • The following example application should print Hello world inside your console:

#include <QCoreApplication>

#include <iostream>


int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

std::cout << "hello world" << std::endl;

return a.exec();

}




William Pretty Security

unread,
Jan 11, 2014, 3:56:32 PM1/11/14
to beagl...@googlegroups.com

Hello List;

 

I got as far as Step 5 when I got this error.

I am using exactly the same host config as the author:

 

 

beaglebone@ubuntu:~/qt-4.8.5-beagle$ ./configure -v -opensource -confirm-license -prefix /opt/qt -embedded arm -platform qws/linux-x86-g++ -xplatform qws/linux-am335x-g++ -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -little-endian -host-big-endian -no-pch -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-webkit -no-qt3support -nomake examples -nomake demos -nomake docs -nomake translations -qt-mouse-tslib

 

Determining system architecture... (Linux:3.11.0-12-generic:x86_64)

    64-bit AMD 80x86 (x86_64)

    'arm' is supported

    'x86_64' is supported

System architecture: 'arm'

Host architecture: 'x86_64'

ERROR: Cannot set the compiler for the configuration tests

 

beaglebone@ubuntu:~/qt-4.8.5-beagle$ ^C

 

 

 

Anyone have any ideas or suggestions ?

 

http://www.packtpub.com/building-a-home-security-system-with-beaglebone/book

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No virus found in this message.
Checked by AVG - www.avg.com
Version: 2014.0.4259 / Virus Database: 3658/6991 - Release Date: 01/10/14

dlewin555

unread,
Jan 13, 2014, 5:27:14 AM1/13/14
to beagl...@googlegroups.com
Ciao Mirko,

I've writen an answer but it seems to be in another thread or lost. 
What I've said was that I tried and got (from mu comment on the blog ):

(...) even if I’ve follow all the steps the file on the target seems to miss libs : “-bash: ./TestQtapp: No such file or directory”
ldd gives “not a dynamic executable” while prints :
“ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped”
Even I’ve installed Qt 5.1 I’ve checked that the app was created with the compiled 4.8.5 as said here.

So now my purpose is to be able to cross compile but now without Angstrom (using Debian currently).
I've seen in a comment that someone successfully compiled with Linaro Toolchain instead. 
Please advise.

David

Mirko Fucci

unread,
Jan 13, 2014, 6:03:25 AM1/13/14
to beagl...@googlegroups.com

I performed only an additional step before to start that tutorial : i've installed GNU c++
compiler and everything worked.

Mirko Fucci

unread,
Jan 13, 2014, 8:18:10 AM1/13/14
to beagl...@googlegroups.com

i've neved had this kind of problem, just to clarify when do you get this ?
after you've copied executable on the BBB? or when you launch it with QT creator ?

Mirko Fucci

unread,
Jan 13, 2014, 8:35:11 AM1/13/14
to beagl...@googlegroups.com, g...@creatron.co.za

I experienced a simpler way to work with qt embedded for BBB following Derek Tutorial
http://www.youtube.com/watch?v=kP7uvOu9hoQ where you don't need to cross compile
QT:

- install toolchain on your host
- install qt4-embedded on BBB (opkg install qt4-embedded - fors-depends
- create on your host a QT creator version from (/usr/local/angstrom/... qmake2)
- create your kit to deploy app in BBB

The only problem i had is that installing qt4-embedded i had no linuxinput driver support for keyboard (because it'not in the default QT i guess)
so i had to cross-compile qt as shown in Meir tutorial(http://www.cloud-rocket.com/2013/07/building-qt-for-beaglebone/) with configure:

./configure -v -opensource -confirm-license -prefix /opt/qt -embedded arm -platform qws/linux-x86-g++ -xplatform qws/linux-am335x-g++ -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -little-endian -host-big-endian -no-pch -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-webkit -no-qt3support -nomake examples -nomake demos -nomake docs -nomake translations -qt-kbd-linuxinput

then to make mouse and keyboard work you have copy plugins dir in /opt/qt from your host to Beaglebone black and export like this before run your app:

QWS_MOUSE_PROTO = "LinuxInput:/dev/input/touchscreen0 MouseMan:/dev/input/mouse1" Touchscreen and mouse

QWS_KEYBOARD = "LinuxInput:/dev/input/event2 LinuxInput:/dev/input/event3:keymap=.../it.qmap"  LDC keys and my usb keyboard mapped to italian layout

QT_PLUGIN_PATH = "/opt/qt/plugins" needed for keyboard and MouseMan drivers

It was very but at the end everything works fine !

David Lewin

unread,
Jan 13, 2014, 10:31:27 AM1/13/14
to beagl...@googlegroups.com
Mirko :
Thanks for your answer.
Actually, I left Angstrom for a while ( independantly that it's going to be replaced by Debian) so intend to use Debian instead. Nevertheless, I suppose that it's not far from what you have done with Angstrom anyway.






2014/1/13 Mirko Fucci <mirko...@gmail.com>

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to a topic in the Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beagleboard/mb1R6NF5RH4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beagleboard...@googlegroups.com.

Louis McCarthy

unread,
Jan 13, 2014, 3:42:16 PM1/13/14
to beagl...@googlegroups.com
As far as I know, the Angstrom toolchain comes with qmake for qt-embedded, the Linaro toolchain does not, hence the reason for cross compiling Qt.

When you cross compile Qt, you end up with an installation folder (like /opt/qt or /usr/local/qt). This folder is where you point Qt Creator (Tools -> Options -> Build & Run -> Qt Versions). Qt Creator can then use the qmake executable, under the bin folder, to create your application to run on the BBB. 

In fact, you shouldn't need to compile the whole Qt project, just enough of the qmake tools to build apps to match the Qt version already installed on the BBB.

Running 'ldd <app_name>' on your host will result in "not a dynamic executable", because it is an ARM binary. But if you transfer the binary file to the BBB and run ldd again it will show you the proper output.

Louis

William Pretty Security

unread,
Jan 13, 2014, 5:31:46 PM1/13/14
to beagl...@googlegroups.com

I am working on this problem too.

I managed to “./configure” Ok.

 

 

Qt is now configured for building. Just run 'make'.

Once everything is built, you must run 'make install'.

Qt will be installed into /opt/qt

 

To reconfigure, run 'make confclean' and 'configure'.

 

beaglebone@ubuntu:~/qt-4.8.5-beagle$

 

 

But when I try to “make” I get the following error:

 

cd src/corelib/ && make -f Makefile

make[1]: Entering directory `/home/beaglebone/qt-4.8.5-beagle/src/corelib'

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++ -c -pipe -fno-exceptions -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DELF_INTERPRETER=\"/lib64/ld-linux-x86-64.so.2\" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/qws/linux-am335x-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared-emb-arm -o .obj/release-shared-emb-arm/qabstractanimation.o animation/qabstractanimation.cpp

make[1]: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++: Command not found

make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 127

make[1]: Leaving directory `/home/beaglebone/qt-4.8.5-beagle/src/corelib'

make: *** [sub-corelib-make_default-ordered] Error 2

 

 

http://www.packtpub.com/building-a-home-security-system-with-beaglebone/book

You received this message because you are subscribed to the Google Groups "BeagleBoard" group.

To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.

No virus found in this message.
Checked by AVG - www.avg.com

Version: 2014.0.4259 / Virus Database: 3658/6998 - Release Date: 01/13/14


No virus found in this message.
Checked by AVG - www.avg.com

Version: 2014.0.4259 / Virus Database: 3658/6910 - Release Date: 12/11/13
Internal Virus Database is out of date.

John Syn

unread,
Jan 13, 2014, 7:10:09 PM1/13/14
to beagl...@googlegroups.com


From: William Pretty Security <bill....@xplornet.com>
Reply-To: <beagl...@googlegroups.com>
Date: Monday, January 13, 2014 at 2:31 PM
To: <beagl...@googlegroups.com>
Subject: RE: [beagleboard] Re: Build a QT/11 application for beagleboard black by cross compiling from ubuntu

I am working on this problem too.

I managed to “./configure” Ok.

 

 

Qt is now configured for building. Just run 'make'.

Once everything is built, you must run 'make install'.

Qt will be installed into /opt/qt

 

To reconfigure, run 'make confclean' and 'configure'.

 

beaglebone@ubuntu:~/qt-4.8.5-beagle$

 

 

But when I try to “make” I get the following error:

 

cd src/corelib/ && make -f Makefile

make[1]: Entering directory `/home/beaglebone/qt-4.8.5-beagle/src/corelib'

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++ -c -pipe -fno-exceptions -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DELF_INTERPRETER=\"/lib64/ld-linux-x86-64.so.2\" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/qws/linux-am335x-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared-emb-arm -o .obj/release-shared-emb-arm/qabstractanimation.o animation/qabstractanimation.cpp

make[1]: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++: Command not found

make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 127

make[1]: Leaving directory `/home/beaglebone/qt-4.8.5-beagle/src/corelib'

make: *** [sub-corelib-make_default-ordered] Error 2

Hi William,

If you run the following command, what do you get:

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++ —version

From the above error, g++ is missing.

Regards,
John

William Pretty Security

unread,
Jan 13, 2014, 11:21:34 PM1/13/14
to beagl...@googlegroups.com

 

 

Hi William,

 

If you run the following command, what do you get:

 

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++ —version

 

From the above error, g++ is missing.

 

Regards,

John

 

Hi John:

 

When I cut and paste you command into the terminal I get:

 

beaglebone@ubuntu:~$ /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++ —version

bash: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++: No such file or directory

 

If I simply enter:

beaglebone@ubuntu:~$ g++ -version

 

I get:

 

g++: error: unrecognized command line option ‘-version’

g++: fatal error: no input files

compilation terminated.

 

 

However, when I got to: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin

I see the following:

 

beaglebone@ubuntu:/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin$ ls -l

total 172

lrwxrwxrwx 1 root root    46 Mar 18  2011 addr2line -> ../../bin/arm-angstrom-linux-gnueabi-addr2line

lrwxrwxrwx 1 root root    39 Mar 18  2011 ar -> ../../bin/arm-angstrom-linux-gnueabi-ar

lrwxrwxrwx 1 root root    39 Mar 18  2011 as -> ../../bin/arm-angstrom-linux-gnueabi-as

lrwxrwxrwx 1 root root    40 Mar 18  2011 cc -> ../../bin/arm-angstrom-linux-gnueabi-gcc

lrwxrwxrwx 1 root root    44 Mar 18  2011 c++filt -> ../../bin/arm-angstrom-linux-gnueabi-c++filt

lrwxrwxrwx 1 root root    40 Mar 18  2011 cpp -> ../../bin/arm-angstrom-linux-gnueabi-cpp

-rwxr-xr-x 1 root root  4328 Mar 16  2011 dmesg.util-linux-ng

lrwxrwxrwx 1 root root    40 Mar 18  2011 g++ -> ../../bin/arm-angstrom-linux-gnueabi-g++

lrwxrwxrwx 1 root root    40 Mar 18  2011 gcc -> ../../bin/arm-angstrom-linux-gnueabi-gcc

lrwxrwxrwx 1 root root    43 Mar 18  2011 gccbug -> ../../bin/arm-angstrom-linux-gnueabi-gccbug

lrwxrwxrwx 1 root root    41 Mar 18  2011 gcov -> ../../bin/arm-angstrom-linux-gnueabi-gcov

lrwxrwxrwx 1 root root    45 Mar 18  2011 gfortran -> ../../bin/arm-angstrom-linux-gnueabi-gfortran

lrwxrwxrwx 1 root root    42 Mar 18  2011 gprof -> ../../bin/arm-angstrom-linux-gnueabi-gprof

-rwxr-xr-x 1 root root  7660 Mar 16  2011 kill.util-linux-ng

lrwxrwxrwx 1 root root    39 Mar 18  2011 ld -> ../../bin/arm-angstrom-linux-gnueabi-ld

-rwxr-xr-x 1 root root 18964 Mar 16  2011 login.util-linux-ng

-rwxr-xr-x 1 root root 30660 Mar 16  2011 more.util-linux-ng

-rwsr-xr-x 1 root root 58400 Mar 16  2011 mount.util-linux-ng

lrwxrwxrwx 1 root root    39 Mar 18  2011 nm -> ../../bin/arm-angstrom-linux-gnueabi-nm

lrwxrwxrwx 1 root root    44 Mar 18  2011 objcopy -> ../../bin/arm-angstrom-linux-gnueabi-objcopy

lrwxrwxrwx 1 root root    44 Mar 18  2011 objdump -> ../../bin/arm-angstrom-linux-gnueabi-objdump

lrwxrwxrwx 1 root root    43 Mar 18  2011 ranlib -> ../../bin/arm-angstrom-linux-gnueabi-ranlib

lrwxrwxrwx 1 root root    44 Mar 18  2011 readelf -> ../../bin/arm-angstrom-linux-gnueabi-readelf

lrwxrwxrwx 1 root root    41 Mar 18  2011 size -> ../../bin/arm-angstrom-linux-gnueabi-size

lrwxrwxrwx 1 root root    44 Mar 18  2011 strings -> ../../bin/arm-angstrom-linux-gnueabi-strings

lrwxrwxrwx 1 root root    42 Mar 18  2011 strip -> ../../bin/arm-angstrom-linux-gnueabi-strip

-rwsr-xr-x 1 root root 35560 Mar 16  2011 umount.util-linux-ng

-rwxr-xr-x 1 root root  4202 Mar 16  2011 usb-devices

 

 

Should there be two “ - - “ dashes ? Or did something go wrong with ./configure ?

 

Bill

John Syn

unread,
Jan 14, 2014, 12:28:24 AM1/14/14
to beagl...@googlegroups.com
From: William Pretty Security <bill....@xplornet.com>
Reply-To: <beagl...@googlegroups.com>
Date: Monday, January 13, 2014 at 8:21 PM

To: <beagl...@googlegroups.com>
Subject: RE: [beagleboard] Re: Build a QT/11 application for beagleboard black by cross compiling from ubuntu

 

 

Hi William,

Yeah, there are two dashes before version. The g++ in that folder is just a symbolic link to another file which is two directories down in the bin folder. Does this file exist relative to the original folder:
../../bin/arm-angstrom-linux-gnueabi-g++
Which I believe is this file:
/usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++
Does this file exist? My guess is it doesn’t exist. 

Clearly you do have a g++ on your system, but that would be the native x86 g++, and not the cross compile g++. 

Try typing arm- and then hit the tab twice (autocomplete) to see if you have any arm cross compiler installed on your system. 

Regards,
John

 

Bill

William Pretty Security

unread,
Jan 14, 2014, 12:35:02 AM1/14/14
to beagl...@googlegroups.com

Thanks John, I’ll try that.

 

In the mean time, the instructions I was following were: http://www.cloud-rocket.com/2013/07/building-qt-for-beaglebone/

 

If that helps any ?

 

 

 

From: beagl...@googlegroups.com [mailto:beagl...@googlegroups.com] On Behalf Of William Pretty Security
Sent: Monday, January 13, 2014 11:22 PM
To: beagl...@googlegroups.com
Subject: RE: [beagleboard] Re: Build a QT/11 application for beagleboard black by cross compiling from ubuntu

 

 

 

Hi William,

No virus found in this message.
Checked by AVG - www.avg.com
Version: 2014.0.4259 / Virus Database: 3658/6910 - Release Date: 12/11/13
Internal Virus Database is out of date.

No virus found in this message.


Checked by AVG - www.avg.com

Version: 2014.0.4259 / Virus Database: 3658/7000 - Release Date: 01/13/14

William Pretty Security

unread,
Jan 14, 2014, 12:38:31 AM1/14/14
to beagl...@googlegroups.com

Thanks John, I’ll try that.

 

In the mean time, the instructions I was following were: http://www.cloud-rocket.com/2013/07/building-qt-for-beaglebone/

 

If that helps any ??

 

Also I used “apt-get install g++” to install g++ on my desktop (development) system.

That was probably a mistake L

 

Bill

 

No virus found in this message.
Checked by AVG - www.avg.com
Version: 2014.0.4259 / Virus Database: 3658/6910 - Release Date: 12/11/13
Internal Virus Database is out of date.

No virus found in this message.


Checked by AVG - www.avg.com

Version: 2014.0.4259 / Virus Database: 3658/7000 - Release Date: 01/13/14

--

David Lewin

unread,
Jan 14, 2014, 5:30:29 AM1/14/14
to beagl...@googlegroups.com
Actually if you talk about the qmake.conf : this is not a problem as it's easy to change the paths to a different toolchain in there ( to point to -gcc -ld, etc) . I'd rather prefer to use the power of my PC to compile all and send binaries to the BBB . the ldd I have done was to show what were missing but at the end it was an arm format.



2014/1/13 Louis McCarthy <comp...@gmail.com>

William Pretty Security

unread,
Jan 14, 2014, 10:58:38 AM1/14/14
to beagl...@googlegroups.com

 

 

Yeah, there are two dashes before version. The g++ in that folder is just a symbolic link to another file which is two directories down in the bin folder. Does this file exist relative to the original folder:

../../bin/arm-angstrom-linux-gnueabi-g++

Which I believe is this file:

/usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++

Does this file exist? My guess is it doesn’t exist. 

 

Clearly you do have a g++ on your system, but that would be the native x86 g++, and not the cross compile g++. 

 

Try typing arm- and then hit the tab twice (autocomplete) to see if you have any arm cross compiler installed on your system. 

 

Regards,

John

 

Hi John;

 

When I type arm-[tab][tab] it doesn’t autocomplete.

However, here is the contents of the directory you mentioned.

In the browser it shows as an executable, however when I try to “execute” it I get a “no such program” error message L

Could there be a conflict somewhere in the path or permissions ?

 

beaglebone@ubuntu:/usr/local/angstrom/arm/bin$ ls -l

-rwxr-xr-x 1 root root   483996 Mar 16  2011 arm-angstrom-linux-gnueabi-addr2line

-rwxr-xr-x 1 root root   503544 Mar 16  2011 arm-angstrom-linux-gnueabi-ar

-rwxr-xr-x 1 root root   853272 Mar 16  2011 arm-angstrom-linux-gnueabi-as

-rwxr-xr-x 1 root root   483800 Mar 16  2011 arm-angstrom-linux-gnueabi-c++filt

-rwxr-xr-x 1 root root   436563 Mar 16  2011 arm-angstrom-linux-gnueabi-cpp

-rwxr-xr-x 1 root root   438687 Mar 16  2011 arm-angstrom-linux-gnueabi-g++

-rwxr-xr-x 1 root root   434700 Mar 16  2011 arm-angstrom-linux-gnueabi-gcc

-rwxr-xr-x 1 root root    17422 Mar 16  2011 arm-angstrom-linux-gnueabi-gccbug

-rwxr-xr-x 1 root root    75976 Mar 16  2011 arm-angstrom-linux-gnueabi-gcov

-rwxr-xr-x 1 root root  3184888 Mar 16  2011 arm-angstrom-linux-gnueabi-gdb

-rwxr-xr-x 1 root root  3184892 Mar 16  2011 arm-angstrom-linux-gnueabi-gdbtui

-rwxr-xr-x 1 root root   442039 Mar 16  2011 arm-angstrom-linux-gnueabi-gfortran

-rwxr-xr-x 1 root root   538904 Mar 16  2011 arm-angstrom-linux-gnueabi-gprof

-rwxr-xr-x 1 root root   873752 Mar 16  2011 arm-angstrom-linux-gnueabi-ld

-rwxr-xr-x 1 root root   490292 Mar 16  2011 arm-angstrom-linux-gnueabi-nm

-rwxr-xr-x 1 root root   629144 Mar 16  2011 arm-angstrom-linux-gnueabi-objcopy

-rwxr-xr-x 1 root root   759480 Mar 16  2011 arm-angstrom-linux-gnueabi-objdump

-rwxr-xr-x 1 root root   503548 Mar 16  2011 arm-angstrom-linux-gnueabi-ranlib

-rwxr-xr-x 1 root root   261868 Mar 16  2011 arm-angstrom-linux-gnueabi-readelf

-rwxr-xr-x 1 root root   748476 Mar 16  2011 arm-angstrom-linux-gnueabi-run

-rwxr-xr-x 1 root root   483988 Mar 16  2011 arm-angstrom-linux-gnueabi-size

-rwxr-xr-x 1 root root   483960 Mar 16  2011 arm-angstrom-linux-gnueabi-strings

-rwxr-xr-x 1 root root   629144 Mar 16  2011 arm-angstrom-linux-gnueabi-strip

-rwxr-xr-x 1 root root   281569 Mar 16  2011 i686-linux-libtool

-rwxr-xr-x 1 root root   281569 Mar 16  2011 libtool

-rwxr-xr-x 1 root root    68311 Mar 16  2011 libtoolize

lrwxrwxrwx 1 root root        9 Mar 18  2011 lrelease -> lrelease4

-rwxr-xr-x 1 root root  1445808 Mar 18  2011 lrelease4

lrwxrwxrwx 1 root root        8 Mar 18  2011 lupdate -> lupdate4

-rwxr-xr-x 1 root root  1873816 Mar 18  2011 lupdate4

lrwxrwxrwx 1 root root        4 Mar 18  2011 moc -> moc4

-rwxr-xr-x 1 root root   907660 Mar 18  2011 moc4

-rwxr-xr-x 1 root root    12344 Mar 16  2011 opkg-cl

-rwxr-xr-x 1 root root     1671 Mar 16  2011 opkg-key

-rwxr-xr-x 1 root root    88372 Mar 16  2011 pkg-config

lrwxrwxrwx 1 root root       13 Mar 18  2011 qdbuscpp2xml -> qdbuscpp2xml4

-rwxr-xr-x 1 root root  1362620 Mar 18  2011 qdbuscpp2xml4

lrwxrwxrwx 1 root root       13 Mar 18  2011 qdbusxml2cpp -> qdbusxml2cpp4

-rwxr-xr-x 1 root root  1562652 Mar 18  2011 qdbusxml2cpp4

lrwxrwxrwx 1 root root        6 Mar 18  2011 qmake -> qmake2

-rwxr-xr-x 1 root root  3272168 Mar 18  2011 qmake2

lrwxrwxrwx 1 root root        4 Mar 18  2011 rcc -> rcc4

-rwxr-xr-x 1 root root   966932 Mar 18  2011 rcc4

lrwxrwxrwx 1 root root        4 Mar 18  2011 uic -> uic4

lrwxrwxrwx 1 root root        5 Mar 18  2011 uic3 -> uic34

-rwxr-xr-x 1 root root 10331364 Mar 18  2011 uic34

-rwxr-xr-x 1 root root  1329196 Mar 18  2011 uic4

-rwxr-xr-x 1 root root     4524 Mar 16  2011 update-alternatives

 

Message has been deleted

Louis McCarthy

unread,
Jan 14, 2014, 12:20:46 PM1/14/14
to beagl...@googlegroups.com
Did you install the right toolchain for your host, 32 bit or 64 bit. If 64 bit you need to include the ia32-libs (apt-get install).

I would also add /usr/local/angstrom/arm/ to your path:
export PATH=$PATH:/usr/local/angstrom/arm

Then try the arm-[tab][tab] again.

Louis McCarthy

unread,
Jan 14, 2014, 12:23:24 PM1/14/14
to beagl...@googlegroups.com
Correction, export PATH=$PATH:/usr/local/angstrom/arm/bin

I forgot the last bin.....

William Pretty Security

unread,
Jan 14, 2014, 6:30:22 PM1/14/14
to beagl...@googlegroups.com

From: beagl...@googlegroups.com [mailto:beagl...@googlegroups.com] On Behalf Of Louis McCarthy
Sent: Tuesday, January 14, 2014 12:23 PM
To: beagl...@googlegroups.com
Subject: Re: [beagleboard] Re: Build a QT/11 application for beagleboard black by cross compiling from ubuntu

 

Correction, export PATH=$PATH:/usr/local/angstrom/arm/bin

 

I forgot the last bin.....

On Tuesday, January 14, 2014 11:20:46 AM UTC-6, Louis McCarthy wrote:

Did you install the right toolchain for your host, 32 bit or 64 bit. If 64 bit you need to include the ia32-libs (apt-get install).

 

I would also add /usr/local/angstrom/arm/ to your path:

export PATH=$PATH:/usr/local/angstrom/arm

 

Then try the arm-[tab][tab] again.

Here is the result of that:

 

beaglebone@ubuntu:~$  export PATH=$PATH:/usr/local/angstrom/arm/bin

beaglebone@ubuntu:~$ g++ --version

g++ (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1

Copyright (C) 2013 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

Also I put a dash before the “check” by mistake, however the info may be of use:

 

beaglebone@ubuntu:~/qt-4.8.5-beagle$ make -check

make: invalid option -- 'c'

make: invalid option -- 'c'

Usage: make [options] [target] ...

This program built for x86_64-pc-linux-gnu

Report bugs to bug-...@gnu.org

 

I think there must be a syntax error in qabstractanimation.cpp ?

It is the only code that fails “make check”

 

cd src/corelib/ && make -f Makefile check

make[1]: Entering directory `/home/beaglebone/qt-4.8.5-beagle/src/corelib'

/home/beaglebone/qt-4.8.5-beagle/bin/moc -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DELF_INTERPRETER=\"/lib64/ld-linux-x86-64.so.2\" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/qws/linux-am335x-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared-emb-arm animation/qabstractanimation.h -o .moc/release-shared-emb-arm/moc_qabstractanimation.cpp

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++ -c -pipe -fno-exceptions -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DELF_INTERPRETER=\"/lib64/ld-linux-x86-64.so.2\" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/qws/linux-am335x-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared-emb-arm -o .obj/release-shared-emb-arm/qabstractanimation.o animation/qabstractanimation.cpp

 

make[1]: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++: Command not found

make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 127

make[1]: Leaving directory `/home/beaglebone/qt-4.8.5-beagle/src/corelib'

make: *** [sub-corelib-check_ordered] Error 2

 

dlewin555

unread,
Jan 15, 2014, 3:48:11 AM1/15/14
to beagl...@googlegroups.com
I missed this answer, sry ; yes : this happend after built Qt app on host and tried to run it on BBB.

Louis McCarthy

unread,
Jan 15, 2014, 2:41:49 PM1/15/14
to beagl...@googlegroups.com
I guess I wasn't clear, you need to type 'arm-angstrom-linux-gnueabi-g++ --version'. Just typing g++ will use your regular host compiler (not toolchain cross compiler)

If that gives a valid response, you then need to modify your qmake.conf files or configure command line options (depending on Qt version and how you configured it) to point to the full binary name, not just g++.

From the error message, I doubt the error is in qabstractanimation.cpp, but you can look around for a local qmake.conf file, for that module, that may be pointing to the wrong g++.
Louis

William Pretty Security

unread,
Jan 15, 2014, 3:15:11 PM1/15/14
to beagl...@googlegroups.com

Thanks for all the help Louis. I really appreciate it!

 

As you have probably guessed I am new to cross-compiling J

 

http://www.packtpub.com/building-a-home-security-system-with-beaglebone/book

--

For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No virus found in this message.
Checked by AVG - www.avg.com

Version: 2014.0.4259 / Virus Database: 3681/7004 - Release Date: 01/15/14

Louis McCarthy

unread,
Jan 16, 2014, 9:41:38 AM1/16/14
to beagl...@googlegroups.com
You're welcome. Sometimes things sound so clear when I write them, but the next day....not so much :)

I've created a howto on my blog, for building Qt 5.2 targeted at a BBB running Ubuntu. It is similar to the cloud-rocket site, but using the Linaro toolchain, and I start from the very beginning: Ubuntu virtual machine creation. I tried to be verbose, so maybe you can use it to double check your host configuration. Search for "Bare Metal Qt5.2 Beaglebone" if you are interested.

Qt 5.2 is very different from 4.x (QPA vs QWS), so I am not recommending that you change, especially if you have a working 4.x application. I am still trying to work out the GUI bugs and figure out exactly what modules I need to compile into Qt (the configure options have significantly changed from 4.x to 5.2)

Louis

Correction, export PATH=$PATH:/usr/local/angstrom/arm/bin

 

William Pretty Security

unread,
Jan 16, 2014, 10:04:34 AM1/16/14
to beagl...@googlegroups.com

From: beagl...@googlegroups.com [mailto:beagl...@googlegroups.com] On Behalf Of Louis McCarthy
Sent: Thursday, January 16, 2014 9:42 AM


To: beagl...@googlegroups.com
Subject: Re: [beagleboard] Re: Build a QT/11 application for beagleboard black by cross compiling from ubuntu

 

You're welcome. Sometimes things sound so clear when I write them, but the next day....not so much :)

 

Been there myself J

 

I've created a howto on my blog, for building Qt 5.2 targeted at a BBB running Ubuntu. It is similar to the cloud-rocket site, but using the Linaro toolchain, and I start from the very beginning: Ubuntu virtual machine creation. I tried to be verbose, so maybe you can use it to double check your host configuration. Search for "Bare Metal Qt5.2 Beaglebone" if you are interested.

 

I’ll give it a look.

 

Qt 5.2 is very different from 4.x (QPA vs QWS), so I am not recommending that you change, especially if you have a working 4.x application. I am still trying to work out the GUI bugs and figure out exactly what modules I need to compile into Qt (the configure options have significantly changed from 4.x to 5.2)

 

I think I’ll let YOU squash the bugs  J  In the mean time, I think I will start over from scratch with the  cloud-rocket version.

This time I am going to make sure the compiler works before I continue with the rest of the steps!

 

 

Version: 2014.0.4259 / Virus Database: 3681/7007 - Release Date: 01/16/14


No virus found in this message.
Checked by AVG - www.avg.com

Version: 2014.0.4259 / Virus Database: 3681/7007 - Release Date: 01/16/14

William Pretty Security

unread,
Jan 16, 2014, 1:21:09 PM1/16/14
to beagl...@googlegroups.com

Ok;

 

We have something weird going on here (?)

I started with a fresh VM and just installed the tool chain, from the file I had previously downloaded.

I then gave myself root access and went to the “/usr/local/angstrom/bin” directory.

 

Here’s what happened:

 

root@ubuntu:/usr/local/angstrom/arm/bin# arm-angstrom-linux-gnueabi-g++

arm-angstrom-linux-gnueabi-g++: command not found

 

root@ubuntu:/usr/local/angstrom/arm/bin# arm-angstrom-linux-gnueabi-g++ --version

arm-angstrom-linux-gnueabi-g++: command not found

 

 

root@ubuntu:/usr/local/angstrom/arm/bin# ./arm-angstrom-linux-gnueabi-g++ --version

bash: ./arm-angstrom-linux-gnueabi-g++: No such file or directory

 

When I type “ls –l” I get:

.

.

.

Looks to me like the program is executable. Could it be damaged or am I doing something wrong ?

 

Bill

--

For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No virus found in this message.
Checked by AVG - www.avg.com

Version: 2014.0.4259 / Virus Database: 3681/7004 - Release Date: 01/15/14

dlewin555

unread,
Jan 17, 2014, 3:53:57 AM1/17/14
to beagl...@googlegroups.com
Louis,

Could you please remind me the pointer to this how to?
I'm sure this could be ok for me on Debian.

David

Louis McCarthy

unread,
Jan 17, 2014, 12:41:41 PM1/17/14
to beagl...@googlegroups.com
@Bill
Can you run 'uname -a' from a terminal and post the results here?
What is the file name (or download link) of the angstrom toolchain that you downloaded?

@David
Sure. I have tried it with the Debian beta and it seems to be working.

Correction, export PATH=$PATH:/usr/local/angstrom/arm/bin

 

Don deJuan

unread,
Jan 17, 2014, 12:46:01 PM1/17/14
to beagl...@googlegroups.com
Or just install ArchLinux and do
pacman -S qt

and be done with having to deal with compiling qt5 yourself. You can even install qt3 qt4 and qt5 all on the same box with this simple command
pacman -S qt qt4 qt3

William Pretty Security

unread,
Jan 17, 2014, 5:11:57 PM1/17/14
to beagl...@googlegroups.com

 

@Don & Louis

 

I feel really dumb L

 

I discovered my problem when I compared the post on this list to the Cloud-Rocket site.

The post on this list said the desktop environment was: Ubuntu 13.10 64bit (VB).

While the ones on the Cloud-Rocket site said: Ubuntu 12.10 32bit (VMplayer)

 

The reason I was having so much trouble is I was trying to run a 32 bit app in a 64 bit OS L

I built Ubuntu 12.10 32bit, and now things are rolling right along.

 

I have yet to compile the hello world program, but I’m getting there …..

 

Bill

 

 

From: beagl...@googlegroups.com [mailto:beagl...@googlegroups.com] On Behalf Of Don deJuan
Sent: Friday, January 17, 2014 12:46 PM
To: beagl...@googlegroups.com
Subject: Re: [beagleboard] Re: Build a QT/11 application for beagleboard black by cross compiling from ubuntu

 

On 01/17/2014 09:41 AM, Louis McCarthy wrote:

dlewin555

unread,
Jan 18, 2014, 1:43:16 PM1/18/14
to beagl...@googlegroups.com
Thanks Louis.
When you say "Debian Beta" I assume that it the official one, not the BBB (from Robert C Nelson) right ?
Well I have to try it myself btw.

William Hermans

unread,
Jan 18, 2014, 4:43:54 PM1/18/14
to beagl...@googlegroups.com
For the record, Robert Nelsons Debian image is custom kernel only, with a "stock" file image. Also, as far as I know "Roberts Debian" *is* the only "official" Debian for the Beagelbone black. 

David Lewin

unread,
Jan 18, 2014, 8:08:53 PM1/18/14
to beagl...@googlegroups.com

Well i was refering to official Debian image as another possibility

You received this message because you are subscribed to a topic in the Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beagleboard/mb1R6NF5RH4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beagleboard...@googlegroups.com.

André Prado

unread,
Jan 18, 2014, 8:33:37 PM1/18/14
to beagl...@googlegroups.com
How can i install the Robert's Debian on my BBB? 
Att
André

Louis McCarthy

unread,
Jan 19, 2014, 10:21:31 AM1/19/14
to beagl...@googlegroups.com

I tested it on Robert Nelson's Debian beta found at a link from this forum post:

https://groups.google.com/forum/m/#!category-topic/beagleboard/9EG0SbhwTx0

David Lewin

unread,
Jan 21, 2014, 9:12:08 AM1/21/14
to beagl...@googlegroups.com
fine. This worth another test then, thanks Louis


2014/1/19 Louis McCarthy <comp...@gmail.com>

Micka

unread,
Feb 6, 2014, 5:34:39 AM2/6/14
to beagl...@googlegroups.com
Hi Louis,

I'm totally lost with cross compile with QT ..... I've the ubuntu distribution image from Robert Nelson.

Beagle :
ubuntu@arm:~$ uname -a
Linux arm 3.8.13-bone35 #2 SMP Mon Jan 13 14:52:52 CET 2014 armv7l armv7l armv7l GNU/Linux
ubuntu@arm:~$ qmake -version
QMake version 2.01a
Using Qt version 4.8.4 in /usr/lib/arm-linux-gnueabihf


PC :

And I'm trying to compile an hello world in my ubuntu VM VirtualBox ( 32bit ) .
l
I've downloaded angstrom-2011.03-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2
then tar -C / -xjf angstrom-2011.03-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2
and . /usr/local/angstrom/arm/environment-setup

qtcreator :
the gcc that i'm using is here : 
/usr/bin/arm-linux-gnueabi-g++

the QT version :
/usr/local/angstrom/arm/bin/qmake2

and when i wan to make my project I got :

arm-angstrom-linux-gnueabi-g++ -c -pipe   -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/share/qtopia/mkspecs/linux-g++ -I../beagleTest -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi//usr/include/qtopia/QtCore -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi//usr/include/qtopia -I. -I../beagleTest -I. -o main.o ../beagleTest/main.cpp
arm-angstrom-linux-gnueabi-g++  -o beagleTest main.o    -L/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi//usr/lib -lglib-2.0 -lQtCoreE -lpthread

After, I put the file beagleTest in my beagle directory .

Beagle:
sudo chmod +x beagleTest
ubuntu@arm:~$ ./beagleTest -qws
-bash: ./beagleTest: No such file or directory

Why ?

ubuntu@arm:~$ readelf -h beagleTest
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x8640
  Start of program headers:          52 (bytes into file)
  Start of section headers:          100096 (bytes into file)
  Flags:                             0x4000002, has entry point, Version4 EABI
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         8
  Size of section headers:           40 (bytes)
  Number of section headers:         39
  Section header string table index: 36



I'm really lost, do you have an idea ?

Thx,










Robert Nelson

unread,
Feb 6, 2014, 9:20:19 AM2/6/14
to Beagle Board
> ubuntu@arm:~$ qmake -version
> QMake version 2.01a
> Using Qt version 4.8.4 in /usr/lib/arm-linux-gnueabihf

> the gcc that i'm using is here :
>
> /usr/bin/arm-linux-gnueabi-g++

Your using ubuntu "armhf" yet building the appplication with a "gnueabi" based compiler..

"armhf" uses this linker:
/lib/ld-linux-armhf.so.3

"armel/gnueabi" uses this linker:
/lib/ld-linux.so.3

Use the correct "gnueabihf" toolchain..

Regards,

--
Robert Nelson
http://www.rcn-ee.com/

Micka

unread,
Feb 6, 2014, 11:49:48 AM2/6/14
to beagl...@googlegroups.com
Thx I didn't see that .... But It means also that I can't use the toolchains qt from angstrom .... because it's compiled with the hf .... .

does someone know how to cross compile qt ? I don't need a full explanation just a little explanation .


Any idea ?


--

Micka

unread,
Feb 6, 2014, 11:50:15 AM2/6/14
to beagl...@googlegroups.com
Thx I didn't see that .... But It means also that I can't use the toolchains qt from angstrom .... because it's compiled withOUT the hf .... .

does someone know how to cross compile qt ? I don't need a full explanation just a little explanation .


Any idea ?

Tux Leonard

unread,
Feb 6, 2014, 1:53:14 PM2/6/14
to beagl...@googlegroups.com
Hi Micka,

I shared the toolchain I use and qt sources with you.
This combination works on my BBB.

Roy


2014-02-06 Micka <micka...@gmail.com>:

Micka

unread,
Feb 6, 2014, 2:34:40 PM2/6/14
to beagl...@googlegroups.com
Thx,

But are you working with the image from Robert nelson ( ubuntu ) .

And what do you want me to do with the qt-everywhere opensource src folder ?

micka,

Louis McCarthy

unread,
Feb 6, 2014, 3:16:49 PM2/6/14
to beagl...@googlegroups.com
Not to plug my own site, but I give very detailed instructions on my blog post, which should guide you through what to download and what files to put where.....

The Angstrom toolkit already included qmake, but because we need hf, you have to build qmake with a cross-compiler (I recommend Linaro). That is why you need to install the qt-everywhere source.

I am exploring the creation of a toolchain, for Debian, much like Angstrom had.....just too many other fires right now....


You received this message because you are subscribed to a topic in the Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beagleboard/mb1R6NF5RH4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beagleboard...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--

“If we can prevent the government from wasting the labors of the people, under the pretense of taking care of them, they must become happy." - Thomas Jefferson

Franck freedev

unread,
Feb 18, 2014, 12:08:44 PM2/18/14
to beagl...@googlegroups.com
Hello, so did you find a way to cross-compile Qt with X11 support for BBB with an armhf (Debian or Ubuntu) file system?

Andersan Xiley

unread,
Jun 10, 2014, 6:42:24 PM6/10/14
to beagl...@googlegroups.com
Hi Mirko,

Any news on how to compile QT for X11 on angstrom?
I have the same issue.

Regards,

Mirko Fucci

unread,
Jun 11, 2014, 3:21:44 AM6/11/14
to beagl...@googlegroups.com
Hi Andersan,

i gave up X11 solution and i built QT/embedded for debian succesfully.
I wouldn't know if there are advantages in X11 environment
but this solution fits all my requirements.

Regards.


--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to a topic in the Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beagleboard/mb1R6NF5RH4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Peter Gregory

unread,
Sep 10, 2014, 10:21:25 AM9/10/14
to beagl...@googlegroups.com
Hi Mirko,

How did you get rid of the X server dependencies?
I'm using QT Creator. Building a new QT application seems to require X server.
On a headless version of Ubuntu 14.04 I can get the pre-compiled demos to work using -platform linuxfb
However, my custom compiled code bombs out trying to start X server.
Is there a special way to build the project to target linuxfb?

Micka

unread,
Sep 10, 2014, 12:29:24 PM9/10/14
to beagl...@googlegroups.com
That could be very cool if you could create a qt toolchain for debian ;)


Micka,

Mirko Fucci

unread,
Sep 16, 2014, 4:03:56 PM9/16/14
to beagl...@googlegroups.com
Hi Peter,

apologise for the delay, at the end I decided to develop for linuxfb cross compiling QT embedded.
However in one of my attempts i had succesfull compiled QT for X-server and the application run in X environment. I didn't need to solve X server dependencies in this case but i really couldn't find the right configuration i used to compile QT, sorry.

Mirko

Reply all
Reply to author
Forward
0 new messages