[USRP-users] cross-compiling with external libraries on E310

Francois Quitin fquitin at ulb.ac.be
Thu Oct 26 10:07:45 EDT 2017


Dear Philip, EJ,

Thanks a lot for your replies. To keep things simple, I'm tying to 
manually cross-compile the Armadillo library. Unfortunately, there are a 
few dependencies that are not available on the default E310 image 
(OpenBLAS, LAPACK, ATLAS, SuperLU).

We've made quite a few changes to the E310 FPGA, so I'm a bit frisky at 
re-installing UHD using pybombs... I'd rather just include the libraries 
and dependencies I need to my current UHD version.

Anyway, with the clues you gave me I should be able to figure something 
out.

Thanks!
François



On 26.10.2017 15:27, EJ Kreinar wrote:
> Hi Francois, 
> 
> I see Balister beat me to reply... I'm not a cross-compile expert, so
> he probably has better recommendations, but I'll add a couple
> thoughts. There's probably three feasible options:
> 
> 1. Manual cross compile: Manually compile the project of interest,
> sourcing the SDK environment and then building with cmake or whatever
> the project's build system is (armadillo looks like cmake). This is a
> decent introduction to using the SDK
> (http://www.yoctoproject.org/docs/2.1/sdk-manual/sdk-manual.html [3]).
> Then deploy the generated code to the E310. It's feasible, but could
> be a headache if the external project has other dependencies.
> 2. Pybombs cross compile: I just checked, and there's an armadillo
> recipe in gr-recipes... Assuming you're using the E310 SDK inside a
> pybombs prefix, it might be an easy solution to just pybombs install
> armadillo. Worth a shot! And if it doesnt work, it would be good to
> share how to fix this :D 
> 3. Open-embedded build: Because the E310 distro is built using
> openembedded (https://github.com/EttusResearch/meta-ettus/tree/jethro
> [4] -- the jethro branch is, I believe, the most recent build), you
> could bake the projects of interest into the rootfs from scratch. The
> good news is that it seems there's already an armadillo recipe
> available: http://layers.openembedded.org/layerindex/recipe/58748/
> [5] If the image you build installs the armadillo recipe, it will
> automatically include any dependencies into the rootfs. Then, you can
> export the SDK and use that for your cross compile. 
> 
> If you're already using pybombs, it could be easy to do #2. If you
> roll your own rootfs and SDK using openembedded, then you have to
> maintain your personal SD image/SDK for everything, which has its own
> downsides. 
> 
> EJ
> 
> On Thu, Oct 26, 2017 at 9:01 AM, Francois Quitin via USRP-users
> <usrp-users at lists.ettus.com> wrote:
> 
>> Dear all,
>> 
>> I'm writing code for the USRP E310 using the SDK from
>> http://files.ettus.com/e3xx_images/e3xx-release-4/ [1]  I've been
>> able to write code, cross-compile it and execute it without any
>> problems on the E310.
>> 
>> I'm trying to include external libraries (open-source ones, such as
>> Armadillo) to my cross-compiling project. How can I "cleanly"
>> include these libraries in my cross-compiling project?
>> 
>> Thanks,
>> François
>> 
>> ---
>> 
>> _______________________________________________
>> USRP-users mailing list
>> USRP-users at lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>> [2]
> 
> 
> 
> Links:
> ------
> [1] http://files.ettus.com/e3xx_images/e3xx-release-4/
> [2] http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
> [3] http://www.yoctoproject.org/docs/2.1/sdk-manual/sdk-manual.html
> [4] https://github.com/EttusResearch/meta-ettus/tree/jethro
> [5] http://layers.openembedded.org/layerindex/recipe/58748/

---
Francois QUITIN
Assistant Professor

BEAMS Dpt. – Embedded Electronics
Brussels School of Engineering
Université Libre de Bruxelles (ULB)

Web   https://sites.google.com/site/fquitin2/
Phone +32 2 650 2829




More information about the USRP-users mailing list