>  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).

It takes into account the libpthread/sysdeps tree path. I have pasted
the corresponding output of the configure script in the link below.
>  http://paste.debian.net/plain/91552
The error appears when we include "<bits/(filename).h>". It just looks
for the headers in the bits/ folder, while they are at
"libpthread/sysdeps/generic/bits/".

>   A workaround is to add lines in Makerules just like there are for 
> *__libc_thread_subfreeres

There are already lines in Makerules for that.

>   PROVIDE(__start__hurd_fork_parent_hook = .);\
>           _hurd_fork_parent_hook : { *(_hurd_fork_parent_hook) }\

I am investigating if everything works as it should in my environment.

I have attached the output of the configure part of the building
process, so you can have a better look.
checking build system type... x86_64-unknown-linux-gnu
checking host system type... i686-pc-gnu
checking for i686-pc-gnu-gcc... i686-pc-gnu-gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-gnu-gcc accepts -g... yes
checking for gcc... gcc
checking for i686-pc-gnu-g++... no
checking for i686-pc-gnu-c++... no
checking for i686-pc-gnu-gpp... no
checking for i686-pc-gnu-aCC... no
checking for i686-pc-gnu-CC... no
checking for i686-pc-gnu-cxx... no
checking for i686-pc-gnu-cc++... no
checking for i686-pc-gnu-cl.exe... no
checking for i686-pc-gnu-FCC... no
checking for i686-pc-gnu-KCC... no
checking for i686-pc-gnu-RCC... no
checking for i686-pc-gnu-xlC_r... no
checking for i686-pc-gnu-xlC... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for i686-pc-gnu-readelf... i686-pc-gnu-readelf
checking for sysdeps preconfigure fragments... x86_64 
configure: running configure fragment for add-on libidn
configure: running configure fragment for add-on libpthread
configure: running configure fragment for add-on nptl
checking add-on ports for preconfigure fragments... aarch64 alpha am33 arm hppa 
ia64 m68k microblaze mips tile 
checking for assembler and linker STT_GNU_IFUNC support... yes
checking whether .text pseudo-op must be used... yes
checking sysdep dirs... libpthread/sysdeps/mach/hurd/i386 
sysdeps/mach/hurd/i386 libpthread/sysdeps/mach/hurd libpthread/sysdeps/hurd 
sysdeps/mach/hurd sysdeps/gnu sysdeps/unix/bsd/bsd4.4 sysdeps/mach/i386 
libpthread/sysdeps/mach sysdeps/mach sysdeps/i386/i686/fpu sysdeps/i386/i686 
sysdeps/i386/i486 sysdeps/i386/fpu sysdeps/x86/fpu libpthread/sysdeps/i386 
sysdeps/i386 sysdeps/x86 sysdeps/wordsize-32 sysdeps/ieee754/ldbl-96 
sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/unix/bsd 
sysdeps/unix/inet sysdeps/ieee754 sysdeps/unix sysdeps/posix 
libpthread/sysdeps/posix sysdeps/generic
configure: WARNING: add-on ports contributed no sysdeps directories
checking for a BSD-compatible install... 
/gnu/store/gjl05yl9lvgjhznz5v985mys861svp34-coreutils-8.21/bin/install -c
checking whether ln -s works... yes
checking whether 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/as
 is GNU as... yes
checking whether 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld
 is GNU ld... yes
checking for 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/as...
 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/as
checking version of 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/as...
 2.23.2, ok
checking for 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld...
 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld
checking version of 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld...
 2.23.2, ok
