<!doctype linuxdoc system>

<article>

<title>Glibc 2 ÇÏ¿ìÅõ  
<author>Eric Green, <tt/thrytis@imaxx.net/
<date>v1.2, 26 October 1997
<trans>¹ø¿ª: ¸ð¸§
<abstract>
Glibc 2 ÇÏ¿ìÅõ´Â ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ GNU C Library version 2(libc 6)¸¦ 
¼³Ä¡ÇÏ°í »ç¿ëÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù. 
</abstract>

<toc>


<sect>¼Ò°³(Introduction)
<p>

<sect1>glibc 2¶õ?
<p>

Glibc 2Àº GNU C LibraryÀÇ ÃÖ½Å ¹öÀüÀÌ¸ç, ÇöÀç GNU Hurd ½Ã½ºÅÛ, ¸®´ª½º 
i386, m68k, and alpha ½Ã½ºÅÛ¿¡¼­ ½ÇÇàµÈ´Ù. ±×¸®°í ¸®´ª½º  PowerPC, 
MIPS, Sparc·Î Æ÷ÆÃÀÛ¾÷Àº ÇöÀç °³¹ß ÁßÀÌ´Ù. ¾ÕÀ¸·Î °èÈ¹Àº ´Ù¸¥ 
architectures¿Í ¿î¿µÃ¼°è¿¡ ´ëÇÑ Áö¿ø¿©ºÎ¸¦ Ã·°¡ÇÏ´Â °ÍÀÌ´Ù.^^

¸®´ª½º¿¡¼­´Â glibc 2°¡ Linux libc 5ÀÇ ´ÙÀ½ ¹öÀüÀÎ libc major version 6
À¸·Î »ç¿ëµÇ°í ÀÖ´Ù. ÀÌ·¯ÇÑ °úÁ¤Àº Linux libc °³¹ßÀÚµéÀÇ ÀÇµµÀÌ±âµµ Çß´Ù.
ÇöÀç´Â ½ÇÇèÀûÀÌÁö¸¸ glibc 2¿¡ °ü½ÉÀÖ´Â »ç¶÷µéÀÌ Æò°¡ÇÏ°í »ç¿ëÇÏ´Âµ¥¿¡´Â ÃæºÐÈ÷ ¾ÈÁ¤¼ºÀÌ ÀÖ´Ù. ¸¸¾à ´ç½ÅÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÌ glibc 2¸¦ Áö¿øÇÑ´Ù¸é ÃÖ½Å ¹öÀüÀº »ó´çÈ÷ ¾ÈÁ¤ÇÏ´Ù. ¹öÀü 2.1Àº main stream use¿¡ ´ëÇÑ ¹öÀüÀÌ µÉ °ÍÀÌ´Ù.

glibc 2¿¡¼­ À¯¿ëÇÏ´Â 3°¡Áö Ãß°¡ ¿É¼Ç(optional add-ons)ÀÌ ÀÖ´Ù.
<descrip>
<tag/Crypt/UFC-crypt ÆÐÅ°ÁöÀÌ´Ù.  Export restriction¶§¹®¿¡ ºÐ¸®½ÃÄ×´Ù.
<tag/LinuxThreads/An implementation of the Posix 1003.1c &dquot;pthread&dquot; interface.
<tag/Locale data/Contains the data needed to build the locale data files to
     use the internationalization features of the glibc.
</descrip>

<sect1>ÀÌ ¹®¼­¿¡ ´ëÇØ¼­
<p>

ÀÌ ÇÏ¿ìÅõ ¹®¼­´Â Á¸ÀçÇÏ´Â ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ glibc 2 library¸¦ ¼³Ä¡ÇÏ´Â °ÍÀ» 
´Ù·ê·Á°í ÇÑ´Ù.  ÇöÀç libc 5¸¦ »ç¿ëÇÏ´Â Intel ±â¹ÝÀÇ ½Ã½ºÅÛÀÇ »ç¿ëÀÚ¸¦ À§ÇØ¼­ 
Àû¾ú´Ù. ±×·¯³ª ´Ù¸¥ ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â »ç¶÷ÀÌ³ª glibc 1°ú °°Àº º¯°æµÈ 
¶óÀÌºê·¯¸®¸¦ »ç¿ëÇÏ´Â »ç¶÷µµ ÀûÀýÇÑ À§Ä¡¿¡ ÀÖ´Â ÀûÇÕÇÑ ÆÄÀÏÀÌ¸§°ú architecture
ÀÌ¸§À¸·Î ¹Ù²Ù´Â ÀÛ¾÷¸¸À¸·Î ÀÌ ¹®¼­ÀÇ Á¤º¸¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

ÀÌ ÇÏ¿ìÅõ ¹®¼­ÀÇ ÃÖ½Å ÆÇÀº 
<url url="http://sunsite.unc.edu/LDP" name="Linux Documentation Project">
ÀÇ ÀÏºÎ·Î ¾òÀ» ¼ö ÀÖ°Å³ª, 
<url url="http://www.imaxx.net/~thrytis/glibc/Glibc2-HOWTO.html">
À§ À§Ä¡¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù.

<sect1> ÀÌ ¹®¼­¿¡¼­ ÃÖ±Ù º¯°æµÈ ³»¿ë
<p>

¹öÀü 1.1°ú 1.2¿Í ´Ù¸¥ Á¡:
<itemize>
<item>Added some information to the Reporting bugs section, and
 updated bug reporting email and gnats addresses. (Changes by Andreas Jaeger)
<item>Updated Credits section.
</itemize>

¹öÀü 1.0°ú 1.1¿Í ´Ù¸¥ Á¡:
<itemize>
<item>Updated glibc version to 2.0.5c.
<item>Added a reference to the Debian libc5 to libc6 ÇÏ¿ìÅõ and Frodo
 Looijaard's Installing glibc-2 on Linux document.
</itemize>


<sect>¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» ¼±ÅÃÇÏÀÚ.
<p>

 glibc¸¦ ¼³Ä¡ÇÏ´Â ¹æ¹ýÀº ¸¹Áö ¾Ê´Ù. ´ç½Åµµ ½ÃÇè»ï¾Æ ¶óÀÌºê·¯¸®¸¦ ¼³Ä¡ÇÒ¼ö ÀÖ´Ù.
Áï ±âº»ÀûÀ¸·Î ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â ¶óÀÌºê·¯¸®¸¦ »ç¿ëÇÏ¿©¼­ glibc 2¸¦ ¼³Ä¡ÇÑ ÈÄ, 
ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ÇÒ ¶§, ´Ù¸¥ ¿É¼ÇÀ» »ç¿ëÇÏ¸é »õ·Î¿î ¶óÀÌºê·¯¸®(glibc 2)¸¦ 
ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ¹°·Ð ÀÌ·± ¹æ¹ýÀ¸·Î ¼³Ä¡ÇÏ´Â °ÍÀº ¼³Ä¡ ÈÄ glibc¸¦ Á¦°ÅÇÏ´Â °ÍÀº
½±´Ù.-- ÁÖÀÇÇÒ °ÍÀº glibc¿Í ¸µÅ·µÇ¾î¼­ ¸¸µé¾îÁø ÇÁ·Î±×·¥Àº  ´õ ÀÌ»ó ½ÇÇàµÇÁö 
¾Ê´Â´Ù´Â °ÍÀÌ´Ù.-- glibc¸¦ ½ÇÇè»ï¾Æ »ç¿ëÇÒ·Á¸é ¼Ò½º(source)¸¦ °¡Áö·Î 
¶óÀÌºê·¯¸®¸¦ ÄÄÆÄÀÏÇÏ¸é µÈ´Ù. ÀÌ·± ¼³Ä¡ ¹æ¹ýÀº 
<ref id="test-install" name="½ÃÇè»ï¾Æ ¼³Ä¡ÇÏ±â">¿¡¼­ ÀÚ¼¼È÷ ¼³¸íÇß´Ù.

¶Ç ´Ù¸¥ ¼³Ä¡ ¹æ¹ýÀº ÁÖ ¶óÀÌºê·¯¸®·Î glibc¸¦ »ç¿ëÇÏ±â À§ÇÑ ¹æ¹ýÀÌ´Ù.
ÀÌ°ÍÀº ´ç½ÅÀÌ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ¸é, »õ·Î¿î ÇÁ·Î±×·¥µéÀº ÁÖ·Î glibc¿¡ ¸µÅ·ÀÌ 
µÈ´Ù. ±×·¯³ª ÄÄÆÄÀÏ ½Ã, ´Ù¸¥ ¿É¼ÇÀ» »ç¿ëÇÏ¸é ±¸ ¶óÀÌºê·¯¸®¿¡ ¸µÅ·½ÃÅ³ ¼ö ÀÖ´Ù.
¹ÙÀÌ³Ê¸® ÇüÅÂ·Î ¶óÀÌºê·¯¸®¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖÀ¸¸ç, ¶Ç´Â ½º½º·Î ¶óÀÌºê·¯¸®¸¦ ÄÄÆÄÀÏ
ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ÃÖÀûÈ­ ¿É¼ÇÀÌ³ª ±¸¼º ¿É¼ÇÀ» º¯°æ½ÃÅ°°í ½Í°Å³ª ¾Æ´Ï¸é ¹ÙÀÌ³Ê¸®
ÆÐÅ°Áö¿¡¼­ Á¦°øµÇÁö ¾Ê´Â add-onÀ» »ç¿ëÇÏ·Á°í ÇÑ´Ù¸é, ¼Ò½º ¹èÆ÷ÆÇÀ» ±¸ÇÑ ÈÄ, 
ÄÄÆÄÀÏ ÇÏ¾ßÇÑ´Ù. ÀÌ·± ¼³Ä¡ °úÁ¤Àº 
<ref id="primary-install" name="primary C library·Î ¼³Ä¡ÇÏ±â">¿¡¼­ ¼³¸íÇß´Ù.

