mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Isaac <idunham@lavabit.com>
To: musl@lists.openwall.com
Subject: Update: [pkg-shadow-Bugs][314271] Shadow FTBFS with musl libc
Date: Tue, 6 Aug 2013 18:03:59 -0700	[thread overview]
Message-ID: <20130807010358.GA7667@newbook> (raw)


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@alioth.debian.org -----

Date: Wed, 07 Aug 2013 00:23:43 +0000
From: pkg-shadow-bugs@alioth.debian.org
To: noreply@alioth.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 -----



             reply	other threads:[~2013-08-07  1:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-07  1:03 Isaac [this message]
2013-08-07  2:37 ` Rich Felker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130807010358.GA7667@newbook \
    --to=idunham@lavabit.com \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).