checking for i686-pc-gnu-gcc... (cached) i686-pc-gnu-gcc
checking version of i686-pc-gnu-gcc... 4.8.2, ok
checking for gnumake... no
checking for gmake... no
checking for make... make
checking version of make... 4.0, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... no
checking for makeinfo... no
checking for sed... sed
checking version of sed... 4.2.2, ok
checking for gawk... gawk
checking version of gawk... 4.1.0, ok
checking for i686-pc-gnu-nm... i686-pc-gnu-nm
checking for autoconf... autoconf
checking whether autoconf works... yes
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: msgfmt 
makeinfo
*** some features will be disabled.
*** Check the INSTALL file for required versions.
checking LD_LIBRARY_PATH variable... ok
checking whether GCC supports -static-libgcc... -static-libgcc
checking for bash... 
/gnu/store/281n6ma5jxy9sb3nwc09mzpqx43vczr6-bash-4.2/bin/bash
checking for perl... 
/gnu/store/qdd0hz0sclms1rz3ss01f75r3ys8r58z-perl-5.16.1/bin/perl
checking for install-info... no
checking for bison... no
checking for libc-friendly stddef.h... yes
checking whether we need to use -P to assemble .S files... no
checking for .set assembler directive... yes
checking for assembler gnu_unique_object symbol type... yes
checking for .symver assembler directive... yes
checking for ld --version-script... yes
checking for .previous assembler directive... yes
checking for .protected and .hidden assembler directive... yes
checking whether __attribute__((visibility())) is supported... yes
checking for broken __attribute__((visibility()))... no
checking for broken __attribute__((alias()))... no
checking whether to put _rtld_local into .sdata section... no
checking for .preinit_array/.init_array/.fini_array support... yes
checking whether to use .ctors/.dtors header and trailer... yes
checking for libunwind-support in compiler... no
checking for linker that supports -z nodelete... yes
checking for linker that supports -z nodlopen... yes
checking for linker that supports -z initfirst... yes
checking for -z relro option... yes
checking for -Bgroup option... yes
checking whether --noexecstack is desirable for .S files... yes
checking for -z combreloc... yes
checking for linker that supports -z execstack... yes
checking for -fpie... yes
checking for --hash-style option... yes
checking for sufficient default -shared layout... no
checking linker output format... elf32-i386
checking for -fno-toplevel-reorder -fno-section-anchors... yes
checking for -fstack-protector... yes
checking for -fgnu89-inline... yes
checking whether cc puts quotes around section names... no
checking for assembler .weak directive... yes
checking whether CFI directives are supported... yes
checking for ld --no-whole-archive... yes
checking for gcc -fexceptions... yes
checking for __builtin_memset... yes
checking for redirection of built-in functions... yes
checking for __thread... yes
checking for tls_model attribute... yes
checking for compiler option to disable generation of FMA instructions... 
-ffp-contract=off
checking for libgd... no
checking for is_selinux_enabled in -lselinux... no
checking size of long double... 0
checking for _FORTIFY_SOURCE predefine... no
checking whether i686-pc-gnu-gcc implicitly enables -fstack-protector... no
running configure fragment for sysdeps/mach/hurd
checking Hurd header version... ok
running configure fragment for sysdeps/gnu
running configure fragment for sysdeps/mach
checking for i686-pc-gnu-mig... no
checking for mig... mig
checking for mach/mach_types.h... yes
checking for mach/mach_types.defs... yes
checking for task_t in mach/mach_types.h... task_t
checking for thread_t in mach/mach_types.h... thread_t
checking for creation_time in task_basic_info... yes
checking for mach/mach.defs... yes
checking for mach/mach4.defs... yes
checking for mach/clock.defs... no
checking for mach/clock_priv.defs... no
checking for mach/host_priv.defs... no
checking for mach/host_security.defs... no
checking for mach/ledger.defs... no
checking for mach/lock_set.defs... no
checking for mach/processor.defs... no
checking for mach/processor_set.defs... no
checking for mach/task.defs... no
checking for mach/thread_act.defs... no
checking for mach/vm_map.defs... no
checking for mach/memory_object.defs... yes
checking for mach/memory_object_default.defs... yes
checking for mach/default_pager.defs... yes
checking for mach/i386/mach_i386.defs... yes
checking for grep that handles long lines and -e... 
/gnu/store/v2q2595q6n4gs32j15ga65bgy0yqg76g-grep-2.15/bin/grep
checking for egrep... 
/gnu/store/v2q2595q6n4gs32j15ga65bgy0yqg76g-grep-2.15/bin/grep -E
checking for host_page_size in mach_host.defs... no
checking for mach/machine/ndr_def.h... no
checking for machine/ndr_def.h... no
checking for i386_io_perm_modify in mach_i386.defs... yes
checking for i386_set_gdt in mach_i386.defs... yes
checking whether mig supports the retcode keyword... yes
running configure fragment for sysdeps/i386
checking for compiler support of inlined builtin function 
__sync_val_compare_and_swap... yes
checking for cpuid.h... yes
checking for SSE4 support... yes
checking for assembler -mtune=i686 support... yes
checking for AVX support... yes
checking for AVX encoding of SSE instructions... yes
checking for FMA4 support... yes
checking for -mno-vzeroupper support... yes
checking for old glibc 2.0.x headers... no
checking whether -fPIC is default... no
configure: creating ./config.status
config.status: creating config.make
config.status: creating Makefile
config.status: creating config.h
config.status: executing default commands
phase `configure' succeeded after 3 seconds
starting phase `patch-generated-file-shebangs'
patch-shebang: ./config.status: changing 
`/gnu/store/281n6ma5jxy9sb3nwc09mzpqx43vczr6-bash-4.2/bin/bash' to 
`/gnu/store/x26nnlh6azmnd0ibdyfwafdc6rkzx17w-bash-light-4.2/bin/bash'
phase `patch-generated-file-shebangs' succeeded after 0 seconds
starting phase `build'
make -r PARALLELMFLAGS="" -C ../source objdir=`pwd` all
make[1]: Entering directory 
'/tmp/nix-build-glibc-hurd-cross-i686-pc-gnu-2.18.drv-32/source'
autoconf  sysdeps/x86_64/preconfigure.in > sysdeps/x86_64/preconfigure.new
chmod a-w sysdeps/x86_64/preconfigure.new
mv -f sysdeps/x86_64/preconfigure.new sysdeps/x86_64/preconfigure
autoconf  libidn/configure.in > libidn/configure.new
chmod a-w libidn/configure.new
mv -f libidn/configure.new libidn/configure
autoconf  ports/sysdeps/arm/preconfigure.in > ports/sysdeps/arm/preconfigure.new
chmod a-w ports/sysdeps/arm/preconfigure.new
mv -f ports/sysdeps/arm/preconfigure.new ports/sysdeps/arm/preconfigure
running 
CONFIG_SHELL=/gnu/store/281n6ma5jxy9sb3nwc09mzpqx43vczr6-bash-4.2/bin/bash 
/gnu/store/281n6ma5jxy9sb3nwc09mzpqx43vczr6-bash-4.2/bin/bash 
../source/configure 
CONFIG_SHELL=/gnu/store/281n6ma5jxy9sb3nwc09mzpqx43vczr6-bash-4.2/bin/bash 
SHELL=/gnu/store/281n6ma5jxy9sb3nwc09mzpqx43vczr6-bash-4.2/bin/bash 
--prefix=/gnu/store/0imj5sr24hv9lvfb84nzzlgxkn7zgyvk-glibc-hurd-cross-i686-pc-gnu-2.18
 --enable-fast-install --without-cvs --enable-add-ons --host=i686-pc-gnu 
