Hi everyone,
Here is another post on the cross-compile series for DroboFS.
Introduction: Why openssl?
Take your pick: we need it for wget, curl, libtorrent, rtorrent, and so on…
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://www.openssl.org/
Version: 1.0.0a
Direct link: http://www.openssl.org/source/openssl-1.0.0a.tar.gz
Make sure that you are in the folder /root/code, then type:
wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz
tar zxf openssl-1.0.0a.tar.gz
cd openssl-1.0.0a
Step 4: Configuration
Configuration for openssl is a bit different than other libraries:
./Configure linux-generic32 -DL_ENDIAN --prefix=/usr/arm
This should return no errors.
Step 5: Compiling
Within the folder /root/code/openssl-1.0.0a:
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
Installing is simple:
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 openssl, since the required headers are libraries are present in /usr/arm both in the VM and on the Drobo.