bugzilla-daemon at mindrot.org
2013-Jun-01 23:16 UTC
[Bug 2114] New: Android requires sys/socket.h to be included before sys/un.h.
https://bugzilla.mindrot.org/show_bug.cgi?id=2114 Bug ID: 2114 Summary: Android requires sys/socket.h to be included before sys/un.h. Product: Portable OpenSSH Version: 6.2p1 Hardware: Other OS: Linux Status: NEW Severity: minor Priority: P5 Component: Build system Assignee: unassigned-bugs at mindrot.org Reporter: nathan.osman at gmail.com Created attachment 2290 --> https://bugzilla.mindrot.org/attachment.cgi?id=2290&action=edit Performs an explicit check for sys/un.h with the appropriate #includes. I freely confess that this is one of the most bizarre things I have ever seen. Android's sys/un.h header uses sa_family_t in the sockaddr_un struct but neither defines it nor includes a header that does. This leads to the following warning when running ./configure: configure: WARNING: sys/un.h: present but cannot be compiled configure: WARNING: sys/un.h: check for missing prerequisite headers? configure: WARNING: sys/un.h: see the Autoconf documentation configure: WARNING: sys/un.h: section "Present But Cannot Be Compiled" configure: WARNING: sys/un.h: proceeding with the compiler's result configure: WARNING: ## ------------------------------------------- ## configure: WARNING: ## Report this to openssh-unix-dev at mindrot.org ## configure: WARNING: ## ------------------------------------------- ## Thankfully this struct is defined in sys/socket.h. I have attached a patch that explicitly runs AC_CHECK_HEADERS with the appropriate parameters to ensure sys/un.h is detected properly. No actual source code needed to be modified. -- You are receiving this mail because: You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2013-Jun-01 23:21 UTC
[Bug 2114] Android requires sys/socket.h to be included before sys/un.h.
https://bugzilla.mindrot.org/show_bug.cgi?id=2114 Darren Tucker <dtucker at zip.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dtucker at zip.com.au Blocks| |2076 --- Comment #1 from Darren Tucker <dtucker at zip.com.au> --- (In reply to Nathan Osman from comment #0)> I freely confess that this is one of the most bizarre things I have > ever seen.It's actually common on older platforms. That header (plus some of the netinet ones) neither include what they need nor protect themselves from being included multiple times which makes them a pain to use. Autoconf never used to care, but a couple of years ago that warning was added. Added to the list. -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at mindrot.org
2013-Jun-02 15:59 UTC
[Bug 2114] Android requires sys/socket.h to be included before sys/un.h.
https://bugzilla.mindrot.org/show_bug.cgi?id=2114 Darren Tucker <dtucker at zip.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Darren Tucker <dtucker at zip.com.au> --- Applied, thanks. -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at mindrot.org
2015-Aug-11 13:02 UTC
[Bug 2114] Android requires sys/socket.h to be included before sys/un.h.
https://bugzilla.mindrot.org/show_bug.cgi?id=2114 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #3 from Damien Miller <djm at mindrot.org> --- Set all RESOLVED bugs to CLOSED with release of OpenSSH 7.1 -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
Seemingly Similar Threads
- [Bug 2087] New: endgrent() is not available on Android
- [Bug 2112] New: Android doesn't provide an implementation of crypt().
- [Bug 2111] New: Android does not properly implement utmp or wtmp.
- [Bug 2085] New: fd_mask and howmany are not defined in Android
- [Bug 2086] New: passwd struct does not have pw_gecos member on Android