RSB 4.11.2-rc4 rtems-arm build fails on Windows

Linda Huxley lhuxley at shaw.ca
Sat Apr 22 23:33:05 UTC 2017


Hi Chris,

I don't know if it would resolve all of the path length issues, but 
substituting an absolute path for relative path, will often times result 
in a much shorter path.  In the case of the ARM build, substituting an 
absolute path for the relative path for the alt_16550_uart build results 
in a path which is effectively 93 characters shorter.

Regards,

Linda

On 2017-04-22 16:47, Chris Johns wrote:
> On 23/4/17 7:42 am, Linda Huxley wrote:
>> Hi Chris,
>>
>> I dug around in the the ARM build log file, and first I'm seeing this:
>>
>> make[6]: Entering directory
>> '/C/opt/rtems/r4.11.2/rtems/build/ark4r1/arm-rtems4.11-kernel-4.11.2-rc4-1-4.11.2-rc4/build/arm-rtems4.11/c/altcycv_devkit/lib/libbsp/arm/altera-cyclone-v'
>>
>>
>> then a little later:
>>
>> arm-rtems4.11-gcc.exe: error:
>> ../../../../../../../../rtems-4.11.2-rc4/c/src/lib/libbsp/arm/altera-cyclone-v/hwlib/src/hwmgr/alt_16550_uart.c:
>> No such file or directory
>>
>> When I combine the directory with the path to "alt_16550_uart.c" I get a
>> string with a length of 264 bytes.  I did some testing, and it seems
>> that at some point Windows does just blindly concatenate the two strings
>> together.  So the resulting string is about 8 bytes too long.
>
> Thanks for the detailed report and investigation.
>
>> I'm not sure what the best fix might be, but I'll see if removing
>> "/c/opt/rtems" from the build path will help.
>
> There is no clean way to resolve this issue. The LM32 has a problem with
> long file names when building the tool set. The ticket
> https://devel.rtems.org/ticket/2992#comment:1 has some details.
>
> To sum up the Windows win32 API has a file length limit which can be
> worked around in some cases by unicode encoding the file name and adding
> a specific prefix. However not all calls work so managing this issue is
> complex. The Python developers have looked into this in detail in an
> attempt to see if Python can smooth over the issues [1] and have decided
> not to make any changes. Last week I spent a while working with Python
> and the win32 API to see if I can work around the problem in the RSB
> however I would not find a way to navigate the issues.
>
> The only way I can see we can manage this is to shorten the paths used.
>
> On a positive note recent Windows 10 versions, which have not arrived on
> my machines, have removed the API limit [2]. You need a specific version
> or later and you need to make some low level changes in the registry to
> enable it.
>
> My long term view is to look at shortening paths where we can and to
> look forward to this new change in Windows.
>
> Chris
>
> [1] https://bugs.python.org/issue18199
>
> [2]
> https://blogs.msdn.microsoft.com/jeremykuhne/2016/06/21/more-on-new-net-path-handling/
>


More information about the users mailing list