Re: [lfs-support] Building Check-0.9.10 fails and fixed
Loïc Le Ninan loic.leninan at gmail.com writes: So something probably went wrong in gcc pass 2, and it would be best to start over again from scratch I suppose Hello, Self-replying my previous message after further investigation on this problem, and finally solving it. Both my gcc and binutils from pass 2 were built from the host toolchain, and not from pass 1. And it appears that the reason for this is a copy/paste error... More precisely : selecting the 'configure' commands from the PDF version of LFS 7.4 did not select the backslash at the end of each line on pages numbered 45 and 48. And I did not notice the problem until step 5.14 crashed. I started over from scratch using the right 'configure' commands, and step 5.14 went fine. Problem solved. Conclusion : Do not patch if it is not specified in the book, but double-check everything instead. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: [lfs-support] Building Check-0.9.10 fails and fixed
Davis Abubakr-Sadik Nii Nai dwa2pac at gmail.com writes: 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. [...] In file included from libcompat.c:1:0: libcompat.h:133:13: error: conflicting types for 'timer_t' typedef int timer_t; ^ [...] 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 2Status: Resolved Hello, Posting this message for archive, following a thread from last october : Building Check-0.9.10 fails and fixed. This was about a failure in step 5.14 of LFS 7.4, with 'make' complaining about conflicting types for 'timer_t' in libcompat.h. Suggestion was made to patch the source code with a few custom lines in order to prevent this error from raising. But I am facing this very same issue right now, and I think it is a deeper problem so I would not recommend patching. 'configure' logs this line : checking for ld used by gcc... /usr/bin/ld My /tools/bin contains : - i686-lfs-linux-gnu-gcc with timestamp corresponding to pass 1 - i686-pc-linux-gnu-gcc with timestamp corresponding to pass 2 - gcc (a copy of i686-pc-linux-gnu-gcc from pass 2) - cc - gcc export CC=/tools/bin/i686-pc-linux-gnu-gcc before configure make : it fails. export CC=/tools/bin/i686-lfs-linux-gnu-gcc before configure make : it works. So something probably went wrong in gcc pass 2, and it would be best to start over again from scratch I suppose :-( I hope this can help others facing the same problem. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: [lfs-support] Building Check-0.9.10 fails and fixed
That is true. I have been using this setup for so many versions and it worked so I never noticed. Thanks for the pointer. I have added the diff for to fix the problem, in case anyone comes across the problem. --- lib/libcompat.h.orig2013-10-17 19:26:21.341263508 + +++ lib/libcompat.h2013-10-17 19:28:58.780713970 + @@ -130,7 +130,7 @@ * As the functions which use timer_t are not defined on the system, * the timer_t type probably also is not defined. */ -typedef int timer_t; +/* typedef int timer_t; */ int clock_gettime(int clk_id, struct timespec *ts); int timer_create(int clockid, struct sigevent *sevp, timer_t *timerid); - Nii Nai On Thu, 17 Oct 2013 22:11:12 +0200, Denis Mugnierwrote: The LFS book said that /bin/sh should be a symbolic or hard link to bash not to dash -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
[lfs-support] Building Check-0.9.10 fails and fixed
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
Re: [lfs-support] Building Check-0.9.10 fails and fixed
HI *Host Requirements Script Output:* bash, version 4.1.5(1)-release /bin/sh - /bin/dash The LFS book said that /bin/sh should be a symbolic or hard link to bash not to dash Regards, Denis -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page