Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My host:

  lfs@sam:/mnt/lfs/sources/glibc-build$ uname -m

In lfs(LFS-BOOK-6.8-HTML/chapter05/glibc.html) It says

  case `uname -m` in
    i?86) echo "CFLAGS += -march=i486 -mtune=native" > configparms ;;

What I should change on 'i?86'?

And should I change 'i486'?

Thank you~

share|improve this question
FYI, LFS 7.0 was released yesterday, still including what you where referring to. – sr_ Oct 30 '11 at 10:28
up vote 2 down vote accepted

That segment is for if you were building a script to compile glibc automatically in order to run it on this system. The "i?86" is a pattern; if the outut of uname -m matches it, it will run the following commands until it gets to ;;.

You probably don't need it; it was specifically meant to figure out if your architecture type was i386 since glibc doesn't support it anymore.

If you're building it in order to run it on a different system that is not x86_64 (or to run it on this system, but using only 32-bit instructions), then you want to force compiling for i486. You can get rid the case structure completely by converting

case `uname -m` in
  i?86) echo "CFLAGS += -march=i486 -mtune=native" > configparms ;;


echo "CFLAGS += -march=i486 -mtune=native" > configparms
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.