--sysconfdir=/etc --disable-profile --disable-multi-arch 
--disable-sanity-checks --disable-nscd --enable-obsolete-rpc 
--enable-stackguard-randomization 
libc_cv_localedir=/gnu/store/50lqngxvr9rsx2ip1hai1ldy9f1phwia-glibc-hurd-cross-i686-pc-gnu-2.18-locales/share/locale
 BASH_SHELL=/gnu/store/281n6ma5jxy9sb3nwc09mzpqx43vczr6-bash-4.2/bin/bash 
host_alias=i686-pc-gnu --no-create --no-recursion
configure: WARNING: if you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used
checking build system type... x86_64-unknown-linux-gnu
checking host system type... i686-pc-gnu
checking for i686-pc-gnu-gcc... i686-pc-gnu-gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-gnu-gcc accepts -g... yes
checking for gcc... gcc
checking for i686-pc-gnu-g++... no
checking for i686-pc-gnu-c++... no
checking for i686-pc-gnu-gpp... no
checking for i686-pc-gnu-aCC... no
checking for i686-pc-gnu-CC... no
checking for i686-pc-gnu-cxx... no
checking for i686-pc-gnu-cc++... no
checking for i686-pc-gnu-cl.exe... no
checking for i686-pc-gnu-FCC... no
checking for i686-pc-gnu-KCC... no
checking for i686-pc-gnu-RCC... no
checking for i686-pc-gnu-xlC_r... no
checking for i686-pc-gnu-xlC... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for i686-pc-gnu-readelf... i686-pc-gnu-readelf
checking for sysdeps preconfigure fragments... x86_64 
configure: running configure fragment for add-on libidn
configure: running configure fragment for add-on libpthread
configure: running configure fragment for add-on nptl
checking add-on ports for preconfigure fragments... aarch64 alpha am33 arm hppa 
ia64 m68k microblaze mips tile 
checking for assembler and linker STT_GNU_IFUNC support... yes
checking whether .text pseudo-op must be used... yes
checking sysdep dirs... libpthread/sysdeps/mach/hurd/i386 
sysdeps/mach/hurd/i386 libpthread/sysdeps/mach/hurd libpthread/sysdeps/hurd 
sysdeps/mach/hurd sysdeps/gnu sysdeps/unix/bsd/bsd4.4 sysdeps/mach/i386 
libpthread/sysdeps/mach sysdeps/mach sysdeps/i386/i686/fpu sysdeps/i386/i686 
sysdeps/i386/i486 sysdeps/i386/fpu sysdeps/x86/fpu libpthread/sysdeps/i386 
sysdeps/i386 sysdeps/x86 sysdeps/wordsize-32 sysdeps/ieee754/ldbl-96 
sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/unix/bsd 
sysdeps/unix/inet sysdeps/ieee754 sysdeps/unix sysdeps/posix 
libpthread/sysdeps/posix sysdeps/generic
configure: WARNING: add-on ports contributed no sysdeps directories
checking for a BSD-compatible install... 
/gnu/store/gjl05yl9lvgjhznz5v985mys861svp34-coreutils-8.21/bin/install -c
checking whether ln -s works... yes
checking whether 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/as
 is GNU as... yes
