0
votes

I'm running a BBB with debian, kernel 3.8. I've got Qt up and running, I can do a simple hello world program on it. Everything works great.

My host machine is running Ubuntu 12.04 32 bit.

I'm trying to install the qserialport library, but its giving me a lot of grief. I've tried following the wiki here.

Running from the command line seems promising, but I'm not sure how to resolve the error that I'm seeing. When I've run the qmake successfully, but when I run the make command I run into the error: arm-linux-bnueabihf/bin/ld: cannot find -ludev.

I have libudev-dev installed in my host computer, so I don't think this is the problem.

Any thoughts on what might be the problem or how to fix it?

Thanks in advance.

1
First of all, libudev-dev is package with header files. And -ludev is about linking with actual udev library (.so or .a file). Next, when cross-compiling with ARM toolchain (using arm-linux-gnueabihf- toolchain, in your case), you should provide mentioned library built for the same architecture (ARM), and not for your host PC. So it seems like you need to build (or download already built) udev for ARM architecture first, and then "feed" it to your qmake file, or something like that. - Sam Protsenko
Have you already looked at other Linux distros? One option is Buildroot. It provides both support for BBB and Qt4/5 including QSerialPort support. As alternative you can also take Debian, debootstrap and multi-arch approach. - yegorich

1 Answers

0
votes

So I figured out how to do this with a shout out to Sam in the comments above.

I cheated a little and copied the libraries that I needed from the Beaglebone Black to my host computer and put them in the folder that contained all cross-compiled Qt libraries. As I found out later on, I also would need to to this with the tslib libraries as well (I have enabled Qt with touchscreen support).

These steps allowed me to at least complete the make command of the serialport library.

I then used the sudo make install command to install the library, with no problems there.

Running a program with the serial port library was also causing problems. I cheated again and used scp -r /opt/qt-arm/lib root@beagleboneblacknetworkip:/usr/ to copy my entire cross-compiled qt library from my host machine over to the Beaglebone Black. Copying that directory over got me up and running.