bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Glibc building procedure error report.


From: Samuel Thibault
Subject: Re: Glibc building procedure error report.
Date: Tue, 1 Apr 2014 20:25:15 +0200
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

Manolis Ragkousis, le Mon 31 Mar 2014 22:35:08 +0000, a écrit :
> I came across on some issues in the building procedure which are not solved in
> the debian patches so I think I should report them, ask for comments on them
> and be as solid as possible in my descriptions.
> 
> First there are 2 definitions of "sigset_t"
> 
> One in "(path_to_glibc)/libpthread/signal/signal.h"
> 
> >  typedef uint64_t sigset_t;
> 
> and one in "(path_to_glibc)/misc/sys/select.h"
> 
> >  typedef __sigset_t sigset_t;
> 
> The build procedure fails if I don't comment one of them out.

This is actually fixed by the Debian patch libpthread_clean.diff

That being said, are the files in signal/ really useful at all anymore?

> Secondly the building procedure was looking for the header files located in "
> (path_to_glibc)/libpthread/sysdeps/generic/bits" in the "(path_to_glibc)/bits"
> so I had to copy them there manually.

Mmm, I wonder why. The libc_add_on_subdirs=. line in configure should
have made the build system take the libpthread/sysdeps path into account
(at least in the Debian package it does).

> And finally I get the error "collect2: error: ld returned 1 exit status" in
> this part here
> 
> >  make[4]: Entering directory '/../source/hurd'
> >  /../build/libc_pic.a(sigsetops.os): In function `__spin_unlock':
> >  /../source/signal/../sysdeps/mach/i386/machine-lock.h:44: multiple
> definition of `__spin_unlock'
> >  /../build/libc_pic.a(spin-lock.os):/tmp/
> nix-build-glibc-hurd-cross-i686-pc-gnu-2.18.drv-16/source/mach/../sysdeps/mach/
> i386/machine-lock.h:44: first defined here

I also wonder how that can be. _EXTERN_INLINE is precisely meant to
avoid this issue: either the definition is inlined in the caller,
or an external definition is emitted. Maybe you should check what
_EXTERN_INLINE gets defined to, it should be "extern inline" in the end.

Samuel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]