LFS FAQ Weekly Posting

Seth W. Klein sk at sethwklein.net
Sun Feb 17 15:36:11 PST 2002


This is the weekly posting of the LFS FAQ. Entries marked "(NEW)" have
been updated since last posting. If you are a regular poster, please read
those entries so you won't accidentally post answers recently included.

As always, comments and updates are welcome, and the HTML is more readable
and is at http://www.linuxfromscratch.org/faq/

Since i'm currently posting by hand, this is cross posted. Cross posting
is totally unacceptable on these lists except in the case of announcements
so if you reply to this message...

REMEMBER TO TRIM THE "To:" FIELD.

May the answers to all your questions be found in the FAQ,
cheers,
Seth W. Klein
-- 
sk at sethwklein.net                             http://www.sethwklein.net/
Maintainer, LFS FAQ                 http://www.linuxfromscratch.org/faq/


                                  The LFS FAQ

  Seth W. Klein

   sk at sethwklein.net

     ----------------------------------------------------------------------

   1. Introduction

                1.1. Why this FAQ?

                1.2. What is appropriate for lfs-support?

                1.3. Contributing to this FAQ.

                1.4. Where is the best place to get help?

                1.5. What is LFS?

   2. Frequently Reported Bugs

                2.1. The Dependencies section for Foo 2.0 says "Foo 1.0".

                2.2. The Delete key doesn't work.

   3. Frequently Requested Enhancements

                3.1. Why isn't GCC 3.0.x in the book?

                3.2. Why not use gawk instead of mawk? (NEW)

                3.3. Why not use GRUB instead of LILO?

                3.4. Why is ed in the book?

   4. Frequently Encountered Errors

                4.1. Compile Time Errors

                             4.1.1. Errors From Any Package

                                          4.1.1.1. ./configure: bad
                                          interpreter: Permission denied

                                          4.1.1.2. /usr/bin/env: /bin/bash:
                                          No such file or directory (NEW)

                                          4.1.1.3. checking whether we are
                                          using GNU C... no

                                          4.1.1.4. Why does configure hang at
                                          "checking for signed size_t
                                          type..."? (NEW)

                             4.1.2. Errors From Specific Packages

                                          4.1.2.1. My optimized build of
                                          glibc is failing in spinlock.c

   5. Resources

                5.1. How do I find package Foo?

                5.2. How do I make a bootable CD?

                5.3. How do I find what files a package installs? (NEW)

                5.4. Where's portmap?

                5.5. What distribution should I use to start from?

                5.6. How do I make that really small install the book
                mentions?

                5.7. Where's libncurses.a in Mandrake? (NEW)

   6. Frequently Sought Cluebits

                6.1. What's a DOS format text file?

   7. Compiling

                7.1. If you are using optimizations:

                7.2. If you are using a version not in the book:

                7.3. If you didn't delete the source tree after your last
                attempt:

                7.4. I'm getting fatal errors about signal 11.

                7.5. How do I cross compile LFS?

                7.6. Are compiler warnings from GCC bad?

                7.7. I'm getting `/dev/null: Permission denied'

                7.8. configure can't guess my host type.

                7.9. A package can't find Xlib.h.

                7.10. I'm having trouble compiling something with GCC 3.x

   8. Questions about specific packages.

                8.1. How do I create a non-root user?

                8.2. My static sh-utils build is failing with "undefined
                reference to `getloadavg'".

                8.3. My hostname is getting set to "-f"!

                8.4. How do I setup kernel modules?

                8.5. What do those LILO errors mean?

                8.6. I'm getting errors about net-pf-?.

                8.7. I'm getting errors about char-major-10-135.

   9. Additions / Changes to LFS.

                9.1. There's a new version of package Foo.

                9.2. Why copy the kernel headers instead of linking them?

                9.3. Why does less (and therefore man) print <AD> instead of
                hyphens?

                9.4. Where's which?

  1. Introduction

   1.1. Why this FAQ?

   I started this FAQ in an attempt to make the traffic on the LFS mailing
   lists more manageable and improve the signal to noise ratio. I'm going to
   limit myself to things that come up often there leaving tips and such for
   LFS-Hints.

   1.2. What is appropriate for lfs-support?

   From the website:

     The lfs-support mailing list provides support to users building an LFS
     system as far as the end of the main book. Requests for help with
     installing software beyond the base system should go to the blfs-support
     list.

   For instance, GCC and Glibc are part of the LFS book and belong on
   lfs-support. XFree86, KDE, and GNOME are not part of the LFS book and
   belong on blfs-support.

   1.3. Contributing to this FAQ.

   If you have an addition or suggestion, please, let me know. I can be
   reached at sk at sethwklein.net, and i read the lists thoroughly (but not
   always promptly).

   I want to stick to questions that have been asked at least twice and to
   remove items that are no longer an issue.

   1.4. Where is the best place to get help?

   When this FAQ fails to help, there are several places to go.

   If you're having a problem with something in the book, it never hurts to
   go back over the book. It's surprising how easy it is to overlook little
   things.

   If nothing else, reading the appropriate man and info pages will yield
   useful information on some subject, if not what you were looking for, and
   insure that you know enough not to embarrass yourself if you have to ask
   someone.

   http://www.linuxdoc.org/ has the HOW-TOs and a great deal of other
   documentation. You might find something there.

   The linuxfromscratch.org site search includes the mailing lists. Many
   questions have been discussed there at least once. It's at
   http://search.linuxfromscratch.org/.

   For support type help, IRC is often best. It's faster, and doesn't clog
   the mailinglists. Information on the LFS IRC channel is at
   http://www.linuxfromscratch.org/misc/irc.shtml.

   As a last resort, there are the mailing lists. People will get frustrated
   with you if you use the wrong one or cross post. Mailing list information
   is at http://www.linuxfromscratch.org/mailinglists/info.shtml: and tells
   which list to use.

   1.5. What is LFS?

   LFS stands for Linux From Scratch which is a project that primarily
   documents how to install a Linux system by downloading, building, and
   installing the packages yourself.

   For why you might want to do this, how to do it, and other useful stuff,
   see the website at http://www.linuxfromscratch.org/.

  2. Frequently Reported Bugs

   2.1. The Dependencies section for Foo 2.0 says "Foo 1.0".

   That is correct. Dependencies sections are only updated occasionally due
   to the amount of manual labor required.

   2.2. The Delete key doesn't work.

   See: http://beyond.linuxfromscratch.org/view/cvs/chapter03/inputrc.html.

  3. Frequently Requested Enhancements

   LFS is a very basic system, in massive contrast to traditional
   distributions. The reason is this: LFS is not intended to create your
   system as you want it. It's intended to be just enough to allow you to
   build your system as you want it. It's not an end, it's a beginning. When
   you're done with LFS, you've just started building your system.

   This can be a problem if you're new to Unix systems and want a typical
   install with X and a web browser but have no idea what packages you need.
   For this reason, there is the Beyond Linux From Scratch, or BLFS, project.
   It is at http://beyond.linuxfromscratch.org/.

   3.1. Why isn't GCC 3.0.x in the book?

   Because stable glibc (2.2.4) refuses to be compiled by it.

   If you want to try gcc 3, get glibc 2.2.5pre1. Be warned, however, that
   gcc 3 is a major upgrade and many packages, especially older ones, may not
   compile without modifications.

   3.2. Why not use gawk instead of mawk? (NEW)

   The book is switching to gawk after 3.2 is released.

   If you wish to switch before then, gawk is a well behaved GNU package so
   it is available from your favorite GNU mirror and "./configure
   --prefix=/usr && make && make install" works.

   3.3. Why not use GRUB instead of LILO?

   GRUB has not yet been released as stable. When it is, it will be
   considered and, if it seems better than LILO, used.

   If your current setup uses GRUB, there's no need to switch. In addition to
   the GRUB documentation, see the LFS "GRUB-Howto" Hint at
   http://hints.linuxfromscratch.org/hints/grub-howto.txt

   3.4. Why is ed in the book?

   The book includes ed because patch uses it to process ed scripts. However,
   these are rare today; everyone uses diff format patches.

   But ed does have other uses:

     * For all who've learned to use it, ed is a very useful emergency
       editor. The MS Windows standard telnet client can deal with ed but has
       trouble with fullscreen editors (like vim). And a full featured vim
       requires not only ncurses, but X11 as well! Any trouble with those
       libraries will leave the system without an editor if ed isn't present.

     * Though it's not a reason to have ed in the book, some people actually
       like ed.

     * Understanding ed helps with understanding vi(m) and Unix history in
       general.

  4. Frequently Encountered Errors

    4.1. Compile Time Errors

      4.1.1. Errors From Any Package

   4.1.1.1. ./configure: bad interpreter: Permission denied

   You're most likely getting this while building bash in Chapter 5 of the
   LFS Book. The problem is most likely your mount options. You probably have
   a line in /etc/fstab like:

   /dev/hda10      /mnt/lfs        ext2    user    1  2                       

   'user' is the mount flag, and it's the problem. To quote from the mount
   man page:

                                                                              
     user  Allow  an  ordinary  user to mount the file system.                
           This  option  implies  the options noexec,  nosuid,                
           and nodev (unless overridden by subsequent options,                
           as in the option line user,exec,dev,suid).                         

   So change the line in /etc/fstab like this:

   /dev/hda10      /mnt/lfs        ext2    defaults        1  2               

   4.1.1.2. /usr/bin/env: /bin/bash: No such file or directory (NEW)

   You're trying to follow the LFS Book and working on entering chroot,
   right? Most likely $LFS/bin/bash isn't statically linked. Check it with:

   file $LFS/bin/bash                                                         

   If that doesn't say something about "statically linked", reinstall bash
   following the instructions in Chapter 5.

   4.1.1.3. checking whether we are using GNU C... no

   If you're getting an error from configure like:

   checking whether we are using GNU C... no                                  
   configure: error: GNU libc must be compiled using GNU CC                   

   It may be because egrep (from the grep package) isn't working.

   To test if egrep is working before reinstalling the grep package in
   Chapter 6, run the following command from outside chroot:

   file $LFS/usr/bin/egrep                                                    

   If it doesn't say "statically linked" you have a problem and need to
   reinstall the grep package.

   To test if egrep is working after reinstalling the grep package in Chapter
   6, run the following command from inside chroot:

   egrep root /etc/passwd                                                     

   If it doesn't print root's line from /etc/passwd, again, you have a
   problem. (This test also works if you encounter the problem after
   rebooting into the new LFS system.)

   4.1.1.4. Why does configure hang at "checking for signed size_t type..."?
   (NEW)

   You over optimized gcc.

      4.1.2. Errors From Specific Packages

   4.1.2.1. My optimized build of glibc is failing in spinlock.c

   It should be mentioned that glibc (and gcc and binutils) are good places
   to not optimize. The performance versus stability trade off is unusually
   poor for these packages. But. . . .

   If you've specified a CFLAGS value like "-march=i686 -mcpu=686" and you're
   getting an error like this:

   spinlock.c: In function `__pthread_lock':                                  
   spinlock.c:107: inconsistent operand constraints in an `asm'               
   make[2]: *** [/usr/src/glibc-build/linuxthreads/spinlock.o] Error 1        
   make[2]: Leaving directory `/usr/src/glibc-2.2.4/linuxthreads'             
   make[1]: *** [linuxthreads/others] Error 2                                 
   make[1]: Leaving directory `/usr/src/glibc-2.2.4'                          
   make: *** [all] Error 2                                                    

   It's because, unlike almost everything else, spinlock.c requires
   optimization. You could set CFLAGS to something like "-march=i686
   -mcpu=i686 -O2". (Note the "-O2".)

   But it is better to set optimizations in glibc-x.x.x/Makeconfig. This is
   the relevant section of Makeconfig:

   # Default flags to pass the C compiler.                                    
   ifndef default_cflags                                                      
   ifeq ($(release),stable)                                                   
   default_cflags := -g -O2                                                   
   else                                                                       
   default_cflags := -g -O                                                    
   endif                                                                      
   endif                                                                      

   And here is an example to adapt:

   # Default flags to pass the C compiler.                                    
   ifndef default_cflags                                                      
   ifeq ($(release),stable)                                                   
   default_cflags := -g0 -Os -march=i386 -mcpu=i386 -pipe                     
   else                                                                       
   default_cflags := -g -O                                                    
   endif                                                                      
   endif                                                                      

  5. Resources

   5.1. How do I find package Foo?

   Mostly, it's not hard, but some packages can lead quite a chase. Here are
   some steps:

   
       foo                                                                    

       will usually turn up a freshmeat page with links to an URL where you
       can check for newer releases not reported to freshmeat.

   
       +foo +index                                                            

       which tends to find "Index of /pub/foo" type pages, or even

       +foo +index -RPM -debian                                               

       to eliminate links to RPM packages and Debian's archives.

          http://www.ibiblio.org/pub/. (If you want to look specifically on
       ibiblio.org use

       foo site:ibiblio.org                                                   

       ) Beware that ibiblio.org may not have the most recent version.
       However, they often will have...

          where more recent versions may be found.

   5.2. How do I make a bootable CD?

   See the Boot-CD Hint and
   http://hints.linuxfromscratch.org/hints/bootcd.txt

   5.3. How do I find what files a package installs? (NEW)

   Use install-log from http://install-log.sourceforge.net/.

   5.4. Where's portmap?

   There are instructions in the NFS Hint at
   http://hints.linuxfromscratch.org/hints/nfs.txt.

   Also, Marc Heerdink writes:

     I have a version of tcp_wrappers and portmap up that have both been
     patched with the debian patches, adapted Makefiles for LFS plus all
     compile warnings/problems were fixed. Additionally, an lfs-install.sh is
     included in both tarballs that provides a really quick and dirty way to
     install them. They can be found at
     http://www.linuxfromscratch.org/~gimli/. You may want to add a note
     about these packages for people who want to do it the easy way :)

   5.5. What distribution should I use to start from?

   Any recent distribution should be fine. If you have problems, try
   installing and/or updating the development packages. (Look for ones
   starting in "gcc" or "glibc" "libstdc++" or ending in "-dev".)

   5.6. How do I make that really small install the book mentions?

   Gerard describes the process of making a 5MB LFS install in an email
   archived at
   http://archive.linuxfromscratch.org/mail-archives/lfs-support/2001/10/0072.html

   5.7. Where's libncurses.a in Mandrake? (NEW)

   In Mandrake/RPMS2/libncurses5-devel-5.2-16mdk.1586.rpm on Disk 2. Version
   numbers might be a little different for you. (If you're missing
   libcurses.a (no "n"), reread the book's instructions for bash more
   carefully.)

  6. Frequently Sought Cluebits

   6.1. What's a DOS format text file?

   It has to do with the characters used to end lines.

   There are two that may be used:

     * Line Feed: (LF) Octal:012 Decimal:10 Hex:0A C Style Escape:'\n' Moves
       down one line.

     * Carriage Return: (CR) Octal:015 Decimal:13 Hex:0D C Style Excape:'\r'
       Move to the left margin.

   Unix, DOS, and MacOS each use a different combination to end lines in text
   files:

     * Unix: LF only. This is why when a Unix format text file is sent to a
       printer raw, it prints out

       like                                                                   
           stairs                                                             
                 steps.                                                       

     * DOS: CRLF both. Which is why if you do "cat -v" on a DOS file you'll
       see a "^M" (control m is carriage return) at the end of each line. And
       that is why scripts don't work when written with Microsoft Notepad.
       The kernel looks for "/bin/sh^M" which doesn't exist. There's a
       "/bin/sh", but nothing with a "^M" appended.

     * MacOs: CR only. Printers probably print every line atop the first, and
       Unix tools think the whole file is one line with "^M" all through it.

   To change DOS to Unix, use

   cp <filename> <filename>.dos && cat <filename>.dos | tr -d '\r' > <filename> 

   Other conversions will probably require sed or a different use of tr and
   are left as an exercise for the reader.

  7. Compiling

   7.1. If you are using optimizations:

   If you're getting errors and you're using optimizations, try without
   optimizations. Even if the errors can't possibly be related. I've see
   reports of configure scripts not running because of optimization settings.
   Weird, huh?

   Also, optimization settings that work for someone else may not work for
   you. Settings that used to work may break if you make the smallest, most
   innocent hardware change.

   (If you don't know what optimization settings are, don't worry, you don't
   need to.)

   7.2. If you are using a version not in the book:

   If you're getting errors and you're using a version of a package that
   differs from the version in the book (either newer or older), try the
   version in the book. Sometimes there are reasons why the book uses a
   particular version. Search the list archives if you're curious.

   7.3. If you didn't delete the source tree after your last attempt:

   If you're getting errors and you tried compiling before but didn't "rm
   -rf" the sources between, delete and try again. Basically, extract,
   configure, and make; and if that fails delete the whole business before
   starting over from "extract".

   7.4. I'm getting fatal errors about signal 11.

   See http://www.bitwizard.nl/sig11/.

   7.5. How do I cross compile LFS?

   It's often useful to compile LFS for one machine on another machine. Say
   using that 1Ghz Athlon to build an install for an old 486. While this is
   technically not cross compiling, binaries compiled for the Athlon cannot
   be run on the 486 because binaries compiled for the newer processor use
   features the older processor doesn't have. To make the newer system
   compile for the older, follow the hint at
   http://hints.linuxfromscratch.org/hints/crosscompiling-x86.txt

   7.6. Are compiler warnings from GCC bad?

   Short answer: no.

   Long answer: probably, but only to someone working on the package you're
   trying to compile. Mostly, everything will be fine unless make quits with
   an error.

   Here's an example:

   sk ~/tmp $ cat > Makefile                                                  
   main:                                                                      
           gcc main.c                                                         
   sk ~/tmp $ cat > main.c                                                    
   void main() { exit(0); }                                                   
   sk ~/tmp $ make                                                            
   gcc main.c                                                                 
   main.c: In function `main':                                                
   main.c:1: warning: return type of `main' is not `int'                      
   sk ~/tmp $ ######## that worked ########                                   
   sk ~/tmp $                                                                 
   sk ~/tmp $ cat > main.c                                                    
   int main() { exxit(0) }                                                    
   sk ~/tmp $ make                                                            
   gcc main.c                                                                 
   main.c: In function `main':                                                
   main.c:1: parse error before `}'                                           
   make: *** [main] Error 1                                                   
   sk ~/tmp $ ######## that failed ########                                   
   sk ~/tmp $                                                                 
                                                                              

   7.7. I'm getting `/dev/null: Permission denied'

   Does /dev/null look like this:

   $ ls -l /dev/null                                                          
   crw-rw-rw-   1 root     root       1,   3 Aug  3  2000 /dev/null           
                                                                              

   If not, it should. See the chmod(1) and chown(1) man pages if you need
   help fixing it.

   If it does look right, the problem is probably your mount options. See the
   answer to "./configure: bad interpreter: Permission denied", above.

   7.8. configure can't guess my host type.

   Typical symptoms look like this:

