|
Message-ID: <20130807010358.GA7667@newbook> Date: Tue, 6 Aug 2013 18:03:59 -0700 From: Isaac <idunham@...abit.com> To: musl@...ts.openwall.com Subject: Update: [pkg-shadow-Bugs][314271] Shadow FTBFS with musl libc Rich, can we make sizeof(struct in_addr) visible? That's ostensibly the only thing necessary for shadow to build at present. ----- Forwarded message from pkg-shadow-bugs@...oth.debian.org ----- Date: Wed, 07 Aug 2013 00:23:43 +0000 From: pkg-shadow-bugs@...oth.debian.org To: noreply@...oth.debian.org Subject: [pkg-shadow-Bugs][314271] Shadow FTBFS with musl libc pkg-shadow-Bugs item #314271 was changed at 07/08/2013 02:23 by Nicolas Fran??ois You can respond by visiting: https://alioth.debian.org/tracker/?func=detail&atid=411478&aid=314271&group_id=30580 >Status: Closed Priority: 3 Submitted By: Isaac Dunham (idunham-guest) Assigned to: Nobody (None) Summary: Shadow FTBFS with musl libc Category: None Group: None >Resolution: Fixed Initial Comment: I attempted to build shadow 4.1.5.1 with musl libc (http://www.musl-libc.org/), and ran into a few issues: 1: missing <sys/socket.h> in libmisc/utmp.c glibc includes several headers from <netdb.h>; <sys/socket.h> is one of these. 2: libmisc/utmp.c assumes that member sin_addr of struct sockaddr_in (type struct in_addr) is completely defined. musl has a policy of not making implementation-specific details public unless necessary; this is the full definition: struct sockaddr_in { sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; uint8_t sin_zero[8]; }; However, upstream may be willing to change this. WORKAROUND: export ac_cv_member_struct_utmp_ut_addr_v6=no ac_cv_member_struct_utmpx_ut_addr_v6=no before running configure. -need to make ruserok conditional. ruserok is a nonstandard function, but it is not checked for, and musl does not currently implement it. The proper solution would be to check for it in configure and either disable that codepath or else add a stub/alternate implementation. There is no __MUSL__-type macro; upstream's view is that any implementation-specific details may be changed at any point so this is a short-term fix at best. STEPS TO REPRODUCE: git clone git://git.musl-libc.org/musl cd musl /configure --prefix=/opt/musl --bindir=/opt/musl/bin make su -c "make install" root cd .. #go to the shadow source directory. CC=/opt/musl/bin/musl-gcc \ /configure --without-nscd --without-libpam make ---------------------------------------------------------------------- >Comment By: Nicolas Fran??ois (nekral) Date: 07/08/2013 02:23 Message: Point 1 is fixed. ruserok is now checked by configure (not tested) Regarding point 2, I don't think I can do without knowing the size of what I copy. I can find quite some hits on Google for sizeof(struct in_addr) so maybe it's needed for users. ---------------------------------------------------------------------- You can respond by visiting: https://alioth.debian.org/tracker/?func=detail&atid=411478&aid=314271&group_id=30580 ----- End forwarded message -----
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.