Running Qt gui application on BBB

The point is I dont want to write code on the BeagleBone Black itself. Is it, lets say, possible to remote debug in qtcreator on host machine, but build on beagle? That is the case. I have always done it like this in eclipse:

build on host,
scp to beagle
remote run/ debug

Would this work in this case?

W dniu 2015-12-14 o 23:04, Robert Nelson pisze:

Just export your qtcreator project with the ".pro" file, tar it up,
copy to bbb, extract and run qmake

Regards,

Also the obvious other solution.. Use git* to store your project,
build test develop on your x86, clone/pull on your bbb and rebuild..

* This is kinda development 101, so i usually assume people already do this...

Regards,

http://derekmolloy.ie/beaglebone/qt-with-embedded-linux-on-the-beaglebone/

Regards,
John

Yes but in that case I would have to program for hours on BeagleBone Black... The point is, can I remote debug in this configuration?

W dniu 2015-12-14 o 23:10, Robert Nelson pisze:

gdb can communicate over tcp/ip..

Regards,

John I know this tutorial, but it assums crossxompiling. I need to have the executable on both targets then.

Robert, I cannot test on my host, because its different enviroment with different hardware.

W dniu 2015-12-14 o 23:11, John Syne pisze:

But wont I need the executable on both targets to gdb to work over tcp/ip?

W dniu 2015-12-14 o 23:13, Robert Nelson pisze:

But wont I need the executable on both targets to gdb to work over tcp/ip?

You only need the source on your host, but the source layout must be consistent with the debug symbols in the executable. This might also be helpful:

Regards,
John

Okay, I think I figured it out, but it would be a bit messy... So lets say I would have a postbuild script on my host, that after each succesfull build would scp over all .h and .c files to BeagleBone Black and build on the target as well (ssh command).

But then again, for gdb-multiarch I need to provide an executable on the host. So if I am building on target device, do I need to download the built executable back to host...?

W dniu 2015-12-14 o 23:13, Robert Nelson pisze:

Regards,
John

Okay, I think I figured it out, but it would be a bit messy... So lets say I would have a postbuild script on my host, that after each succesfull build would scp over all .h and .c files to BeagleBone Black and build on the target as well (ssh command).

But then again, for gdb-multiarch I need to provide an executable on the host. So if I am building on target device, do I need to download the built executable back to host…?

No

Okay guys, atm I am donwloading the lxqt image. AT first I will try to open the app on the BeagleBone Black itself. But after that works I need to figure out how to remote debug while building on beagle instead of cross compile on host.
Could you please only clarify my thoughts about it? If gdb-multiarch needs crosscompiled executable, how do I use it if I dont download the executable from target like you said i dont?

W dniu 2015-12-14 o 23:23, John Syne pisze:

Okay guys, atm I am donwloading the lxqt image. AT first I will try to open the app on the BeagleBone Black itself. But after that works I need to figure out how to remote debug while building on beagle instead of cross compile on host.
Could you please only clarify my thoughts about it? If gdb-multiarch needs crosscompiled executable, how do I use it if I dont download the executable from target like you said i dont?

On BBB you run gdbserver. On your host, you run gdb and then remote connect to your gdbserver. Watch Derrek Molloy’s chapter 7 video I gave you, starting at about 30 minutes.

Regards,
John

Ahh., thats the way, you are right...
Thank you for all the support guys, I really mean it! Hope to get it working in a while if i wont fall asleep on my desk!

I cant change the board right now, it has to be BeagleBone Black. Thats why I need to build on my host. Did you succed on installing QT5.1 and deploying it to BeagleBone Black? Maybe I should use it instead of 4.8.6 if its easier?

No one was saying change boards. Use the same board, but use a faster, more powerful ARM board to compile native ARM executable. The reasons are simple. No need to mess with cross compiling, which in many cases is messy, and sometimes near impossible.

You don’t think Robert spends days, or weeks compiling packages do you ? But why don’t we ask Robert. Robert, hey what percentage of the packages you build are compiled native to ARM, from some sort of beefy ARM board? I’m guessing nearly 100% if not 100% but . . .

So if I understand correctly, I should have a second board that is more powerfull than beagle just to compile the code for beagle?

Not necessarily, but consider this. How much does an embedded systems specialist in your area get paid per hour ? In my area, about 15-20 years ago. The cost of a board like the X15 would have been absorbed in roughly half a day. That is to say, an embedded systems specialist could buy a board for $239 after working roughly half a day.

Now take into account that figuring out how to cross compile something like this is a serious headache, and often takes days, if not weeks to get right . . .

Where I live (Szczecin, noth-west Poland) I think this board is worth about 30-40 hours of specialist work. The idea of compiling on a system that is simmilar to target sound ok to me, it makes sense that you dont need to crosscompile- But is that more comfortable for work? In a crosscompilation enviroment all I need to do is press debug and it runs. In this case there would have to be some kind of chain where files fly from my pc, through strong arm board to the beagle. But i gues you can automate that at some point.

Where I live (Szczecin, noth-west Poland) I think this board is worth about 30-40 hours of specialist work. The idea of compiling on a system that is simmilar to target sound ok to me, it makes sense that you dont need to crosscompile-

The boards do not even have to be similar. They just need to be able to support the same ABI. Which in the case of both the Beaglebone Black, and the X15( and wanderboard plus countless others ). They just need to support the armhf ABI. armv7 outside of the Debian world.

But is that more comfortable for work? In a crosscompilation enviroment all I need to do is press debug and it runs. In this case there would have to be some kind of chain where files fly from my pc, through strong arm board to the beagle. But i gues you can automate that at some point.

Let me put it this way. I’m fairly experienced when it comes to working with this sort of thing. With that said, I would not cross compile Qt. There are lots of things I would not cross compile. For instance, my buddy came to me asking advice on how to cross compile Wireshark for the Beaglebone black, then he probably wondered why I was looking at him crazy . . . My suggestion after finding out he was running out of memory was to hook up a USB hard drive, and use it as a swap disk. This worked fine for him. He did not mind waiting several hours for the binary to compile.

Anyway, my point there is that there are many ways to do the same thing. All should be taken into consideration. But what experience has taught me over the years. Cross compiling should be the very last resort. Unless you happen to find a very good guide. So considering that you seem to be fairly inexperienced. Yes, I think you should consider buying a board to help with your development. Especially considering you have a grade riding on your projects outcome.

I have just flashed my BeagleBone Black emmc with lxqt image linked by Robert. I cant seem to find qmake anywhere. I thought there would be qt installed and all. Am I missing something again?