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
