Difference between revisions of "User:Hef/raspbian sdk"

From Pumping Station: One Wiki
Jump to: navigation, search
(Creating a sysroot)
(Build qt5.5 for the rpi2)
Line 39: Line 39:
  
 
== Build qt5.5 for the rpi2 ==
 
== Build qt5.5 for the rpi2 ==
 +
 +
<syntaxhighlight lang="bash">
 +
./configure -v -nomake examples -nomake tests -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/usr/local/linaro/arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- -sysroot /Volumes/raspbian -prefix /usr/local/qt5.5-raspbian -confirm-license -opensource
 +
</syntaxhighlight>
 +
  
 
build, takes  43 minutes, 32 seconds on my 8 core MBP.
 
build, takes  43 minutes, 32 seconds on my 8 core MBP.

Revision as of 22:44, 19 September 2015

raspbian dependencies

<syntaxhighlight lang="bash"> sudo apt-get install -y libpulse-dev libopenal-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libasound2-dev libgeoclue-dev libbluetooth-dev libicu-dev libglib2.0-dev libffi-dev libxslt1-dev libjasper-dev libmng-dev libtiff4-dev </syntaxhighlight>

raspbian has a 0.3.x series libwebp, which is too old for qt 5.5. Get a newer one.

<syntaxhighlight lang="bash"> wget http://downloads.webmproject.org/releases/webp/libwebp-0.4.3.tar.gz cd libwebp tar -xvzf libwebp-0.4.3.tar.gz cd libwebp-0.4.3/ ./configure make sudo make install </syntaxhighlight>

Creating a sysroot

In this case a sysroot is just a copy of the important files for compiling built for the target system. It's also easier to just include a superset of the import files by grabbing pretty much everything.

There are a couple ways to do this, but I just created a case sensitive OS X volume and did and rsyncd the rpi to that volume.

<syntaxhighlight lang="bash"> rsync -P -rt --ignore-errors --delete --copy-unsafe-links --links --exclude /home --exclude /tmp --exclude /proc --exclude /sys --exclude /srv --exclude /var/cache --exclude /dev --exclude /var/log --exclude /root --exclude /run --exclude /lost+found --exclude /var/tmp --exclude /var --exclude /usr/share --exclude /etc --exclude /usr/lib/ssl pi@raspbian.local:/ /Volumes/raspbian/ </syntaxhighlight>

If you want a narrower approach, I suspect the important files are in

* /usr/include
* /usr/lib
* /usr/local/include
* /usr/local/lib
* /lib
* /opt/vc

Another common approach is to create an nfs server an the rpi2 and just mount nfs:/ from the rpi2 on the dev machine.

Build qt5.5 for the rpi2

<syntaxhighlight lang="bash"> ./configure -v -nomake examples -nomake tests -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/usr/local/linaro/arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- -sysroot /Volumes/raspbian -prefix /usr/local/qt5.5-raspbian -confirm-license -opensource </syntaxhighlight>


build, takes 43 minutes, 32 seconds on my 8 core MBP. <syntaxhighlight lang="bash"> make -j8 make install -j8 </syntaxhighlight>