Usable python versions for newlib build in RSB

Chris Johns chrisj at rtems.org
Thu Aug 25 01:01:40 UTC 2016


On 24/08/2016 12:36 PM, groups at chichak.ca wrote:
> Since a bunch of us have run into this issue; would it be possible for RSB to check for a proper python version before it gets all the way down to building newlib?

Doing this is a little more complicated than you may think so let me 
explain. The failing check is not for Python, it is for a python 
development library.

Packaging systems are designed to provide you with a detailed and 
accurate account of packages on your host and this convenience is now 
expected and so it is fair enough you request such a feature.

The RSB is not a packaging system and currently does not interact with 
the packaging systems found on some host. Hosts such as Mac OS X and 
Windows do not have a standard packaging system so this adds an extra 
layer of complexity. In the case of OS X I do not want to depend on 3rd 
packaging system such as macports or homebrew and I am yet to decide 
about MSYS2 on Windows, it may be ok.

The RSB has some simple and easy to implement tests for commands which 
the check phase uses. There are no checks for development libraries used 
by packages when they build and Python is the problem that appears on a 
regular basis.

During the initial development of the RSB I avoided packaging systems on 
hosts and I avoided the library checks simply because I could not manage 
the extra layer of complexity it brought at that time. The RSB is now 
stable and the support can be considered.

Implementing the support requires:

1. Addition of the '%requires' and '%provides' keyword. The RSB would 
not provide a full dependence resolution system, rather it would simply 
perform a present or not present test.

2. I would need to make sure all configuration files are loaded before 
starting the build process. I think this happens now but I would need to 
check.

3. Host specific support for packaging systems added. If a host has a 
packaging system we wish to support access would need to be added on a 
per host basis. It would be nice if suggestions are made if a package is 
not found. I suspect this would be version specific as files can move. 
Again this is host specific.

4. If there is no packaging system does the RSB fall back to support 
some form of check similar to the configure system? If so things become 
more complicated. I suspect it would pay to have the RSB include or 
become dependent on waf and to use the support it has for detecting 
tools and libraries. I am not sure how this would be implemented.

5. Make sure any changes work with the pkgconfig support that is already 
present in the RSB. See the bare support for devel/qemu. It detected 
installed libraries via pkgconfig and if not found it builds them.

This is more than a simple change and would require I invest some really 
effort and time. My free time is limited and focused on other more 
pressing things. If someone is willing to fund the work please contact 
me directly.

Chris



More information about the users mailing list