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

Philip Balister philip at balister.org
Thu Oct 26 10:15:40 EDT 2017


On 10/26/2017 04:07 PM, Francois Quitin via USRP-users wrote:
> 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).

Yes, I'm aware that pain. I do need to look over what the gnss sdr guys
have done and see what I can do to make it easier for people in your
position.

Philip


> 
> 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
> 
> _______________________________________________
> USRP-users mailing list
> USRP-users at lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com




More information about the USRP-users mailing list