[Buildroot] [PATCH v3] package/gnuradio: fix gnuradio python libraries for cross-compile

Julien Olivain ju.o at free.fr
Sat Jul 22 10:28:46 UTC 2023


Hi Thomas, Gwenhael,

On 21/07/2023 23:12, Thomas Petazzoni wrote:
> On Wed, 19 Jul 2023 13:57:38 +0200
> Gwenhael Goavec-Merou <gwenj at trabucayre.com> wrote:
> 
>> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou at trabucayre.com>
>> 
>> By default, module libraries have a suffix based on cpython version + 
>> host
>> architecture: this is fine for a native compile when these libraries 
>> are used on
>> the same computer (or similar computers). But when target architecture 
>> is not
>> the same python is unable to find libraries due to the wrong suffix 
>> and produces
>> unclear errors messages:
>> 
>> # python3
>> Python 3.11.3 (main, Jun 19 2023, 14:15:44) [GCC 11.4.0] on linux
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> from gnuradio import blocks
>> Traceback (most recent call last):
>>   File 
>> "/home/xxx/buildroot/output/build/gnuradio-3.10.4.0/gr-blocks/python/blocks/__init__.py", 
>> line 18, in <module>
>> ModuleNotFoundError: No module named 'gnuradio.blocks.blocks_python'
>> 
>> During handling of the above exception, another exception occurred:
>> 
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>>   File 
>> "/home/xxx/buildroot/output/build/gnuradio-3.10.4.0/gr-blocks/python/blocks/__init__.py", 
>> line 22, in <module>
>> ModuleNotFoundError: No module named 'gnuradio.blocks.blocks_python'
>> >>>
>> 
>> By adding 
>> _PYTHON_SYSCONFIGDATA_NAME="$(PKG_PYTHON_SYSCONFIGDATA_NAME)" at 
>> configure time, sysconfig will
>> return correct informations (target architecture) instead of host 
>> architecture.
>> 
>> Signed-off-by: Gwenhael Goavec-Merou 
>> <gwenhael.goavec-merou at trabucayre.com>
>> ---
>> Changes v2 -> v3:
>> - replaces PYTHON_MODULE_EXTENSION by _PYTHON_SYSCONFIGDATA_NAME env 
>> (arnout)
>> Changes v1 -> v2:
>> - replaces patch by PYTHON_MODULE_EXTENSION option (result is the same
>>   but less "noisy")
>> ---
>>  package/gnuradio/gnuradio.mk | 4 ++++
>>  1 file changed, 4 insertions(+)
> 
> Not a show-stopper to merge this patch, but would it be possible to add
> a runtime test-case for gnuradio Python modules in support/testing/ ?
> I'm sure if you provide enough details to Julien Olivain (in cc), he
> will be able to help you add this test.

I'm already comfortable with Gnuradio development, so I'm willing to
write such a test. I'll send a proposal in the coming days...

Thanks for the suggestion!

> 
> Thanks!
> 
> Thomas

Best regards,

Julien.



More information about the buildroot mailing list