[SOLVED] Are these critical test failures in glibc?
Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Some of these errors are pretty much expected, but others like the "/elf/tst-xmmymm.out" error are ones I've never encountered before. I searched for 'em online and found that it might be a critical failure (don't know for sure, though). Also, I've never had so many test case failures in the nptl clock tests. Do I have to rebuild? I've a Slackware64 machine as host.
A few of the errors you posted are mentioned in the book and can be ignored, as you already stated.
The following need to be checked in the log file to see if they are time-out related (also mentioned in the book). If so you can ignore them, if not then something went wrong in this or one of the previous chapters and that needs to be fixed first.
BTW: Once you start with chapter 6 the original host isn't used, you are then using the temporary environment you build in chapter 5.
Yeah, I'm sorry, I forgot. What I wanted to mention was that I'm on a 64bit machine, because I read somewhere that the "/elf/tst-xmmymm.out" test was specific to a 64bit build, in fact so are most of the aforementioned nptl tests failures. Of course, I may be wrong.
I've attached the relevant sections from the glibc test log. I'm really confused here, coz I tried compiling glibc on my slack64 system as well, and got the same errors. So what should I do, rebuild, coz I think I might end up with the same problems again?
The errors in the attached file cannot be ignored. As you probably noticed as well, they end with segmentation faults and are definitely not time-out related. What slightly worries me is that these errors also show up when you try this on your host (Slackware), although I do not know the details of this "experiment".
If I'm not mistaken you already build a LFS 6.6 with success (this thread). The only difference I see in 6.6 and 6.7 (svn) are the optimization flags (CFLAGS) that are used:
You could try using the 6.6 flags instead of the 6.7 flags and see what happens (and tell the LFS team about this if it works).
I don't think using the 6.7 SVN version versus the LFS 6.7 version could be the culprit. The glibc chapter is the same for both (you might want to check the chapters leading up to glibc).
Thanks druuna for the reply, and some very astute observation. Yes, I have already built an LFS system, your link providing the appropriate reference. That was a 32 bit build, and this is on 64 bit. So I don't think the optimization parameters
Code:
case `uname -m` in
i?86) echo "CFLAGS += -march=i486 -mtune=native -O3 -pipe" > configparms ;;
esac
would apply in the current case. And yes it's worrying coz I have managed to replicate the same errors on another machine running Arch x86_64. I used the exact same commands used by lfs to try and compile glibc on Arch and Slackware. So it seems I would probably get the same errors, even if I rebuild, coz my test machines run the same version of glibc, with almost identical configs. So is there no way out?
I'm not sure if the optimization parameters do or don't apply. I would have a look what uname -m shows and see if these flags are actually set when building a 32/64 bit LFS version.
Before my previous reply (#5) I did an extensive search on the errors shown and could not find anything that was related. The LFS 6.7 errata doesn't say anything about this either. Maybe you could check the LFS mailing lists to see if this has come up.....
I start to believe that this isn't something you are to blame for (bad copy/paste, deviating from book etc). This because it also shows on another box running a different distro (and they are not based on one another).
Thanks drunna, for the reply. Running "uname -m" on my system gives "x86_64". As the LFS book points out, on a 32-bit system, glibc won't build without the above mentioned CFLAGS. I have tried compiling without it, and configuration fails. Using those CFLAGS on a 64-bit system will give you this eror:
Code:
<stdin>:1:0: error: CPU you selected does not support x86-64 instruction set
make[2]: *** [/root/glibc-build/ucontext_i.h] Error 1
make[2]: Leaving directory `/root/glibc-2.12.1/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/root/glibc-2.12.1'
make: *** [all] Error 2
I don't think "-march=x86_64" is a valid flag, so no luck there. I tried a lot other things, like changing the CFLAGS to "-O3 -fPIC" (as Slackware does), and that added another heap of errors. So no matter what I try, I seem to end up with these specific errors. I searched on-line and it was hinted on some glibc mailing lists that a kernel compiled with certain versions of gcc could bring out these errors. I also read in some lfs-support lists that it might do no harm to ignore these errors, as people have done it and haven't encountered any problem later. So I'll try and forge ahead, and hope I don't stumble badly. Thanks druuna for all your inputs.
Hi all,
Sorry for digging this out, but I have successfully built an LFS/BLFS system on a 64bit box without any problems, despite having encountered the aforementioned errors. The only deviation from LFS instructions is I'm using a patched Linux-libre kernel. Also, using reiser4 as FS. Haven't had any hiccups yet, and keep hoping for the best.
Great to see that you got it all working. And it is always nice to know that certain packages can be replaced by others that are more to the users liking (I still have to look into using the Linux-libre kernel you mentioned here and in another thread).
Thanks druuna. Since this is not a production build, I have experimented further. I have a GeForce GTX 480 card, and I'm using the Nouveau/Gallium3D libraries. Although performance is some way below par, compared to the proprietary drivers, it works nonetheless, and haven't had any crashes as yet. Have also built LibreOffice from source, and that's worked out quite alright. Now running the the DB test suite. Hope that build without errors
Okay, an update on the "tst-rwlock" errors. This thread has some pertinent discussions about 'em. It seems they can be ignored. Also, in my case, another possible culprit could be the <linux-2.6.35/usr/include/linux/freezer.h> include in the -libre kernel. I got this error when installing the sanitized kernel headers:
Code:
/mnt/lfs/sources/test/linux-2.6.35/usr/include/linux/freezer.h:48: userspace cannot call function or variable defined in the kernel
/mnt/lfs/sources/test/linux-2.6.35/usr/include/linux/freezer.h:50: userspace cannot call function or variable defined in the kernel
/mnt/lfs/sources/test/linux-2.6.35/usr/include/linux/freezer.h:51: userspace cannot call function or variable defined in the kernel
/mnt/lfs/sources/test/linux-2.6.35/usr/include/linux/freezer.h:52: userspace cannot call function or variable defined in the kernel
/mnt/lfs/sources/test/linux-2.6.35/usr/include/linux/freezer.h:63: userspace cannot call function or variable defined in the kernel
/mnt/lfs/sources/test/linux-2.6.35/usr/include/linux/freezer.h:64: userspace cannot call function or variable defined in the kernel
/mnt/lfs/sources/test/linux-2.6.35/usr/include/linux/freezer.h:67: userspace cannot call function or variable defined in the kernel
/mnt/lfs/sources/test/linux-2.6.35/usr/include/linux/freezer.h:127: userspace cannot call function or variable defined in the kernel
/mnt/lfs/sources/test/linux-2.6.35/usr/include/linux/freezer.h:138: userspace cannot call function or variable defined in the kernel
Again, I may be wrong, but it could be related.
EDIT: This include doesn't seem to exist in the mainline kernel anymore, well, at least not at the above mentioned location. Maybe it's because I use a patched -libre kernel.
Last edited by corbis_demon; 10-19-2010 at 03:51 AM.
Reason: Added info
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.