unpacking NDK r18 on Windows -- duplicate headers
- Dominant language
- No language data
- Stars
- 2.3k
- Forks
- 310
- PR merge metrics
- No merged PRs in 30d
Description
#### Description
I noticed that some headers under `sysroot` are missing in Windows version. Digging deeper, I find that the root cause is that there are files in Linux version with clashing names on Windows filesystem (which does not allow mixed letter case).
I don't have a specific error case at hand (luckily!), but I am afraid this should at the very least be documented somewhere.
Here is the full list of affected headers:
sysroot/usr/include/linux/netfilter/xt_CONNMARK.h
sysroot/usr/include/linux/netfilter/xt_DSCP.h
sysroot/usr/include/linux/netfilter/xt_MARK.h
sysroot/usr/include/linux/netfilter/xt_RATEEST.h
sysroot/usr/include/linux/netfilter/xt_TCPMSS.h
sysroot/usr/include/linux/netfilter_ipv4/ipt_ECN.h
sysroot/usr/include/linux/netfilter_ipv4/ipt_TTL.h
sysroot/usr/include/linux/netfilter_ipv6/ip6t_HL.h
Some of these headers are synomyms, like **linux/netfilter/xt_CONNMARK.h**, which does nothing but `#include `. Others could be easily merged together, like **linux/netfilter/xt_DSCP.h** wich has `#include ` and adds some more definitions. But some are mutually exclusive, like **linux/netfilter_ipv6/ip6t_HL.h** and **linux/netfilter_ipv6/ip6t_hl.h**: they both are wrapped with `#ifndef _IP6T_HL_H`.
Note that on Windows 10 April 2018 Update, it's now [possible](https://www.howtogeek.com/354220/how-to-enable-case-sensitive-folders-on-windows-10) to set up the relevant folders as case sensitive, by running (as Admin)
fsutil file setCaseSensitiveInfo %NDK_ROOT%\sysroot\usr\include\linux\netfilter enable
fsutil file setCaseSensitiveInfo %NDK_ROOT%\sysroot\usr\include\linux\netfilter_ipv4 enable
fsutil file setCaseSensitiveInfo %NDK_ROOT%\sysroot\usr\include\linux\netfilter_ipv6 enable
#### Environment Details
* NDK Version: **18.0.5002713**.
* Host OS: **Windows**
Contributor guide
Assessment
This issue has not been assessed yet.