GNU bug report logs -
#6627
Build failure when pthread.h isn’t available
Previous Next
Reported by: ludo <at> gnu.org (Ludovic Courtès)
Date: Tue, 13 Jul 2010 16:21:01 UTC
Severity: normal
Done: Pádraig Brady <P <at> draigBrady.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#6627: Build failure when pthread.h isn’t available
which was filed against the coreutils package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 6627 <at> debbugs.gnu.org.
--
6627: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6627
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> 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
[Message part 3 (message/rfc822, inline)]
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’.
This bug report was last modified 15 years and 5 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.