[lfs-support] Building Check-0.9.10 fails and fixed

Davis Abubakr-Sadik Nii Nai dwa2pac at gmail.com
Thu Oct 17 11:56:56 PDT 2013


Hello list,

I am trying to build LFS 7.4 stable. The package check-0.9.10 in section 
5.14 failed to build.
I got it to build, but would like to ask if anyone has come across this 
problem, and since it's not documented anywhere make it known to the 
list. Also a better fix, is welcome.

The following are details of my setup;

*Deviated from the book:* No
*LFS Version:* 7.4
*Host Distribution:* Ubuntu 10.04 LTS
*Architecture:* Linux XXX 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 
08:10:02 UTC 2010 i686
                          GNU/Linux
*Problem Package/Section:* Check-0.910 / Section 5.14
*Host Requirements Script Output:*
bash, version 4.1.5(1)-release
/bin/sh -> /bin/dash
Binutils: (GNU Binutils for Ubuntu) 2.20.1-system.20100303
bison (GNU Bison) 2.4.1
/usr/bin/yacc -> /usr/bin/bison.yacc
bzip2,  Version 1.0.5, 10-Dec-2007.
Coreutils:  7.4
diff (GNU diffutils) 2.8.1
find (GNU findutils) 4.4.2
GNU Awk 3.1.6
/usr/bin/awk -> /usr/bin/gawk
gcc (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
g++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
(Ubuntu EGLIBC 2.11.1-0ubuntu7) 2.11.1
GNU grep 2.5.4
gzip 1.3.12
Linux version 2.6.32-21-generic (buildd at rothera) (gcc version 4.4.3 
(Ubuntu 4.4.3-4ubuntu5) ) #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010
m4 (GNU M4) 1.4.13
GNU Make 3.81
patch 2.6
Perl version='5.10.1';
GNU sed version 4.2.1
tar (GNU tar) 1.22
Texinfo: makeinfo (GNU texinfo) 4.13
xz (XZ Utils) 4.999.9beta
g++ compilation OK

*Error Message:*
lfs at xxx:/mnt/lfs/sources/check-0.9.10$ make
make  all-recursive
make[1]: Entering directory `/mnt/lfs/usr/src/check-0.9.10'
Making all in lib
make[2]: Entering directory `/mnt/lfs/usr/src/check-0.9.10/lib'
/bin/bash ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I..     -g -O2 -Wall -ansi -pedantic -Wextra -Wstrict-prototypes 
-Wmissing-prototypes -Wwrite-strings -Wno-variadic-macros -MT 
libcompat.lo -MD -MP -MF .deps/libcompat.Tpo -c -o libcompat.lo libcompat.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -Wall -ansi 
-pedantic -Wextra -Wstrict-prototypes -Wmissing-prototypes 
-Wwrite-strings -Wno-variadic-macros -MT libcompat.lo -MD -MP -MF 
.deps/libcompat.Tpo -c libcompat.c  -fPIC -DPIC -o .libs/libcompat.o
In file included from libcompat.c:1:0:
libcompat.h:133:13: error: conflicting types for 'timer_t'
  typedef int timer_t;
              ^
In file included from /tools/include/sys/types.h:132:0,
                  from libcompat.h:23,
                  from libcompat.c:1:
/tools/include/time.h:103:19: note: previous declaration of 'timer_t' 
was here
  typedef __timer_t timer_t;
                    ^
In file included from libcompat.c:1:0:
libcompat.h:136:5: error: conflicting types for 'timer_create'
  int timer_create(int clockid, struct sigevent *sevp, timer_t *timerid);
      ^
In file included from libcompat.h:33:0,
                  from libcompat.c:1:
/tools/include/time.h:363:12: note: previous declaration of 
'timer_create' was here
  extern int timer_create (clockid_t __clock_id,
             ^
In file included from libcompat.c:1:0:
libcompat.h:137:5: error: conflicting types for 'timer_settime'
  int timer_settime(timer_t timerid, int flags, const struct itimerspec 
*new_value, struct itimerspec * old_value);
      ^
In file included from libcompat.h:33:0,
                  from libcompat.c:1:
/tools/include/time.h:371:12: note: previous declaration of 
'timer_settime' was here
  extern int timer_settime (timer_t __timerid, int __flags,
             ^
In file included from libcompat.c:1:0:
libcompat.h:138:5: error: conflicting types for 'timer_delete'
  int timer_delete(timer_t timerid);
      ^
In file included from libcompat.h:33:0,
                  from libcompat.c:1:
/tools/include/time.h:368:12: note: previous declaration of 
'timer_delete' was here
  extern int timer_delete (timer_t __timerid) __THROW;
             ^
make[2]: *** [libcompat.lo] Error 1
make[2]: Leaving directory `/mnt/lfs/usr/src/check-0.9.10/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/lfs/usr/src/check-0.9.10'
make: *** [all] Error 2

*Status*: Resolved

 From the error message it is obvious that lib/libcompat.h is redefining 
the timer_h type, so
as a fix I commented out the offending line lib/libcompat.h:133, and the 
package built successfully.
The following is the -stripped, output of running *make check*.

PASS: check_check
PASS: test_output.sh
PASS: test_check_nofork.sh
PASS: test_xml_output.sh
PASS: test_log_output.sh
==================
All 6 tests passed
==================

- Nii Nai


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfromscratch.org/pipermail/lfs-support/attachments/20131017/30f61280/attachment.html>


More information about the lfs-support mailing list