checking whether 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld
 is GNU ld... yes
checking for 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/as...
 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/as
checking version of 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/as...
 2.23.2, ok
checking for 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld...
 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld
checking version of 
/gnu/store/hl1rsbjzq5pwph850al9y52xrjqjg4f5-gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld...
 2.23.2, ok
checking for i686-pc-gnu-gcc... (cached) i686-pc-gnu-gcc
checking version of i686-pc-gnu-gcc... 4.8.2, ok
checking for gnumake... no
checking for gmake... no
checking for make... make
checking version of make... 4.0, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... no
checking for makeinfo... no
checking for sed... sed
checking version of sed... 4.2.2, ok
checking for gawk... gawk
checking version of gawk... 4.1.0, ok
checking for i686-pc-gnu-nm... i686-pc-gnu-nm
checking for autoconf... autoconf
checking whether autoconf works... yes
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: msgfmt 
makeinfo
*** some features will be disabled.
*** Check the INSTALL file for required versions.
checking LD_LIBRARY_PATH variable... ok
checking whether GCC supports -static-libgcc... -static-libgcc
checking for bash... 
/gnu/store/281n6ma5jxy9sb3nwc09mzpqx43vczr6-bash-4.2/bin/bash
checking for perl... 
/gnu/store/qdd0hz0sclms1rz3ss01f75r3ys8r58z-perl-5.16.1/bin/perl
checking for install-info... no
checking for bison... no
checking for libc-friendly stddef.h... yes
checking whether we need to use -P to assemble .S files... no
checking for .set assembler directive... yes
checking for assembler gnu_unique_object symbol type... yes
checking for .symver assembler directive... yes
checking for ld --version-script... yes
checking for .previous assembler directive... yes
checking for .protected and .hidden assembler directive... yes
checking whether __attribute__((visibility())) is supported... yes
checking for broken __attribute__((visibility()))... no
checking for broken __attribute__((alias()))... no
checking whether to put _rtld_local into .sdata section... no
checking for .preinit_array/.init_array/.fini_array support... yes
checking whether to use .ctors/.dtors header and trailer... yes
checking for libunwind-support in compiler... no
checking for linker that supports -z nodelete... yes
checking for linker that supports -z nodlopen... yes
checking for linker that supports -z initfirst... yes
checking for -z relro option... yes
checking for -Bgroup option... yes
checking whether --noexecstack is desirable for .S files... yes
checking for -z combreloc... yes
checking for linker that supports -z execstack... yes
checking for -fpie... yes
checking for --hash-style option... yes
checking for sufficient default -shared layout... no
checking linker output format... elf32-i386
checking for -fno-toplevel-reorder -fno-section-anchors... yes
checking for -fstack-protector... yes
checking for -fgnu89-inline... yes
checking whether cc puts quotes around section names... no
checking for assembler .weak directive... yes
checking whether CFI directives are supported... yes
checking for ld --no-whole-archive... yes
checking for gcc -fexceptions... yes
checking for __builtin_memset... yes
checking for redirection of built-in functions... yes
checking for __thread... yes
checking for tls_model attribute... yes
checking for compiler option to disable generation of FMA instructions... 
-ffp-contract=off
checking for libgd... no
checking for is_selinux_enabled in -lselinux... no
checking size of long double... 0
checking for _FORTIFY_SOURCE predefine... no
checking whether i686-pc-gnu-gcc implicitly enables -fstack-protector... no
running configure fragment for sysdeps/mach/hurd
checking Hurd header version... ok
running configure fragment for sysdeps/gnu
running configure fragment for sysdeps/mach
checking for i686-pc-gnu-mig... no
checking for mig... mig
checking for mach/mach_types.h... yes
checking for mach/mach_types.defs... yes
checking for task_t in mach/mach_types.h... task_t
checking for thread_t in mach/mach_types.h... thread_t
checking for creation_time in task_basic_info... yes
checking for mach/mach.defs... yes
checking for mach/mach4.defs... yes
checking for mach/clock.defs... no
checking for mach/clock_priv.defs... no
checking for mach/host_priv.defs... no
checking for mach/host_security.defs... no
checking for mach/ledger.defs... no
checking for mach/lock_set.defs... no
checking for mach/processor.defs... no
checking for mach/processor_set.defs... no
checking for mach/task.defs... no
checking for mach/thread_act.defs... no
checking for mach/vm_map.defs... no
checking for mach/memory_object.defs... yes
checking for mach/memory_object_default.defs... yes
checking for mach/default_pager.defs... yes
checking for mach/i386/mach_i386.defs... yes
checking for grep that handles long lines and -e... 
/gnu/store/v2q2595q6n4gs32j15ga65bgy0yqg76g-grep-2.15/bin/grep
checking for egrep... 
/gnu/store/v2q2595q6n4gs32j15ga65bgy0yqg76g-grep-2.15/bin/grep -E
checking for host_page_size in mach_host.defs... no
checking for mach/machine/ndr_def.h... no
checking for machine/ndr_def.h... no
checking for i386_io_perm_modify in mach_i386.defs... yes
checking for i386_set_gdt in mach_i386.defs... yes
checking whether mig supports the retcode keyword... yes
running configure fragment for sysdeps/i386
checking for compiler support of inlined builtin function 
__sync_val_compare_and_swap... yes
checking for cpuid.h... yes
checking for SSE4 support... yes
checking for assembler -mtune=i686 support... yes
checking for AVX support... yes
checking for AVX encoding of SSE instructions... yes
checking for FMA4 support... yes
checking for -mno-vzeroupper support... yes
checking for old glibc 2.0.x headers... no
checking whether -fPIC is default... no
configure: creating ./config.status
cd /tmp/nix-build-glibc-hurd-cross-i686-pc-gnu-2.18.drv-32/build; 
/gnu/store/281n6ma5jxy9sb3nwc09mzpqx43vczr6-bash-4.2/bin/bash config.status
config.status: creating config.make
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing default commands

Reply via email to