sk ~/tmp-0.0 $ ./configure                                                                   
creating cache ./config.cache                                                                
checking host system type... configure: error: can not guess host type; you must specify one 
sk ~/tmp-0.0 $                                                                               
                                                                                             

   The problem is usually that the script can't run the compiler. Usually
   it's just a missing /usr/bin/cc symlink. You can fix it like this:

   cd /usr/bin                                                                
   ln -s gcc cc                                                               
                                                                              

   If that doesn't do it, check the file config.log created by configure.
   Errors go here and may indicate the problem.

   7.9. A package can't find Xlib.h.

   Typical symptoms look like this:

   sk ~/tmp $ cat > Makefile                                                  
   x11:                                                                       
           gcc x11.c                                                          
   sk ~/tmp $ cat > x11.c                                                     
   #include <X11/Xlib.h>                                                      
   int main() { exit(0); }                                                    
   sk ~/tmp $ make                                                            
   gcc x11.c                                                                  
   x11.c:1: X11/Xlib.h: No such file or directory                             
   make: *** [x11] Error 1                                                    
   sk ~/tmp $                                                                 
                                                                              

   Creating a couple symlinks will fix this. Here are the commands:

   cd /usr                                                                    
   ln -s X11R6 X11                                                            
   cd include                                                                 
   ln -s ../X11/include/X11 X11                                               
                                                                              

   7.10. I'm having trouble compiling something with GCC 3.x

   You should be aware that you're on the bleeding edge. As of 3.0, the LFS
   Book recommends GCC 2.95.3. However, there are some things you can do:

   Try adding the -std=gnu89 switch to the compile options. (For instance, in
   CFLAGS or CC. The exact method is a bit beyond the scope of this FAQ.)

  8. Questions about specific packages.

   8.1. How do I create a non-root user?

   Use the useradd program. It was installed with the shadow package.

   8.2. My static sh-utils build is failing with "undefined reference to
   `getloadavg'".

   If you're trying to build static sh-utils and you're getting an error like
   this:

   gcc  -g -O2  -static -o uptime  uptime.o ../lib/libsu.a -lutil              
   uptime.o: In function `print_uptime':                                       
   /lfs/tmp/sh-utils-2.0/src/uptime.c:125: undefined reference to `getloadavg' 
   collect2: ld returned 1 exit status                                         
   make[2]: *** [uptime] Error 1                                               
   make[2]: Leaving directory `/lfs/tmp/sh-utils-2.0/src'                      
   make[1]: *** [all-recursive] Error 1                                        
   make[1]: Leaving directory `/lfs/tmp/sh-utils-2.0'                          
   make: *** [all-recursive-am] Error 2                                        
                                                                               

   I am unable to reproduce this error and so cannot present a tested
   solution, but two solutions have been posted by others. I suggest trying
   them in the following order:

     * http://archive.linuxfromscratch.org/mail-archives/blfs-support/2001/06/0507.html:
       This attempts to correct the incorrectly generated config.h and should
       be the correct solution if you can get it to work by following the
       description given in the post.

     * If that doesn't work, delete the sources, re-extract, and try this:
       http://archive.linuxfromscratch.org/mail-archives/blfs-support/2001/06/0495.html
       This attempts to avoid compiling uptime at all since it won't be
       needed in chroot and compiling uptime dynamically in chroot doesn't
       have this problem.

   8.3. My hostname is getting set to "-f"!

   You need to install the net-tools package. (See the instructions in the
   LFS book.)

   The hostname command your system is using is from sh-utils and doesn't
   support the -f option. When it is called with the -f option it assumes the
   hostname should be set to "-f". The hostname command from net-tools
   doesn't have this problem.

   8.4. How do I setup kernel modules?

   Follow the Module-HOWTO at http://www.linuxdoc.org/HOWTO/Module-HOWTO/.

   8.5. What do those LILO errors mean?

   The documentation in the LILO distribution lists all errors (such as when
   it prints "LI" and stops), but a quick overview is available at
   http://sdb.suse.de/sdb/en/html/kgw_lilo_errmsg.html.

   8.6. I'm getting errors about net-pf-?.

   When you compiled net-tools you enabled support for a protocol family
   (that's where the "pf" comes from) that you didn't enable support for in
   the kernel. (You probably just accepted the default answers.)

   A full list is in /usr/include/linux/socket.h but here is a list of the
   likely culprits:

     * net-pf-3: Amateur Radio AX.25 (AF_AX25)

     * net-pf-4: Novell IPX (AF_IPX)

     * net-pf-5: AppleTalk DDP (AF_APPLETALK)

     * net-pf-6: Amateur Radio NET/ROM (AF_NETROM)

     * net-pf-9: Reserved for X.25 project (AF_X25)

   Naturally the fix is to recompile net-tools without support for the things
   you don't need. (Or recompile your kernel with support if you find you
   actually wanted them.) The workaround to put a line like the following in
   /etc/modules.conf

   alias net-pf-? off                                                         
                                                                              

   Replace the question mark with the correct number, of course. And rerun
   depmod.

   If you get an error about net-pf-7, you probably need to enable support
   for the loopback network device (not block device) in your kernel. Or you
   may need to add the following line to /etc/modules.conf and rerun depmod.

   alias net-pf-7 loop                                                        
                                                                              

   8.7. I'm getting errors about char-major-10-135.

   Errors about char-major-10-135 refer to the character device, major 10,
   minor 135, which is /dev/rtc. It provides access to the BIOS clock, or
   RTC, the Real Time Clock. Check /usr/src/linux/Documentation/rtc.txt for
   more information.

   Something, most likely hwclock, is trying to use it but you haven't
   configured kernel support for it in your kernel. Either delete /dev/rtc so
   hwclock won't try to use it or enable RTC support in your kernel. It's
   located in make menuconfig under "Character devices" -> "Enhanced Real
   Time Clock Support".

  9. Additions / Changes to LFS.

   9.1. There's a new version of package Foo.

   There's no need to mention it unless you have something useful to add such
   as changes in the compile instructions. If it isn't already in CVS, it's
   on the todo list or we've chosen not to use it for some reason. A search
   of the list archives may reveal the reason.

   9.2. Why copy the kernel headers instead of linking them?

   In short, we copy the kernel headers instead of linking them because the
   kernel headers should match the currently running libc, not the currently
   running kernel.

   For the long answer see these:

     * A post by Linus himself:
       http://www.uwsg.iu.edu/hypermail/linux/kernel/0007.3/0587.html

     * Kernel Traffic #80, 4. Symlinks In The Kernel; Kernel/Library/etc
       Interface Dispute: http://kt.zork.net/kernel-traffic/kt20000814_80.txt
       (This covers the thread in which Linus' post occurred.)

   9.3. Why does less (and therefore man) print <AD> instead of hyphens?

   Because the LANG and LC_ALL environment variables aren't set. To fix that,
   set them in the ~/.bashrc file for each user or in /etc/profile by adding
   lines like this:

   export LANG=en_US                                                          
   export LC_ALL=en_US                                                        

   Those lines can be added to /etc/profile with the following command:

   echo -e 'export LANG=en_US\nexport LC_ALL=en_US' >> /etc/profile           

   You'll have to change the "en_US" part if you don't use US English.

   9.4. Where's which?

   It's not in there! A proper which is available from the GNU Project at
   ftp://ftp.gnu.org/gnu/which/ or at http://www.xs4all.nl/~carlo17/which/.
   Or for systems that don't require a good user environment the simplest
   thing is probably to create a shell script using these commands:

   cat > /usr/bin/which << "EOF"                                              
   #!/bin/bash                                                                
                                                                              
   type -p "$@"                                                               
                                                                              
   EOF                                                                        
   chmod 755 /usr/bin/which                                                   
   chown root.root /usr/bin/which                                             
                                                                              

-- 
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe blfs-dev' in the subject header of the message



More information about the blfs-dev mailing list