Frodo LooijaardÀº glibc¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ¹æ¹ýµµ ¼³¸íÇß´Ù.
Áï, glibc¸¦ secondary libary·Î ¼³Ä¡ÇÏ°í, glibc¸¦ »ç¿ëÇÏ¿©¼­ ÄÄÆÄÀÏµÇ°Ô 
cross compiler¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ ¹æ¹ý¿¡ ´ëÇÑ ¼³Ä¡ °úÁ¤Àº ´Ù¼Ò º¹ÀâÇÏÁö¸¸,
glibc·Î ¸µÅ·ÇÒ ¶§´Â ½¬¿î ÄÄÆÄÀÏÀ» ÇÒ ¼ö ÀÖ´Ù.(??) ÀÌ ¹æ¹ýÀº ±×ÀÇ site¿¡ ÀÖ´Â
<url url="http://huizen.dds.nl/~frodol/glibc/"
name="Installing glibc-2 on Linux"> ¹®¼­¿¡ ¼³¸íµÇ¾îÀÖ´Ù.

¸¸¾à ÇöÀç Debian 1.3À» »ç¿ë ÁßÀÌ°í, glibc¸¦ »ç¿ëÇÏ´Â µ¥ºñ¾ÈÀÇ unstable version
À¸·Î ¾÷±×·¹ÀÌµå¸¦ ÇÏ±â ½È´Ù¸é,  
<url url="http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.html"
name="Debian libc5 to libc6 Mini-HOWTO"> À» Âü°íÇÏ¿©¼­ µ¥ºñ¾È ÆÐÅ°Áö¸¦ 
¾÷±×·¹ÀÌµå¸¦ ½ÃÅ³ ¼ö ÀÖ´Ù.

<bf> glibc 2¸¦ Áß¿äÇÑ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ·Á°í ÇÑ´Ù¸é, ÁÖ ¶óÀÌºê·¯¸®·Î ¼³Ä¡ÇÏÁö 
¸»¶ó.</bf> ½ÃÇè»ï¾Æ ¼³Ä¡ÇÏ°Å³ª, ´õ ÁÁÀº °ÍÀº ¿©À¯ÀÖ´Â ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇØ¼­
Å×½ºÆ®ÇØ º¸¾Æ¶ó. ¼³·É ¹ö±×°¡ ¾ø´ÙÇÏ´õ¶óµµ, ¾î¶² ÇÁ·Î±×·¥Àº ÄÄÆÄÀÏ ÇÏ±â Àü¿¡
º¯°æµÉ ÇÊ¿ä°¡ ÀÖ´Âµ¥, ÀÌ°ÍÀº ÇÔ¼öÀÇ prototypes°ú typesÀÌ º¯°æµÇ±â ¶§¹®ÀÌ´Ù. 


<sect>library¸¦ ¾ò±â<label id="getting">
<p>

glibc 2 ´Â glibc ÆÐÅ°Áö¿Í 3°³ÀÇ Ãß°¡µÈ ¿É¼± ÆÐÅ°Áö(LinuxThreads, Locale,
Crypt)·Î ±¸¼ºµÇ¾î ÀÖ´Ù. ¼Ò½º´Â ´ÙÀ½ À§Ä¡¿¡¼­ Ã£À» ¼ö ÀÖ´Ù.
<itemize>
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-2.0.5.tar.gz">
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-linuxthreads-2.0.5.tar.gz">
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-localedata-2.0.5.tar.gz">
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-crypt-2.0.5.tar.gz">
</itemize>

¹öÀü 2.0.5cÀº Ãß°¡ÀûÀ¸·Î ÆÐÄ¡°¡ ÇÊ¿äÇÏ´Â µ¥, ÀÌ°ÍÀº ´ÙÀ½ À§Ä¡¿¡¼­ Ã£À» ¼ö ÀÖ´Ù.

<url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-2.0.5-2.0.5c.diff.gz">.

¿ÏÀüÇÑ ÄÄÆÄÀÏ°ú ¼³Ä¡¿¡ ÇÊ¿äÇÑ µð½ºÅ© °ø°£Àº ¾à 150 MB°¡ ÇÊ¿äÇÏ´Ù.
ÁÖ¿ä ¶óÀÌºê·¯¸® ÆÐÅ°Áö¸¸ÀÇ ±âº»ÀûÀÎ ¹ÙÀÌ³Ê¸® ¼³Ä¡½Ã¿¡´Â ¾à 50 MB°¡ ÇÊ¿äÇÏ´Ù.

¹öÀü 2.0.5c¿¡ ´ëÇÑ ¹ÙÀÌ³Ê¸® ÆÐÅ°Áö´Â ±¸ÇÒ¼ö ¾øÁö¸¸, ¹öÀü 2.0.5 ¹ÙÀÌ³Ê¸®
ÆÐÅ°Áö´Â i386, alpha, 68k¿ëÀ¸·Î ¹èÆ÷µÇ¸ç, ´ÙÀ½ À§Ä¡¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù.
<itemize>
<item>Intel x86:
<itemize>
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-2.0.4.bin.i386.tar.gz">
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-crypt-2.0.4.bin.i386.tar.gz">
</itemize>
<item>Alpha:
<itemize>
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-2.0.1.bin.alpha-linux.tar.gz">
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-crypt-2.0.1.bin.alpha-linux.tar.gz">
</itemize>
<item>m68k:
<itemize>
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-2.0.4-m68k-linux.bin.tar.gz">
<item><url url="ftp://prep.ai.mit.edu/pub/gnu/glibc-crypt-2.0.4-m68k-linux.bin.tar.gz">
</itemize>
</itemize>
crypt add-on¿¡ ´ëÇØ¼­´Â export restrictionsÀÌ ÀÖ¾î¼­, non-US »ç¿ëÀÚ´Â ´ÙÀ½
À§Ä¡¿¡¼­ crypt add-on ÆÐÅ°Áö¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
<url url="ftp://ftp.ifi.uio.no/pub/gnu">.

Red Hat ¹èÆ÷ÆÇÀ» »ç¿ëÇÏ´Â »ç¶÷Àº glibc 2¿ë rpmÀ» ´ÙÀ½ À§Ä¡¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù.
<url url="ftp://ftp.redhat.com/pub/redhat/tbird/RedHat/RPMS/">
½Å º£ÆÄ ¹èÆ÷ÆÇÀÎ Red Hat 4.8Àº glibc 2°¡ ÁÖ C ¶óÀÌºê·¯¸®·Î »ç¿ëµÇ¾ú´Ù.

µ¥ºñ¾È ¹èÆ÷ÆÇÀ» »ç¿ëÇÏ´Â »ç¶÷Àº glibc 2ÀÇ ÆÐÅ°Áö¸¦ ´ÙÀ½ À§Ä¡¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù.
<url url="ftp://ftp.debian.org/debian/unstable/binary-i386/devel/">, 
<url url="ftp://ftp.debian.org/debian/unstable/binary-m68k/devel/">, 
<url url="ftp://ftp.debian.org/debian/unstable/binary-alpha/devel/">.  
ÆÄÀÏÀº libc6À¸·Î ÀÌ¸§ÀÌ µÇ¾ú´Ù. Glibc 2´Â µ¥ºñ¾ÈÀÇ hamm ¹öÀü¿¡¼­´Â 
±âº» ÆÐÅ°ÁöÀÇ ÀÏºÎÀÌ¸ç, µ¥ºñ¾È 2.0ºÎÅÍ´Â ÁÖ libc°¡ µÉ °ÍÀÌ´Ù.


<sect>½ÃÇè»ï¾Æ ¼³Ä¡ÇÏ±â<label id="test-install">
<p>

 Glibc 2¸¦ ½ÃÇè»ï¾Æ ¼³Ä¡ÇÏ¸é, ÄÄÆÄÀÏ ÇÒ ¶§¿¡ Æ¯º°ÇÑ º¯¼ö¸¦ »ç¿ëÇÏ¿© 
glibc 2¿¡ ¸µÅ·½ÃÅ°Áö ¾Ê´ÂÇÑ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â ±âÁ¸ÀÇ ¶óÀÌºê·¯¸®¿¡
¸µÅ·ÀÌ µÈ´Ù. ¼³Ä¡ µð·ºÅä¸® À§Ä¡(path)°¡ ¸î ÆÄÀÏ¿¡ Æ÷ÇÔµÇ¾î ÄÄÆÄÀÏµÇ¹Ç·Î
, ¼Ò½º·Î ºÎÅÍ ¶óÀÌºê·¯¸®¸¦ ¼³Ä¡ÇØ¾ß¸¸ ÇÑ´Ù.

<sect1>ÄÄÆÄÀÏÇÏ±â¿Í ¼³Ä¡ÇÏ±â
<p>

<sect2>ÀüÁ¦ Á¶°Ç
<p>

