--- Begin Message ---
Subject: |
Build failure when pthread.h isn’t available |
Date: |
Tue, 13 Jul 2010 18:16:30 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
Hello,
Coreutils fails to build when <pthread.h> isn’t available:
--8<---------------cut here---------------start------------->8---
checking for pthread.h... no
[...]
make[2]: Entering directory
`/tmp/nix-build-4w3pinfgcmz2majy85flyx53gp10wgvb-coreutils-8.5.89-9face-dirty-i586-pc-gnu.drv-0/coreutils-8.5.89-9face-dirty/lib'
[...]
ln -f pthread.in.h pthread.h || cp pthread.in.h pthread.h
[...]
i586-pc-gnu-gcc -std=gnu99 -I. -I../lib -I../lib -g -O2 -c sort.c
sort.c:236:3: error: expected specifier-qualifier-list before
'pthread_spinlock_t'
sort.c:243:3: error: expected specifier-qualifier-list before 'pthread_mutex_t'
sort.c: In function 'lock_node':
sort.c:3144:3: warning: implicit declaration of function 'pthread_spin_lock'
[...]
--8<---------------cut here---------------end--------------->8---
(From <http://hydra.nixos.org/build/484742>.)
This is because the Gnulib replacement doesn’t cover all the pthread API
that’s actually used.
A simple fix would be to enclose all the pthread-related code in
HAVE_PTHREAD_H and not use the Gnulib replacement.
BTW, why didn’t you choose OpenMP? It may have made things easier.
Thanks,
Ludo’.
--- End Message ---
--- Begin Message ---
Subject: |
bug#6627: Build failure when pthread.h isn’t avai lable |
Date: |
Wed, 14 Jul 2010 17:13:19 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.8) Gecko/20100227 Thunderbird/3.0.3 |
> From: ludo <at> gnu.org (Ludovic Courtès)
> Date: Tue, 13 Jul 2010 18:16:30 +0200
>
> Hello,
> Coreutils fails to build when <pthread.h> isn’t available:
Thanks Ludo, I thought the fixed version would have built
before you noticed. I'll CC you the next time.
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=7f2ece89
cheers,
Pádraig.
p.s. I responding manually after I noticed the message
in the bug tracker, but not on the mailing list after 1 hour
--- End Message ---