android / android/ndk

unpacking NDK r18 on Windows -- duplicate headers

Open
#806 5 comments 0 reactions 1 assignee Claimed by @enh-google View on GitHub
bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.