<itemize>
<item>About 150 MB free disk space
<item>GNU make 3.75
<item>gcc &gt;= 2.7.2 (better 2.7.2.1)
<item>binutils 2.8.1 (for alpha you need a snapshot)
<item>bash-2.0
<item>autoconf-2.12 (if you change configure.in)
</itemize>

RAM 64 MBÀÎ i586@133 ÄÄÇ»ÅÍ¿¡¼­ Ãß°¡ ¶óÀÌºê·¯¸®(add-ons)Æ÷ÇÔÇÑ ÀüÃ¼ ¶óÀÌºê·¯¸®
¸¦ ÄÄÆÄÀÏÇÏ´Âµ¥ ¼Ò¿ä ½Ã°£Àº ¾à 3½Ã°£ÀÌ¸ç, i686@2¿¡ ÄÄÇ»ÅÍÀÇ °æ¿ì´Â ¾à 1½Ã°£
30ºÐ Á¤µµ °É·È´Ù.

<sect2>¼Ò½º¸¦ ÃßÃâÇÏ±â
<p>

 ¼Ò½º ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ±â À§ÇØ¼­´Â Archives¿¡¼­ ¼Ò½º ÆÄÀÏÀ» ÃßÃâÇØ¾ß¸¸ ÇÑ´Ù. 
 ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÈ´Ù:
 <tscreen><verb>
 tar xzf glibc-2.0.5.tar.gz
 cd glibc-2.0.5
 cat ../glibc-2.0.5-2.0.5c.diff.gz | gzip -d | patch -p0
 tar xzf ../glibc-linuxthreads-2.0.5.tar.gz
 tar xzf ../glibc-crypt-2.0.5.tar.gz
 tar xzf ../glibc-localedata-2.0.5.tar.gz
 </verb></tscreen>
À§ÀÇ ¹æ¹ýÃ³·³ ÇÏ¸é, glibc-2.0.5 µð·ºÅä¸®¿¡ linuxthreads, crypt, localeddata
µð·ºÅä¸®°¡ »ý¼ºµÈ´Ù. ÀÌ·¸°Ô ÇØ¾ßÁö¸¸ configure°¡ Ãß°¡µÈ ¶óÀÌºê·¯¸® µð·ºÅä¸®¸¦
Ã£À» ¼ö ÀÖ´Ù.

<sect2>Configure¸¦ ½ÇÇàÇÏ±â
<p>

glibc-2.0.5 µð·ºÅä¸®¿¡¼­ "compile"ÀÌ¶õ µð·ºÅä¸®¸¦ ¸¸µé°í, cd·Î 'compile'
µð·ºÅä¸®·Î ¿Â´Ù. ¸ðµç ÀÛ¾÷Àº ÀÌ compile µð·ºÅä¸®¿¡¼­ ÀÌ·ç¾îÁø´Ù.

 <tscreen><verb>
 mkdir compile
 cd compile
 </verb></tscreen>

À§ÀÇ °úÁ¤À» ¸¶ÃÆÀ¸¸é, '../configure'À» ½ÇÇà½ÃÅ°¸é µÈ´Ù.  Ãß°¡ ÆÐÅ°Áö¸¦ »ç¿ëÇÏ°í
½ÍÀ¸¸é, Ãß°¡ ÆÐÅ°Áö¿¡ ´ëÇÑ ¿É¼Ç(--enable-add-ons 
<¿¹> --enable-add-ons=linuxthreads,crypt,localedata)À» Æ÷ÇÔ½ÃÄÑ¾ß ÇÑ´Ù.
¶Ç ¼³Ä¡ÇÏ°í ½ÍÀº µð·ºÅä¸®¸¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù.
º¸Åë ¼³Ä¡ µð·ºÅä¸®·Î '/usr/i486-linuxglibc2'À» »ç¿ëÇÑ´Ù. 
´ÙÀ½Àº configure lineÀÇ ¿¹ÀÌ´Ù:
 <tscreen><verb>
 ../configure --enable-add-ons=linuxthreads,crypt,localedata --prefix=/usr/i486-linuxglibc2
 </verb></tscreen>

<sect2>ÄÄÆÄÀÏÇÏ±â¿Í ¼³Ä¡ÇÏ±â 
<p>

ÄÄÆÄÀÏÇÏ°í Á¦´ë·Î µÇ¾ú´ÂÁö È®ÀÎÇÏ´Â ÀýÂ÷´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:
 <tscreen><verb>
 make
 make check
 </verb></tscreen>

'make check'°¡ ¼º°øÀûÀ¸·Î ³¡³µÀ¸¸é, ¶óÀÌºê·¯¸®¸¦ ¼³Ä¡ÇÑ´Ù:
 <tscreen><verb>
 make install
 </verb></tscreen>

<sect1>µ¿Àû·Î´õ(dynamic loader)¸¦ ¾÷±×·¹ÀÌµåÇÏÀÚ.
<p>

<enum>
<item>¸¸µé¾îÁø ld.so¸¦ /lib/ld-linux.so.2·Î ¸µÅ·½ÃÅ²´Ù:
 <tscreen><verb>
 ln -s /usr/i486-linuxglibc2/lib/ld-linux.so.2 /lib/ld-linux.so.2
 </verb></tscreen>

