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@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@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


-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to