Drobo

Cross-compiling for DroboFS: libsigc++ 2.2.8

Hi everyone,

Here is another post on the cross-compile series for DroboFS.

Introduction: Why libsigc++?

In one word: rtorrent. In my opinion, one of the most efficient torrent clients. Performs amazingly well on ARM devices.

Overall compiling complexity: Easy.

Step 1: Background info

To be able to make use of this post, you need a VM configured as indicated in this post.

Step 2: Enter the cross-compiling environment

See step 2 of this post to see instructions on how to enter the chroot environment.

Step 3: Get the source code

openssl’s website: http://libsigc.sourceforge.net/
Version: 2.2.8
Direct link: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc+±2.2.8.tar.bz2

Make sure that you are in the folder /root/code, then type:

wget http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.8.tar.bz2 tar jxf libsigc++-2.2.8.tar.bz2 cd libsigc++-2.2.8

Step 4: Configuration

Configuration for libsigc++ is the traditional configure line for cross-compiling:

./configure --host=arm-none-linux-gnueabi --prefix=/usr/arm

This should return no errors.

Step 5: Compiling

Within the folder /root/code/libsigc+±2.2.8:

make

Again, there should be no errors. If any errors are reported, make sure you performed steps 3 and 4 correctly. If you still have errors, make sure that the VM is properly configured (e.g. like I did the first time around, when I got the wrong toolchain, or forgot to ‘export’ the proper compiler flags).

Step 6: Installing

As simple as it gets:

make install

…which will place the compiled library under /usr/arm.

Then we package the whole /usr/arm and copy it over to the DroboFS, as indicated on step 9 here.

Congratulations!

Now you can cross-compile any application that uses libsigc++, since the required headers are libraries are present in /usr/arm both in the VM and on the Drobo.