[Bug 2114] New: Android requires sys/socket.h to be included before sys/un.h.

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Sun Jun 2 09:16:25 EST 2013


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.


More information about the openssh-bugs mailing list