[meta-xilinx] [PATCH] xilinx-versions: Change default main version
Manjukumar Harthikote Matha
manjukumar.harthikote-matha at xilinx.com
Mon Dec 21 10:19:30 PST 2015
On 12/20/2015 08:17 PM, Nathan Rossi wrote:
> On Sat, Dec 19, 2015 at 11:21 AM, Manjukumar Matha
> <manjukumar.harthikote-matha at xilinx.com> wrote:
>> Allow CSL_VER_MAIN to be defined in local.conf.
>> Fetch libc version correctly from toolchain path
>
> This should be split into two patches. Please also provide a bit more
> info in the commit message for the reasons for these changes.
>
Ok will separate patches
>>
>> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha at xilinx.com>
>> ---
>
> What is the exact reason for this other than just allowing it to be
> defined in local.conf? If you are trying to support toolchains which
> have a version that cannot be detected by
> csl_get_version/csl_get_main_version, please update those functions
> instead so it can just auto detect the different scheme. If this is
> really only needed for obscure testing scenarios it would be simpler
> to manually override the PV of the recipe (since that is the instance
> where CSL_VER_MAIN is used), that can easily be done in local.conf
> with something like 'PV_pn-external-xilinx-toolchain = "<version>"'.
>
Xilinx toolchain currently does not provide the version info (like
v2015.4 etc). This scheme will allow to define the version of the
toolchain till we get a function which can report Xilinx toolchain version.
> Also this change causes breakages when CSL_VER_MAIN is not set in local.conf:
>
It is defined in the glibc-xlnx.bb. I didnt see this error while
building the master branch for core-image-minimal.
>> def xilinx_get_libc_version(d):
>> + import fnmatch
>> +
>> syspath = d.expand('${EXTERNAL_TOOLCHAIN_SYSROOT}')
>> if not syspath:
>> return 'UNKNOWN'
>> @@ -51,9 +54,9 @@ def xilinx_get_libc_version(d):
>> libpath = syspath + '/sgxx-glibc/lib/'
>>
>> if os.path.exists(libpath):
>> - for file in os.listdir(libpath):
>> - if file.find('libc-') == 0:
>> - return file[5:-3]
>> + for root,dirs,files in os.walk(libpath):
>> + for filename in fnmatch.filter(files,'libc-*.so'):
>> + return filename[5:-3]
>
> Same here, what is the reason? if libc-*.so is not in <sys-root>/lib/
> then isn't the rest of the toolchain recipe broken also? since it
> won't be able to find it and populate it into the packages/oe sysroot.
>
aarch64 toolchain libc-* is under a different directory under
<sys-root>/lib/. This change will fix getting the version number instead
of returning it as UKNOWN.
> Regards,
> Nathan
>
>> return 'UNKNOWN'
>>
>> def xilinx_get_kernel_version(d):
>> --
>> 2.1.4
>>
>> --
>> _______________________________________________
>> meta-xilinx mailing list
>> meta-xilinx at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-xilinx
More information about the meta-xilinx
mailing list