GNU bug report logs - #6627
Build failure when pthread.h isn’t available

Previous Next

Package: coreutils;

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


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: bug-coreutils <at> gnu.org
Subject: Build failure when pthread.h isn’t available
Date: Tue, 13 Jul 2010 18:16:30 +0200
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.