This is the only library where the location is fixed once a program
is linked, and using a link in /lib will ease upgrading to glibc as
your primary C library when the stable version is released.
<item>/etc/ld.so.conf ÆÄÀÏÀ» ÆíÁýÇÑ´Ù. ÆÄÀÏÀÇ ¸¶Áö¸· ¶óÀÎ¿¡ »õ·Ó°Ô
¸¸µé¾îÁø ¶óÀÌºê·¯¸® µð·ºÅä¸®ÀÇ °æ·Î¸í(path)¸¦ ÀûÀ¸¸é µÈ´Ù.
Áï ¿ì¸®°¡ ¼³Ä¡Çß´ø °æ¿ì¿¡´Â '/usr/i486-linuxglibc2/lib'À» ÀûÀ¸¸é µÈ´Ù.
(ÁÖÀÇ »çÇ× : 'Àº Àû´Â °ÍÀÌ ¾Æ´Ô.^^) /etc/ld.so.conf ÆÄÀÏÀ» º¯°æÇßÀ¸¸é,
´ÙÀ½°ú °°ÀÌ ½ÇÇàÇØ º¸¶ó.
 <tscreen><verb>
 ldconfig -v
 </verb></tscreen>
</enum>

<sect1>gcc¸¦ configureÇÏ±â
<p>
¼³Ä¡ÀÇ ¸¶Áö¸· ´Ü°è°¡ /usr/lib/gcc-lib¸¦ ¾÷µ¥ÀÌÆ®(update)ÇÏ´Â °ÍÀÌ´Ù. 
ÀÌ°ÍÀ» ÇØ¾ßÁö¸¸ gcc°¡ ¾î¶»°Ô »õ·Î¿î ¶óÀÌºê·¯¸®¸¦ »ç¿ëÇÒÁö¸¦ ¾Ë ¼ö ÀÖ´Ù.
¿ì¼± ÀÖ´Â configurationÆÄÀÏÀ» º¹»çÇÑ´Ù. ÇöÀç configurationÀÇ ³»¿ëÀ» ¾Ë±â
À§ÇØ¼­´Â ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù:
 <tscreen><verb>
 % gcc -v
 Reading specs from /usr/lib/gcc-lib/i486-unknown-linux/2.7.2.2/specs
 gcc version 2.7.2.2
 </verb></tscreen>
ÀÌ °æ¿ì´Â ½Ã½ºÅÛÀÌ i486-unknown-linux, 2.7.2.2°¡ ¹öÀüÀÌ´Ù. 
´ç½ÅÀÌ ÇØ¾ßÇÒ ÀÏÀº /usr/lib/gcc-lib/&lt;system&gt; À» »õ·Î¿î Å×½ºÆ® ½Ã½ºÅÛ 
µð·ºÅä¸®·Î º¹»çÇÏ´Â °ÍÀÌ´Ù:
º¹»çÇÏ´Â °ÍÀÌ´Ù.:
 <tscreen><verb>
 cd /usr/lib/gcc-lib/
 cp -r i486-unknown-linux i486-linuxglibc2
 </verb></tscreen>
±× ´ÙÀ½ ´ÙÀ½°ú °°ÀÌ ÇÏ¶ó.
 <tscreen><verb>
 cd /usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2
 </verb></tscreen>
ÀÌ µð·ºÅä¸®¿¡¼­ 'specs'ÆÄÀÏÀ» ÆíÁýÇÑ´Ù. Áï specs ÆÄÀÏ³»¿¡ /lib/ld-linux.so.1À»
/lib/ld-linux.so.2·Î ¹Ù²Û´Ù. ¶Ç <tt/%{...:-lgmon}/ °¡ µé¾î°£ ¸ðµç ¹®ÀåÀ» 
Áö¿ö¶ó. ¿Ö³Ä¸é glibc´Â profileÇÏ±â À§ÇØ¼­ gmon ¶óÀÌºê·¯¸®¸¦ »ç¿ëÇÏÁö 
¾Ê±â ¶§¹®ÀÌ´Ù. »ùÇÃ specs ÆÄÀÏÀº <ref id="specs" name="»ùÇÃ specs ÆÄÀÏ">´Ü¿ø
¿¡¼­ Ã£À» ¼ö ÀÖ´Ù.

<sect1>Çì´õ ÆÄÀÏ ¸µÅ©¸¦ ¾÷µ¥ÀÌÆ®ÇÏ±â.
<p>

Çì´õ ÆÄÀÏ ¸µÅ©´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:
 <tscreen><verb>
 cd /usr/i486-linuxglibc2/include
 ln -s /usr/src/linux/include/linux
 ln -s /usr/src/linux/include/asm
 ln -s /usr/X11R6/include/X11
 </verb></tscreen>
You might also have other libraries such as ncurses which need their
header files put in this directory.  You should copy or link the files
from /usr/include.  (Some libraries may need to be recompiled with glibc2
in order to work with it.  In these cases, just compile and install the
package to /usr/i486-linuxglibc2.)

<sect1>¼³Ä¡µÈ°ÍÀ» Å×½ºÆ®ÇÏ±â
<p>

¿ì¼± ´ÙÀ½°ú °°Àº ÆÄÀÏ(glibc.c)¸¦ ¸¸µç´Ù:
 <tscreen><verb>
 #include &lt;stdio.h&gt;

 main()
 {
     printf("hello world!\n");
 }
 </verb></tscreen>
±×¸®°í ¿É¼Ç&dquot;-b &lt;base install directory&gt; -nostdinc -I&lt;install directory&gt;/include -I/usr/lib/gcc-lib/&lt;new system dir&gt/&lt;gcc version&gt;/include&dquot; À» °¡Áö°í ÄÄÆÄÀÏ ÇÑ´Ù.
 <tscreen><verb>
 % gcc -b i486-linuxglibc2 -nostdinc -I/usr/i486-linuxglibc2/include -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include glibc.c -o glibc
 </verb></tscreen>
ldd¸¦ ÀÌ¿ëÇÏ¿©¼­ ÇÁ·Î±×·¥ÀÌ glibc2¿¡ ¸µÅ©µÇ¾ú´ÂÁö È®ÀÎÇØº»´Ù:
 <tscreen><verb>
 % ldd glibc
 libc.so.6 => /usr/i486-linuxglibc2/lib/libc-2.0.5.so (0x4000d000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
 </verb></tscreen>
 ÄÄÆÄÀÏÀÌ µÇ°í, ¸µÅ© °úÁ¤µµ Á¤»óÀÌ¸ç, ½ÇÇà½Ã &dquot;hello world!&dquot; °¡
Ãâ·ÂÀÌ µÈ´Ù¸é, ¼³Ä¡´Â ¼º°øÀûÀ¸·Î ³¡³­ °ÍÀÌ´Ù. (ÃàÇÏ....^^)



<sect>Primary C library·Î ¼³Ä¡ÇÏ±â<label id="primary-install">
<p>

 Glibc 2¸¦ ÁÖ C ¶óÀÌºê·Î¸®·Î ¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°Ú´Ù. ÁÖ C ¶óÀÌºê·¯¸®·Î ¼³Ä¡
ÇÑ´Ù´Â °ÍÀº ´ç½ÅÀÌ ÄÄÆÄÀÏÇÏ´Â ÇÁ·Î±×·¥À» glibc·Î ¸µÅ©µÇ°Ô ÇÏ´Â °ÍÀÌ´Ù. ¹°·Ð,
´Ù¸¥ ¹öÀü¿¡ ¸µÅ©½ÃÅ³·Á¸é ÄÄÆÄÀÏ ¿É¼ÇÀ» Ãß°¡½ÃÄÑ¼­ ÄÄÆÄÀÏÇÏ¸é µÈ´Ù.

 ¸¸¾à ´ç½ÅÀÌ ·¹µåÇòÀÌ³ª µ¥ºñ¾ÈÀ» »ç¿ëÇÏ°í ÀûÀýÇÑ rpm ÆÄÀÏÀÌ³ª deb ÆÄÀÏÀ» 
´Ù¿îÇß¾ú´Ù¸é, ·¹µåÇòÀÌ³ª µ¥ºñ¾ÈÀÇ ¼³Ä¡ ¾È³»¸¦ ÀÐ¾î º¸¾Æ¶ó. ±×·¯¸é, ¿©±âÀÖ´Â
³»¿ëÀ» ÀÐÁö ¾Ê¾Æµµ µÈ´Ù.


<sect1>¼Ò½º·ÎºÎÅÍ ¶óÀÌºê·¯¸®¸¦ ¼³Ä¡ÇÏ±â <label id="compiling">
<p>

¿©±â¿¡¼­´Â ¼Ò½º·ÎºÎÅÍ glibc 2¿Í add-ons¸¦ ÄÄÆÄÀÏÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ·Á°í ÇÑ´Ù.
ÃÖÀûÈ­ ¿É¼ÇÀÌ³ª ±¸¼º ¿É¼ÇÀ» º¯°æÇÏ°í ½Í°Å³ª ¹ÙÀÌ³Ê¸®¿¡ ¾ø´Â ÆÐÅ°Áö¸¦ »ç¿ëÇÏ·Á°í
ÇÒ ¶§ ¶óÀÌºê·¯¸®¸¦ ÄÄÆÄÀÏÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.

<sect2>ÀüÁ¦ Á¶°Ç
<p>

<itemize>
<item>About 150 MB free disk space
<item>GNU make 3.75
<item>gcc &gt;= 2.7.2 (better 2.7.2.1)
<item>binutils 2.8.1 (for alpha you need a snapshot)
<item>bash-2.0
<item>autoconf-2.12 (if you change configure.in)
</itemize>

RAM 64 MBÀÎ i586@133 ÄÄÇ»ÅÍ¿¡¼­ Ãß°¡ ¶óÀÌºê·¯¸®(add-ons)Æ÷ÇÔÇÑ ÀüÃ¼ ¶óÀÌºê·¯¸®
¸¦ ÄÄÆÄÀÏÇÏ´Âµ¥ ¼Ò¿ä ½Ã°£Àº ¾à 3½Ã°£ÀÌ¸ç, i686@2¿¡ ÄÄÇ»ÅÍÀÇ °æ¿ì´Â ¾à 1½Ã°£
30ºÐ Á¤µµ °É·È´Ù.

<sect2>¼Ò½º¸¦ ÃßÃâÇÏ±â
<p>

 ¼Ò½º ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ±â À§ÇØ¼­´Â Archives¿¡¼­ ¼Ò½º ÆÄÀÏÀ» ÃßÃâÇØ¾ß¸¸ ÇÑ´Ù. 
 ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÈ´Ù:
 <tscreen><verb>
 tar xzf glibc-2.0.5.tar.gz
 cd glibc-2.0.5
 cat ../glibc-2.0.5-2.0.5c.diff.gz | gzip -d | patch -p0
 tar xzf ../glibc-linuxthreads-2.0.5.tar.gz
 tar xzf ../glibc-crypt-2.0.5.tar.gz
 tar xzf ../glibc-localedata-2.0.5.tar.gz
 </verb></tscreen>
À§ÀÇ ¹æ¹ýÃ³·³ ÇÏ¸é, glibc-2.0.5 µð·ºÅä¸®¿¡ linuxthreads, crypt, localeddata
µð·ºÅä¸®°¡ »ý¼ºµÈ´Ù. ÀÌ·¸°Ô ÇØ¾ßÁö¸¸ configure°¡ Ãß°¡µÈ ¶óÀÌºê·¯¸® µð·ºÅä¸®¸¦
Ã£À» ¼ö ÀÖ´Ù.

<sect2>Configure¸¦ ½ÇÇàÇÏ±â
<p>

glibc-2.0.5 µð·ºÅä¸®¿¡¼­ "compile"ÀÌ¶õ µð·ºÅä¸®¸¦ ¸¸µé°í, cd·Î 'compile'
µð·ºÅä¸®·Î ¿Â´Ù. ¸ðµç ÀÛ¾÷Àº ÀÌ compile µð·ºÅä¸®¿¡¼­ ÀÌ·ç¾îÁø´Ù.

<tscreen><verb>
mkdir compile
cd compile
</verb></tscreen>

À§ÀÇ °úÁ¤À» ¸¶ÃÆÀ¸¸é, '../configure'À» ½ÇÇà½ÃÅ°¸é µÈ´Ù.  Ãß°¡ ÆÐÅ°Áö¸¦ »ç¿ëÇÏ°í
½ÍÀ¸¸é, Ãß°¡ ÆÐÅ°Áö¿¡ ´ëÇÑ ¿É¼Ç(--enable-add-ons 
<¿¹> --enable-add-ons=linuxthreads,crypt,localedata)À» Æ÷ÇÔ½ÃÄÑ¾ß ÇÑ´Ù.
¶Ç ¼³Ä¡ÇÏ°í ½ÍÀº µð·ºÅä¸®¸¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù.
º¸Åë ¼³Ä¡ µð·ºÅä¸®·Î '--prefix=/usr'À» »ç¿ëÇÑ´Ù. 
´ÙÀ½Àº configure lineÀÇ ¿¹ÀÌ´Ù:
<tscreen><verb>
 ../configure --enable-add-ons=linuxthreads,crypt,localedata --prefix=/usr
</verb></tscreen>

<sect2>ÄÄÆÄÀÏÇÏ±â
<p>

ÄÄÆÄÀÏÇÏ°í Á¦´ë·Î µÇ¾ú´ÂÁö È®ÀÎÇÏ´Â ÀýÂ÷´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:
 <tscreen><verb>
 make
 make check
 </verb></tscreen>


<sect1>¼³Ä¡ÇÏ±â À§ÇÑ ÁØºñ ÀÛ¾÷ÇÏ±â
<p>

¼Ò½º·ÎºÎÅÍ ¼³Ä¡Çßµç, ¹ÙÀÌ³Ê¸® ÆÄÀÏ·Î ¼³Ä¡Çßµç glibc 2¶óÀÌºê·¯¸® ¼³Ä¡ ÁØºñÇÏ±â
À§ÇØ¼± ¾î¶² ÆÄÀÏÀ» ¿Å±æ ÇÊ¿ä°¡ ÀÖ´Ù. ÀÌÀ¯´Â ¾ÕÀ¸·Î ÄÄÆÄÀÏ ÇÒ »õ·Î¿î ÇÁ·Î±×·¥À»
glibc¿¡ ¸µÅ©½ÃÅ°°í, Á¤ÀûÀ¸·Î ¸µÅ©µÇÁö ¾Ê´Â ±¸ ÇÁ·Î±×·¥Àº ¿©ÀüÈ÷ libc 5¿¡ ÀÇÁ¸
ÇÏ°Ô ÇÏ±âÀ§ÇØ¼­ÀÌ´Ù. °í·Î ±¸ ¹öÀü¿¡ µ¤¾î ¾²Áö ¾Ê¾Æ¾ßÇÑ´Ù.

<enum>
<item>±¸ ÆÄÀÏ(libc 5)À» ÀúÀåÇÒ »õ·Î¿î µð·ºÅä¸®¸¦ ¸¸µç´Ù:
 <tscreen><verb>
 mkdir -p /usr/i486-linuxlibc5/lib
 </verb></tscreen>

<item>±¸(libc 5¿ë) Çì´õ ÆÄÀÏÀ» /usr/include ¿¡¼­ ´Ù¸¥ µð·ºÅä¸®·Î ¿Å±ä´Ù:
 <tscreen><verb>
 mv /usr/include /usr/i486-linuxlibc5/include
 </verb></tscreen>

<item>»õ·Î¿î(glibc 2¿ë) include µð·ºÅä¸®¸¦ ¸¸µé°í, ´Ù¸¥ include¿¡ ¸µÅ©½ÃÅ²´Ù:
 <tscreen><verb>
 mkdir /usr/include

 ln -s /usr/src/linux/include/linux /usr/include/linux
 ln -s /usr/src/linux/include/asm /usr/include/asm
 ln -s /usr/X11R6/include/X11 /usr/include/X11
 ln -s /usr/lib/g++-include /usr/include/g++
 </verb></tscreen>

¸µÅ©´Â ¹èÆ÷ÆÇ¿¡ µû¶ó¼­ ¾à°£ ´Ù¸¦¼ö ÀÖ´Ù. Àû¾îµµ ½½·º¿þ¾îÀÇ °æ¿ì 
/usr/local/g++-include¿¡ g++ Çì´õÆÄÀÏÀÌ ÀÖ°í, ¹Ý¸é¿¡ µ¥ºñ¾È ÆÐÅ°Áö °æ¿ì
/usr/include/g++¿¡ g++Çì´õÆÄÀÏÀÌ ÀÖ°í, /usr/lib/g++-include´Â /usr/include/g++
¿¡ ¸µÅ©µÇ¾î ÀÖ´Ù. ÈÄÀÚÀÇ °æ¿ì, ¾Æ¸¶ ´ç½ÅÀº ¿ø·¡ g++ include µð·ºÅä¸®¸¦ 
/usr/include¿¡ ¿Å±â±æ ¿øÇÒ °ÍÀÌ´Ù.

<item>´Ù¸¥ Çì´õ ÆÄÀÏÀ» º¹¿øÇÏ°í ¸µÅ©ÇÑ´Ù. ¾î¶² ºñÇ¥ÁØ ¶óÀÌºê·¯¸®°æ¿ì, ¿¹·Î 
ncureses, /usr/include¿¡ Çì´õÆÄÀÏÀ» ³õ°Å³ª /usr/include ¹Ø¿¡ ÀÖ´Â ±×µéÀÇ 
include µð·ºÅä¸®¿¡ ¸µÅ©¸¦ ÇÑ´Ù. ÀÌ ÆÄÀÏµéÀÌ³ª ¸µÅ©´Â ´Ù¸¥ ¶óÀÌºê·¯¸®¸¦ ÀûÀýÈ÷
»ç¿ëµÉ¼ö ÀÖ°Ô º¹¿øÀ» ÇØ µÑ ÇÊ¿ä°¡ ÀÖ´Ù.

<item> /etc/ld.so.confÆÄÀÏ <em> ¸ÇÀ§</em>¿¡ glibc 2¿ë ¶óÀÌºê·¯¸® µð·ºÅä¸®(¿¹,
 / usr/i486-linuxlibr/lib)¸¦ Ãß°¡ÇÑ´Ù. glibc¸¦ ¼³Ä¡ÇÒ ¶§ ÀÌ»óÇÑ ¸Þ¼¼Áö¸¦ ÇÇÇÏ±â 
À§ÇØ¼­´Â ld.so-1.8.8ÀÌ»óÀÇ ¹öÀüÀ» ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.

<item>±¸ C ¶óÀÌºê·¯¸®¸¦ »õ·Î¿î µð·ºÅä¸®(/usr/i486-linuxlibc5/lib)·Î ¿Å±â°Å³ª
 º¹»çÇÑ´Ù.
 <tscreen><verb>
 mv /usr/lib/libbsd.a /usr/i486-linuxlibc5/lib
 mv /usr/lib/libc.a /usr/i486-linuxlibc5/lib
 mv /usr/lib/libgmon.a /usr/i486-linuxlibc5/lib
 mv /usr/lib/libm.a /usr/i486-linuxlibc5/lib
 mv /usr/lib/libmcheck.a /usr/i486-linuxlibc5/lib
 mv /usr/lib/libc.so /usr/i486-linuxlibc5/lib
 mv /usr/lib/libm.so /usr/i486-linuxlibc5/lib
 cp /lib/libm.so.5.* /usr/i486-linuxlibc5/lib
 cp /lib/libc.so.5.* /usr/i486-linuxlibc5/lib
 </verb></tscreen>
 ¸¸¾à /usrÀÌ /¿Í ´Ù¸¥ ÆÄÆ¼¼Ç¿¡ ÀÖ´Ù¸é, libm.so.5¿Í libc.so.5´Â move°¡ ¾Æ´Ñ
º¹»çµÇ¾î¾ß ÇÑ´Ù. ÀÌÀ¯´Â ¸®´ª½º¸¦ ½ÃÀÛÇÏ´Âµ¥ ÇÊ¿äÇÑ ÇÁ·Î±×·¥ÀÌ libm.so.5¿Í
libc.so.5¸¦ »ç¿ëÇÏ±â¶§¹®ÀÌ°í ÀÌ°ÍµéÀº ·çÆ® µð·ºÅä¸®¿¡ ÀÖ¾î¾ß¸¸ ÇÑ´Ù. 

<item>/usr/lib/*.o ÆÙÀÏÀ» »õ·Î¿î µð·ºÅä¸®·Î ¿Å±ä´Ù.
 <tscreen><verb>
 mv /usr/lib/crt1.o /usr/i486-linuxlibc5/lib
 mv /usr/lib/crti.o /usr/i486-linuxlibc5/lib
 mv /usr/lib/crtn.o /usr/i486-linuxlibc5/lib
 mv /usr/lib/gcrt1.o /usr/i486-linuxlibc5/lib
 </verb></tscreen>

<item>´ç½ÅÀÇ ¶óÀÌºê·¯¸®¸¦ ¿Å°åÀ¸¸é ¶óÀÌºê·¯¸® cache¸¦ ¾÷µ¥ÀÌÆ®ÇÑ´Ù.
 <tscreen><verb>
 ldconfig -v
 </verb></tscreen>
</enum>


<sect1>¹ÙÀÌ³Ê¸® ÆÐÅ°Áö·ÎºÎÅÍ ¼³Ä¡ÇÏ±â
<p>

¹Ì¸® ÄÄÆÄÀÏµÈ ¹ÙÀÌ³Ê¸®·ÎºÎÅÍ glibc¸¦ ¼³Ä¡ÇÏ°íÀÚ ÇÏ¸é, ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:
 <tscreen><verb>
 cd /
 gzip -dc glibc-2.0.bin.i386.tar.gz | tar tvvf -
 gzip -dc glibc-crypt-2.0.bin.i386.tar.gz | tar tvvf -
 ldconfig -v
 </verb></tscreen>
´Ù¸¥ architecture³ª ´Ù¸¥ ¹öÀüÀ» °¡Áö°í ÀÖ´Ù¸é, ÀûÀýÇÑ ÆÄÀÏ ÀÌ¸§À¸·Î ¹Ù²Ù¸é µÈ´Ù.


<sect1>¼Ò½º·ÎºÎÅÍ ¼³Ä¡ÇÏ±â
<p>

¼Ò½º·ÎºÎÅÍ ¶óÀÌºê·¯¸®¸¦ ¼³Ä¡ÇÏ·Á¸é, ´ÙÀ½À» ½ÇÇàÇÏ¶ó:
 <tscreen><verb>
 make install
 ldconfig -v
 </verb></tscreen>


<sect1>gcc specs À» ¾÷µ¥ÀÌÆ®ÇÏ±â
<p>

¹ÙÀÌ³Ê¸®·ÎºÎÅÍ ¼³Ä¡ÀÌµç ¼Ò½º·ÎºÎÅÍ ¼³Ä¡ÇÏµç ¸¶Áö¸· ´Ü°è´Â gcc specs ÆÄÀÏÀ»
¾÷µ¥ÀÌÆ®ÇÏ´Â °ÍÀÌ´Ù. ±×·¡¾ß¸¸ ´ç½Å ÇÁ·Î±×·¥ÀÌ ÀûÀýÇÏ°Ô ¸µÅ©µÉ ¼ö ÀÖ´Ù.
gcc°¡ »ç¿ëÇÏ´Â specs ÆÄÀÏÀ» ¾Ë¾Æ³»±â À§ÇØ¼­´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:
 <tscreen><verb>
 % gcc -v
 reading specs from /usr/lib/gcc-lib/i486-unknown-linux/2.7.2.2/specs
 gcc version 2.7.2.2
 </verb></tscreen>

ÀÌ °æ¿ì´Â i486-unknown-linux ½Ã½ºÅÛÀÌ°í ¹öÀüÀÌ 2.7.2.2ÀÌ´Ù. ´ç½ÅÀÌ ÇØ¾ßÇÒ
ÀÏÀº /usr/lib/gcc-lib/&lt;system&gt;À» ±¸ ½Ã½ºÅÛ µð·ºÅä¸®·Î º¹»çÇÏ´Â
°ÍÀÌ´Ù: 
 <tscreen><verb>
 cd /usr/lib/gcc-lib/
 cp -r i486-unknown-linux i486-linuxlibc5
 </verb></tscreen>

±× ´ÙÀ½ ´ÙÀ½°ú °°ÀÌ ÇÏ¶ó. 
 <tscreen><verb>
 cd /usr/lib/gcc-lib/i486-unknown-linux/2.7.2.2
 </verb></tscreen>

ÀÌ µð·ºÅä¸®¿¡¼­ 'specs'ÆÄÀÏÀ» ÆíÁýÇÑ´Ù. Áï specs ÆÄÀÏ³»¿¡
/lib/ld-linux.so.1À» /lib/ld-linux.so.2·Î ¹Ù²Û´Ù. ¶Ç <tt/%{...:-lgmon}/ °¡ 
µé¾î°£ ¸ðµç ¹®ÀåÀ» Áö¿ö¶ó. ¿Ö³Ä¸é glibc´Â profileÇÏ±â À§ÇØ¼­ gmon ¶óÀÌºê·¯¸®¸¦
»ç¿ëÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù. 
»ùÇÃ specs ÆÄÀÏÀº <ref id="specs" name="»ùÇÃ specs ÆÄÀÏ">´Ü¿ø¿¡¼­ Ã£À» ¼ö ÀÖ´Ù.


<sect1>¼³Ä¡µÈ°ÍÀ» Å×½ºÆ®ÇÏ±â
<p>

¿ì¼± ´ÙÀ½°ú °°Àº ÆÄÀÏ(glibc.c)¸¦ ¸¸µç´Ù:
 <tscreen><verb>
 #include &lt;stdio.h&gt;

 main()
 {
     printf("hello world!\n");
 }
 </verb></tscreen>
±×¸®°í ÄÄÆÄÀÏÇÑ´Ù. 
 <tscreen><verb>
 % gcc glibc.c -o glibc
 </verb></tscreen>
ldd¸¦ ÀÌ¿ëÇÏ¿©¼­ ÇÁ·Î±×·¥ÀÌ glibc2¿¡ ¸µÅ©µÇ¾ú´ÂÁö È®ÀÎÇØº»´Ù:
 <tscreen><verb>
 % ldd glibc
 libc.so.6 => /lib/libc.so.6 (0x4000e000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
 </verb></tscreen>
 ÄÄÆÄÀÏÀÌ µÇ°í, ¸µÅ© °úÁ¤µµ Á¤»óÀÌ¸ç, ½ÇÇà½Ã &dquot;hello world!&dquot; °¡
Ãâ·ÂÀÌ µÈ´Ù¸é, ¼³Ä¡´Â ¼º°øÀûÀ¸·Î ³¡³­ °ÍÀÌ´Ù. (ÃàÇÏ....^^)


<sect>non-primary libc·Î ÄÄÆÄÀÏÇÏ±â
<p>

ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ÇÏ´Ù º¸¸é, ´Ù¸¥ ¶óÀÌºê·¯¸®¸¦ »ç¿ëÇÏ°í ½ÍÀº ¶§°¡ ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ ´Ü¿ø¿¡¼­´Â ¾î¶»°Ô ÇÏ¸é ´Ù¸¥ ¶óÀÌºê·¯¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â°¡¸¦ ¼³¸íÇÑ´Ù. 
¿ì¼± ±â¾ïÇØ¾ß ÇÒ °ÍÀº ¾ÕÀÇ µÎ ´Ü¿ø¿¡¼­ ¿¹·Î »ç¿ëµÇ¾ú´ø µð·ºÅä¸® ÀÌ¸§°ú ¼³Ä¡
ÀÌ¸§À» »ç¿ëÇÑ´Ù´Â °ÍÀÌ´Ù. 
Remember to change the names to fit your setup.

<sect1>non-primary libcs »ç¿ëÇÒ ¶§ °æ°í 
<p>

½Ã½ºÅÛ ºÎÆÃ °úÁ¤¿¡ »ç¿ëµÇ´Â ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ÇÒ ¶§ ±â¾ïÇÒ °ÍÀº,
±× ÇÁ·Î±×·¥À» µ¿ÀûÀ¸·Î ¸µÅ©ÇÏ°í  non-root ÆÄÆ¼¼ÇÀÌ ¸¶¿îÆ®µÇ±â ÀÌÀü¿¡ 
»ç¿ëÇÑ´Ù¸é, ¸ðµç ¸µÅ©µÇ´Â ¶óÀÌºê·¯¸®´Â root ÆÄÆ¼¼Ç¿¡ ÀÖ¾î¾ß¸¸ ÇÑ´Ù´Â °ÍÀÌ´Ù.
glibc¸¦ ÁÖ C ¶óÀÌºê·¯¸®·Î ¼³Ä¡ÇÏ´Â °úÁ¤(¾Õ ´Ü¿ø)À» Çß´Ù¸é, ±¸ libc´Â /lib¿¡
ÀÖ´Ù. /lib´Â root ÆÄÆ¼¼Ç¿¡ ÀÖ¾î¾ßÇÑ´Ù. ÀÌ°ÍÀº ¾ÆÁ÷µµ ¸ðµç ´ç½Å ÇÁ·Î±×·¥ÀÌ 
ºÎÆÃÇÏ´Â µ¿¾È¿¡´Â ÀÛµ¿ÇÑ´Ù´Â °ÍÀÌ´Ù. ±×·¯³ª, ¸¸¾à /usrÀÌ ´Ù¸¥ ÆÄÆ¼¼Ç¿¡ ÀÖ°í,
glibc¸¦ /usr/i486-linuxglibc2¿¡ ¿¬½À¿ëÀ¸·Î ¼³Ä¡Çß´Ù¸é, glibc¿Í ÇÔ²² ÄÄÆÄÀÏµÈ
ÇÁ·Î±×·¥µéÀº /usr ÆÄÆ¼¼ÇÀÌ ¸¶¿îÆ®µÇ±â ÀÌÀü±îÁö´Â ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù.

<sect1> ¿¬½À¿ë glibc¿Í ÇÔ²² ÄÄÆÄÀÏÇÏ±â.
<p>
¿¬½À¿ë glibc¿Í ÇÔ²² ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ±âÀ§ÇØ¼± glibc include¿¡ include path
¸¦ ´Ù½Ã ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.

Specifying 
&dquot;-nostdinc&dquot; will negate the normal paths, and
&dquot;-I/usr/i486-linuxglibc2/include&dquot; will point
to the glibc includes.  You will also need to specify the gcc includes,
which are found in /usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include
(assuming you installed the test lib in i486-linuxglibc2 with gcc version
2.7.2.2).

To link a program with a test-install glibc, you need to specify the
gcc setup.  This is done by using the option &dquot;-b i486-linuxglibc2&dquot;.

For most programs, you can specify these new options by adding them to the
CFLAGS and LDFLAGS makefile options:
 <tscreen><verb>
 CFLAGS = -nostdinc -I/usr/i486-linuxglibc2/include -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include -b i486-linuxglibc2
 LDFLAGS = -b i486-linuxglibc2
 </verb></tscreen>
If you are using a configure script, define the CFLAGS and LDFLAGS
shell variables (by using env/setenv for csh/tcsh, or set/export for
sh/bash/etc) before running configure.  The makefiles generated by this
should contain the proper CFLAGS and LDFLAGS.  Not all configure scripts
will pick up the variables, so you should check after running configure
and edit the makefiles by hand if necessary.

If the programs you are compiling only call gcc (and not cpp or binutils
directly), you can use the following script to save having to specify
all of the options each time:
 <tscreen><verb>
 #!/bin/bash
 /usr/bin/gcc -b i486-linuxglibc2 -nostdinc \
              -I/usr/i486-linuxglibc2/include \
              -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include "$@"
 </verb></tscreen>
You can then use this script instead of &dquot;gcc&dquot; when compiling.

<sect1>Compiling programs with libc 5 when glibc is primary library
<p>
To compile a program with your old libraries when you have installed
glibc as your main library, you need to reset the include paths to
the old includes.  Specifying &dquot;-nostdinc&dquot; will negate the
normal paths, and &dquot;-I/usr/i486-linuxlibc5/include&dquot; will point
to the glibc includes.  You must also specify
&dquot;-I/usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.2/include&dquot;
to include the gcc specific includes.  Remember to adjust these paths
based on the what you named the new directories and your gcc version.

To link a program with your old libc, you need to specify the gcc
setup.  This is done by using the option
&dquot;-b i486-linuxlibc5&dquot;.

For most programs, you can specify these new options by appending them
to the CFLAGS and LDFLAGS makefile options:
 <tscreen><verb>
 CFLAGS = -nostdinc -I/usr/i486-linuxlibc5/include -I/usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.2/include -b i486-linuxlibc5
 LDFLAGS = -b i486-linuxlibc5
 </verb></tscreen>
If you are using a configure script, define the CFLAGS and LDFLAGS
shell variables (by using env/setenv for csh/tcsh, or set/export for
sh/bash/etc) before running configure.  The makefiles generated by this
should contain the proper CFLAGS and LDFLAGS.  Not all configure scripts
will pick up the variables, so you should check after running configure
and edit the makefiles by hand if necessary.

If the programs you are compiling only call gcc (and not cpp or binutils
directly), you can use the following script to save having to specify
all of the options each time:
 <tscreen><verb>
 #!/bin/bash
 /usr/bin/gcc -b i486-linuxlibc5 -nostdinc \
              -I/usr/i486-linuxlibc5/include \
              -I/usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.2/include "$@"
 </verb></tscreen>
You can then use this script instead of &dquot;gcc&dquot; when compiling.


<sect>C++ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ±â
<p>

libg++´Â ¼öÇÐ ¶óÀÌºê·¯¸®ÀÇ ÀÏºÎ¸¦ »ç¿ëÇÏ¹Ç·Î libmÀ» ¸µÅ©½ÃÄÑ¾ßÇÑ´Ù.
±âÁ¸ÀÇ libg++´Â ±¸ ¶óÀÌºê·¯¸®¿Í ÇÔ²² ÄÄÆÄµÇ¾ú±â¶§¹®¿¡, glibc¿Í ´Ù½Ã ÄÄÆÄÀÏ
ÇÏ°Å³ª ¾Æ´Ï¸é ¹ÙÀÌ³Ê¸®¸¦ ¾ò¾î¾ßÇÑ´Ù. glibc¿¡ ¸µÅ©µÈ ¹ÙÀÌ³Ê¸® libg++´Â ´ÙÀ½
À§Ä¡¿¡¼­ Ã£À» ¼ö ÀÖ´Ù.
<url url="ftp://ftp.yggdrasil.com/private/hjl/">.

<sect1>¿¬½À¿ë glibc ¼³Ä¡ÀÇ °æ¿ì¿¡ ´ëÇÑ libg++¼³Ä¡ÇÏ±â
<p>
¿¬½À¿ëÀ¸·Î glibc¸¦ ¼³Ä¡Çß´Ù¸é, libg++ÆÄÀÏÀ» glibc°¡ ¼³Ä¡µÇ¾ú´ø
µð·ºÅä¸®¿¡ ¼³Ä¡ÇØ¾ßÇÑ´Ù. (¾ÕÀÇ ´Ü¿ø´ë·Î Çß´Ù¸é, /usr/i486-linuxglibc2¿¡ 
libg++ÆÄÀÏÀ» ¼³Ä¡ÇÑ´Ù.) ¹ÙÀÌ³Ê¸® ÆÐÅ°Áö·ÎºÎÅÍ ¼³Ä¡ÇÏ°íÀÚ ÇÑ´Ù¸é, ÀÓ½Ã
µð·ºÅä¸®¿¡¼­ ÆÄÀÏ³»¿ëÀ» ÃßÃâÇÑ ´ÙÀ½ usr/lib/ÆÄÀÏµéÀ» 
&lt;install directory&gt;/lib/ µð·ºÅä¸®·Î ¿Å±â°í, usr/include/ÆÄÀÏµéÀ»
&lt;install directory&gt;/include/ µð·ºÅä¸®·Î ¿Å±ä´Ù. (ÁÖÀÇ »çÇ×:
include/g++ ¸µÅ©¸¦ ¸ÕÀú Áö¿ö¶ó), ±×¸®°í usr/bin/ÆÄÀÏÀ» 
&lt;install directory&gt;/bin/ µð·ºÅä¸®·Î ¿Å±ä´Ù.

<sect1>ÁÖ glibc ¼³Ä¡ÀÇ °æ¿ì¿¡ ´ëÇÑ libg++ ¼³Ä¡ÇÏ±â
<p>
ÁÖ ¶óÀÌºê·¯¸®·Î glibc¸¦ ¼³Ä¡Çß´Ù¸é, ¸ÕÀú ±¸ libg++ ÆÄÀÏµéÀ» ±¸ libc  µð·ºÅä¸®·Î
¿Å°Ü¶ó. (g++ÇÁ·Î±×·¥À» ±¸ libc ¿Í ÄÄÆÄÀÏÇÏ°í ½Í´Ù¸é,...) 
ÀÌ°ÍÀ» ÇÏ´Âµ¥ °¡Àå ½¬¿î ¹æ¹ýÀº libc 5·Î ÄÄÆÄÀÏµÈ libg++ÀÇ »õ·Î¿î º¹»çÆÇÀ»
¼³Ä¡ÇÏ°í(¾ÕÀÇ ´Ü¿ø¿¡¼­ ¼³¸íÇß´Ù), Á¤»óÀûÀ¸·Î glibc ¹öÀüÀ» ¼³Ä¡ÇÑ´Ù.

<sect1>non-primary libc·Î C++ÇÁ·Î±×·¥ ÄÄÆÄÀÏÇÏ±â
<p>
C++ ÇÁ·Î±×·¥À» non-primary libc¿Í ÄÄÆÄÀÏÇÏ°í ½ÍÀ¸¸é, g++ include µð·ºÅä¸®¸¦
Æ÷ÇÔ½ÃÄÑ¾ßÇÑ´Ù. (Áï ¿¬½À¿ë ¼³Ä¡ °æ¿ì, /usr/i486-linuxglibc2/include/g++ÀÌ°í,
 ÁÖ glibc ¼³Ä¡ °æ¿ì´Â /usr/i486-linuxlibc5/include/g++ÀÌ´Ù)
º¸Åë CXXFLAGS º¯¼ö¸¦ Ã·°¡ÇÏ´Â ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.
 <tscreen><verb>
 CXXFLAGS = -nostdinc -I/usr/i486-linuxglibc2/include -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include -I/usr/i486-linuxlibc5/include/g++ -b i486-linuxglibc2
 </verb></tscreen>


<sect>¹ö±× º¸°íÇÏ±â
<p>
lib¿¡ ¹ö±×°¡ ÀÖ´Ù°í »ý°¢µÇ¸é, ¿ì¼± FAQ¸¦ ÀÐ¾îº¸¶ó. ´Ù¸¥ »ç¶÷µéÀÌ °¡Áø ¹®Á¦Á¡°ú
 °°Àº °æ¿ì¶ó¸é ÇØ°áÃ¥ÀÌ ÀÖ´Ù. ¶Ç´Â INSTALL ÆÄÀÏ¿¡ ÀÖ´Â
 "Recommended Tools to Install the GNU C Library" ´Ü¿øÀ» Ã¼Å©ÇØ º¸¾Æ¶ó. ÀÌÀ¯´Â
¾î¶² ¹ö±×´Â glibcÀÇ ¹ö±×°¡ ¾Æ´Ñ toolsÀÇ ¹ö±×ÀÌ±â¶§¹®ÀÌ´Ù.

ÀÏ´Ü ¹ö±×¸¦ ¹ß°ßÇßÀ¸¸é, ±×°ÍÀÌ ÁøÂ¥ ¹ö±×ÀÎÁö È®ÀÎÇÏ¶ó. GNU C ¶óÀÌºê·¯¸®°¡
´Ù¸¥ C ¶óÀÌºê·¯¸®¿Í °°Àº ¹æ¹ýÀ¸·Î ÀÛµ¿ÇÏ´ÂÁö È®ÀÎÇÏ¸é µÈ´Ù. ¸¸¾à ´Ù¸¥ C¶óÀÌºê·¯
¸®¿Í °°Àº ¹æ¹ýÀ¸·Î ÀÛµ¿ÇÏÁö ¾ÊÀ¸¸é ¶óÀÌºê·¯¸®¿¡ ÀÌ»óÀÌ ÀÖ´Â °ÍÀÌ´Ù.

´ÙÀ½Àº <url url="http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl">·Î Á¢¼ÓÇÑ
 ÈÄ, ¹ö±× µ¥ÀÌÅ¸º£ÀÌ½º¸¦ °ËÅäÇØ º¸¶ó. ÀÌ¹Ì º¸°íµÇ¾ú´ø ¹®Á¦ÀÎÁö È®ÀÎÇØ¶ó.
libc¿Í ÇÔ²² ¹èÆ÷µÇ´Â BUGS ÆÄÀÏµµ º¸¾Æ¶ó.

»õ·Î¿î ¹ö±×¶ó°í »ý°¢ÀÌ µÇ¸é, ±× ¹®Á¦°¡ ÀÏ¾î³¯¼ö ÀÖ´Â °æ¿ì¸¦ Á¼Èú ¼ö ÀÖÀ» ¸¸Å­
Á¼Çô¶ó.(?) C ¶óÀÌºê·¯¸® °æ¿ì ÇÑ ¶óÀÌºê·¯¸® ÇÔ¼ö È£Ãâ·Î ÁÙ¿©¼­ º¸°íÇÒ¼ö ÀÖÀ¸¸é
±×·¸°Ô ÇØ¶ó. ÀÌ°ÍÀÌ ³Ê¿ì ¾î·ÆÁö ¾Ê¾Æ¾ß ÇÑ´Ù.

°£´ÜÇÑ Å×½ºÆ® ÆÇÀ» °¡Áö°í ÀÖ´Ù¸é ¹ö±×¸¦ º¸°íÇÏ¶ó. ´ÙÀ½Àº ¹ö±× º¸°íÇÒ ¶§ 
Æ÷ÇÔÇØ¾ß ÇÒ ³»¿ëÀÌ´Ù.
(1) ¹ö±×°¡ »ý±â´Â test case¿Í °á°úµé.
(2) ¸¸¾à ¹ö±× ¿øÀÎ¿¡ ´ëÇÑ »ý°¢ÀÌ ÀÖÀ¸¸é, ´ç½ÅÀÇ »ý°¢
(3) ´ç½ÅÀÌ »ç¿ëÇß´ø ½Ã½ºÅÛ Á¾·ù, GNU C ¶óÀÌºê·¯¸® ¹öÀü,GCC CC ÄÄÆÄÀÏ·¯ ¹öÀü,
GNU Binutils ¹öÀü
(4) 'configure'¸¦ ½ÇÇà½ÃÄ×À» ¶§ ¸¸µé¾îÁö´Â 'config.status'¿Í 'config.make'ÀÇ ÆÄÀÏ

GNU C ¶óÀÌºê·¯¸®¿¡ ´ëÇÑ ¹ö±× ·¹Æ÷Æ®´Â <tt/glibcbug/ ½© ½ºÅ©¸³Æ®¸¦ »ç¿ëÇØ¼­
<url url="bugs@gnu.org"> ·Î º¸³»¶ó. (´Ù¸¥ ÁÖ¼Ò´Â <url url="bugs@gnu.ai.mit.edu">) ¶Ç´Â <url url="http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl">¿¡ ÀÖ´Â
GNATS À¥ ÀÎÅÍÆäÀÌ½º¸¦ ÅëÇØ¼­ Á¦ÃâÇÒ ¼ö ÀÖ´Ù.

Á¦¾È°ú Áú¹®Àº <url url="bugs-glibc@prep.ai.mit.edu">¿¡ ÀÖ´Â ¸ÞÀÏ¸µ ¸®½ºÆ®·Î
º¸³»¶ó. ¸¸¾à gnewsgroupÀÎ gnu.bug.glibc¸¦ ÀÐ¾îº¸Áö ¾Ê¾Ò´Ù¸é, 
<url url="bug-glibc-request@prep.ai.mit.edu">¿¡ ¹°¾î¼­ ¸®½ºÆ®¿¡ Á¦ÃâÇÒ ¼ö ÀÖ´Ù.

&lt;bug-gcc@prep.ai.mit.edu&gt; ·Î GNU C ¶óÀÌºê·¯¸®¿¡ ´ëÇÑ ¹ö±× º¸°í¼­¸¦
º¸³»Áö ¸¶¶ó. ±×°÷Àº GNU CC¿¡ ´ëÇÑ ¹ö±× º¸°í¼­¸¦ À§ÇÑ °÷ÀÌ´Ù.
GNU CC¿Í GNU C ¶óÀÌºê·¯¸®´Â ´Ù¸¥ »ç¶÷µé¿¡ ÀÇÇØ¼­ °ü¸®µÈ´Ù.


<sect>»ùÇÃ specs ÆÄÀÏ<label id="specs">
<p>

¿©±â¿¡ ÀÖ´Â »ùÇÃ specsÆÄÀÏÀº glibc 2¿ëÀÌ¸ç ÄÄÆÄÀÏÇÒ ¶§, ¸µÅ©ÇÒ ¶§ gcc¿¡ ÀÇÇØ¼­
»ç¿ëµÇ´Â ÆÄÀÏÀÌ´Ù. ÀÌ ÆÄÀÏÀº 
/usr/lib/gcc-lib/&lt;new system dir&gt;/&lt;gcc version&gt;¿¡ ÀÖ´Ù.
¸¸¾à x86 ½Ã½ºÅÛÀ» »ç¿ëÇÑ´Ù¸é, ÀÌ »ùÇÃ specs ÆÄÀÏÀ» º¹»çÇÒ ¼ö ÀÖ´Ù.
 <tscreen><verb>
 *asm:
 %{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}

 *asm_final:
 %{pipe:-}

 *cpp:
 %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}

 *cc1:
 %{profile:-p}

 *cc1plus:


 *endfile:
 %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s

 *link:
 -m elf_i386 %{shared:-shared}   %{!shared:     %{!ibcs:       %{!static: 	%{rdynamic:-export-dynamic} 	%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} 	%{static:-static}}}

 *lib:
 %{!shared: %{pthread:-lpthread} 	%{profile:-lc_p} %{!profile: -lc}}

 *libgcc:
 -lgcc

 *startfile:
 %{!shared:      %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} 		       %{!p:%{profile:gcrt1.o%s} 			 %{!profile:crt1.o%s}}}}    crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}

 *switches_need_spaces:


 *signed_char:
 %{funsigned-char:-D__CHAR_UNSIGNED__}

 *predefines:
 -D__ELF__ -Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386)

 *cross_compile:
 0

 *multilib:
 . ;
 </verb></tscreen>

<sect>Miscellanea
<p>

<sect1>Further information

<p>

<sect2>Web Pages

<p>

<itemize>
<item><url url="http://www.gnu.org/software/libc/libc.html" name="FSF's GNU C Library Home Page">
<item><url url="http://www.imaxx.net/~thrytis/glibc/" name="Using GNU Libc 2 with Linux">
<item><url url="http://huizen.dds.nl/~frodol/glibc/"name="Installing glibc-2 on Linux">.
<item><url url="http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.html" name="Debian libc5 to libc6 Mini-HOWTO">.
</itemize>

<sect2>Newgroups
<p>

<itemize>
<item><htmlurl url="news:comp.os.linux.development.system" name="comp.os.linux.development.system">
<item><htmlurl url="news:comp.os.linux.development.apps" name="comp.os.linux.development.apps">
<item><htmlurl url="news:linux.dev.kernel" name="linux.dev.kernel">
<item><htmlurl url="news:gnu.bug.glibc" name="gnu.bugs.glibc">
</itemize>

<sect1>Credits
<p>

Most of this information was stolen from the
<url url="http://www.gnu.org/software/libc/libc.html" name="GNU Libc web page">
and from Ulrich Drepper's &lt;drepper@gnu.ai.mit.edu&gt; glibc 2 announcement
and his comments.   Andreas Jaeger &lt;aj@arthur.rhein-neckar.de&gt;
provided some of the Reporting bugs section.

The following people have provided information and feedback for this document:
<itemize>
<item>Mark Brown &lt;M.A.Brown-4@sms.ed.ac.uk&gt;
<item>Ulrich Drepper &lt;drepper@gnu.ai.mit.edu&gt;
<item>Scott K. Ellis &lt;ellis@valueweb.net&gt;
<item>Aron Griffis &lt;agriffis@coat.com&gt;
<item>Andreas Jaeger &lt;aj@arthur.rhein-neckar.de&gt;
<item>Frodo Looijaard &lt;frodol@dds.nl&gt;
<item>Ryan McGuire &lt;rmcguire@freenet.columbus.oh.us&gt;
<item>Shaya Potter &lt;spotter@capaccess.org&gt;
<item>Les Schaffer &lt;godzilla@futuris.net&gt;
<item>Andy Sewell &lt;puck@pookhill.demon.co.uk&gt;
<item>Stephane &lt;sr@adb.fr&gt;
<item>Jan Vandenbos &lt;jan@imaxx.net&gt;
</itemize>

Translations of this document are being done by:
<itemize>
<item>French:  Olivier Tharan &lt;tharan@int-evry.fr&gt;
<item>Japanese:  Kazuyuki Okamoto &lt;ikko-@pacific.rim.or.jp&gt;
</itemize>


<sect1>Feedback
<p>

Besides writing this HOWTO, maintaining the
<url url="http://www.imaxx.net/~thrytis/glibc" name="glibc 2 for Linux">
page, and using it on my machine, I have nothing to do with the glibc
project.  I am far from knowledgeable on this topic, though I try to help
with problems mailed to me.  I welcome any feedback, corrections, or
suggestions you have to offer.  Please send them to
<url url="mailto:thrytis@imaxx.net" name="thrytis@imaxx.net">.

</article>
