https://bugs.kde.org/show_bug.cgi?id=391367

            Bug ID: 391367
           Summary: KIO 5.43: FTBFS with musl libc on 64-bit platforms
           Product: frameworks-kio
           Version: 5.43.0
          Platform: Compiled Sources
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: fa...@kde.org
          Reporter: awil...@adelielinux.org
                CC: kdelibs-b...@kde.org
  Target Milestone: ---

musl is strictly POSIX conformant, which means it uses int for msg_iovlen and
socklen_t for msg_controllen in the msghdr struct.  (See
http://git.musl-libc.org/cgit/musl/commit/arch/x86_64/bits/socket.h?id=7168790763cdeb794df52be6e3b39fbb021c5a64
for more information.)

POSIX defines msghdr as containing "at least" the standard members.  (See
http://pubs.opengroup.org/onlinepubs/009696699/basedefs/sys/socket.h.html for
citation.)

Since the new shared fd code in KIO (non-conformantly) assumes the members and
layout of msghdr in its ctor, it FTBFS on 64-bit musl platforms (including
x86_64, ppc64, aarch64):

In file included from
/usr/src/packages/user/kio/src/kio-5.43.0/src/ioslaves/file/fdreceiver.cpp:23:0:
/usr/src/packages/user/kio/src/kio-5.43.0/src/ioslaves/file/sharefd_p.h: In
constructor 'FDMessageHeader::FDMessageHeader()':
/usr/src/packages/user/kio/src/kio-5.43.0/src/ioslaves/file/sharefd_p.h:78:37:
error: invalid conversion from 'char (*)[24]' to 'int' [-fpermissive]
         , msg{nullptr, 0,  &io, 1,  &cmsg_buf, sizeof cmsg_buf, 0}
                                     ^~~~~~~~~
/usr/src/packages/user/kio/src/kio-5.43.0/src/ioslaves/file/sharefd_p.h:78:55:
error: invalid conversion from 'long unsigned int' to 'void*' [-fpermissive]
         , msg{nullptr, 0,  &io, 1,  &cmsg_buf, sizeof cmsg_buf, 0}
                                                       ^~~~~~~~
/usr/src/packages/user/kio/src/kio-5.43.0/src/ioslaves/file/sharefd_p.h:78:66:
warning: missing initializer for member 'msghdr::__pad2'
[-Wmissing-field-initializers]
         , msg{nullptr, 0,  &io, 1,  &cmsg_buf, sizeof cmsg_buf, 0}
                                                                  ^
/usr/src/packages/user/kio/src/kio-5.43.0/src/ioslaves/file/sharefd_p.h:78:66:
warning: missing initializer for member 'msghdr::msg_flags'
[-Wmissing-field-initializers]

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to