Unix/Solaris °ü·Ã°Ô½ÃÆÇ |
---|
2000/07/21(17:48) from 203.254.154.69 | |
ÀÛ¼ºÀÚ : °ÁÙ±â (jkkang65@hanmail.net) | Á¶È¸¼ö : 2345 , ÁÙ¼ö : 133 |
How to install gcc. |
---|
Solaris 2.x¸¦ ½Ã½ºÅÛ¿¡ ±ò¸é gcc°¡ ±ò·ÁÀÖÁö ¾Ê½À´Ï´Ù. ¿Ö³ÄÇϸé gcc´Â GNU¿¡¼ ³ª¿À´Â ¼ÒÇÁÆ®¿þ¾îÀ̱⠶§¹®¿¡ »ó¾÷Àû ¿ëµµ·Î ÆǸÅÇÒ ¼ö ¾ø±â ¶§¹®ÀÔ´Ï´Ù. ´ë½Å Solaris ¿¡´Â cc¶ó°í ÇÏ´Â C ÄÄÆÄÀÏ·¯°¡ ÀÖ½À´Ï´Ù. OS ¼³Ä¡ ÈÄ cc¸¦ ã¾Æº¸¸é ÀÖ´Â °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ cc´Â ½ÇÁ¦ ÄÄÆÄÀÏ·¯°¡ ¾Æ´Ï¶ó ²®µ¥±âÀÏ »Ó ÆÐÅ°Áö¸¦ »ç¼ µû·Î ¼³Ä¡¸¦ ÇØÁÖ¾î¾ß¸¸ ¿ÏÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ccµµ ÃæºÐÈ÷ C ÄÄÆÄÀÏ·¯ ¿ªÇÒÀ» ¼öÇàÇÒ ¼ö ÀÖÁö¸¸ gcc¿¡ ºñÇØ ¼º´ÉÀÌ ¶³¾îÁö°í, ¶ÇÇÑ »ó¿ëÀ̹ǷΠµ·À» ÁÖ°í »ç¾ßÇÏ´Â ¹®Á¦µµ ÀÖ½À´Ï´Ù. ±×·¡¼ gcc¸¦ ±ò¾Æ¼ ¾¹´Ï´Ù. ±×·±µ¥ ¸·»ó gcc¸¦ ¼³Ä¡ÇÏ·Á°í º¸¸é gcc ¼Ò½º¸¦ ÄÄÆÄÀÏÇÒ ÄÄÆÄÀÏ·¯°¡ ¾ø´Ù´Â »ç½ÇÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¾î¶»°Ô ÇÏ¸é µÇ´ÂÁö¸¦ ÀÌÁ¦ºÎÅÍ ¾Ë¾Æº¾´Ï´Ù. gcc ÃֽŹöÁ¯À» ¼³Ä¡Çϱâ À§Çؼ´Â ¿ì¼± ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÕ´Ï´Ù. gcc binary package for Solaris 2.x(SunOS 5.x) ftp://sunsite.snu.ac.kr/pub/packages/sun_binary/¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. gcc source (newly version) ftp://sunsite.snu.ac.kr/pub/gnu/¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇöÀç 2.8.1ÀÌ ÃֽŠ¹öÁ¯ÀÔ´Ï´Ù. gzip binary package for Solaris 2.x ¸¸¾à À§ µÎ ÆÐÅ°Áö°¡ gzipÀ¸·Î ¹¿©ÀÖÀ» °æ¿ì ÇÊ¿äÇÕ´Ï´Ù. ftp://sunsite.snu.ac.kr/pub/packages/sun_binary/ ¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. µÎ ÆÐÅ°Áö ¸ðµÎ gzipÀ¸·Î ¹¿© ÀÖ´Â °æ¿ì gcc binary°¡ gzipÀ¸·Î ¹¿© ÀÖÁö ¾ÊÀº °æ¿ì gcc sourceµµ gzipÀ¸·Î ¹¿© ÀÖÁö ¾ÊÀº °æ¿ì -------------------------------------------------------------------------------- µÎ ÆÐÅ°Áö ¸ðµÎ gzipÀ¸·Î ¹¿© ÀÖ´Â °æ¿ì gzip binaryÀÇ tar¸¦ DZ´Ï´Ù. $ tar xvf GNUzip.1.2.4.SPARC.Solaris.2.5.pkg.tar GNUzip/ GNUzip/pkgmap GNUzip/pkginfo GNUzip/root/ GNUzip/root/usr/ GNUzip/root/usr/local/ GNUzip/root/usr/local/bin/ GNUzip/root/usr/local/bin/gzexe GNUzip/root/usr/local/bin/gzip GNUzip/root/usr/local/bin/zdiff GNUzip/root/usr/local/bin/zforce GNUzip/root/usr/local/bin/zgrep GNUzip/root/usr/local/bin/zmore GNUzip/root/usr/local/bin/znew GNUzip/root/usr/local/info/ : : GNUzip/root/usr/local/bin/gzip ÆÄÀÏÀ» PATH°¡ ¼³Á¤µÇ¾î ÀÖ´Â µð·ºÅ丮¿¡ º¹»çÇØ ÁÝ´Ï´Ù. ÀÌÁ¦ gcc binary¸¦ gzipÀ» ÀÌ¿ëÇØ ¾ÐÃàÀ» DZ´Ï´Ù. $ gzip -cd GNUgcc.2.8.1.SPARC.Solaris.2.x.pkg.tgz | tar xvf - -------------------------------------------------------------------------------- gcc binary¸¦ Ç®¸é, gzip binary¸¦ Ç® ¶§¿Í ºñ½ÁÇÑ µð·ºÅ丮 °èÃþ ±¸Á¶¸¦ °¡Áö¸ç Ç®¸®´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. µð·ºÅ丮ÀÇ ¸ð½ÀÀº ´ÙÀ½°ú °°½À´Ï´Ù. GNUgcc --- install | -- root --- usr --- local --- bin | |- info | |- lib | |- man | -- sparc-sun-solaris2.x ¿©±â¼ bin µð·ºÅ丮¿Í lib µð·ºÅ丮¸¦ /usr/local ¿¡ ½Éº¼¸¯ ¸µÅ©ÇÕ´Ï´Ù. # ln -s `pwd`/GNUgcc/root/usr/local/bin /usr/local/bin # ln -s `pwd`/GNUgcc/root/usr/local/lib /usr/local/lib ÀÌ·¸°Ô Çϸé binary·Î µÈ gcc¸¦ /usr/local¿¡ ¼³Ä¡ÇÏÁö ¾Ê°íµµ »ç¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. (install µð·ºÅ丮¿¡ ¼³Ä¡ ½ºÅ©¸³Æ®°¡ ÀÖÁö¸¸ ¹ÙÀ̳ʸ®¸¦ ±×³É ¼³Ä¡Çؼ ¾µ ¸ñÀûÀÌ ¾Æ´Ï¶ó¸é »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù.) $ gcc -v Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.x/2.8.1/specs gcc version 2.8.1 ¿Í °°ÀÌ Ãâ·ÂµÇ¸é Á¦´ë·Î ¼³Ä¡°¡ µÈ °ÍÀÔ´Ï´Ù.(/usr/local/bin ÀÌ PATH¿¡ ÁöÁ¤µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.) ÀÌÁ¦ gcc source ¸¦ ÄÄÆÄÀÏ ÇÏ¿© gcc ¼³Ä¡¸¦ Çغ¾½Ã´Ù. ¿ì¼± gzip°ú tar¸¦ ÀÌ¿ëÇÏ¿© gcc source¸¦ Àû´çÇÑ µð·ºÅ丮¿¡ DZ´Ï´Ù. # gzip -cd gcc-2.8.1.tar.gz | tar xvf - -------------------------------------------------------------------------------- ¼³Á¤°ú ÄÄÆÄÀÏ¿¡ µé¾î°¡±â Àü ´ÙÀ½°ú °°Àº »çÇ×À» È®ÀÎÇÕ´Ï´Ù. MakefileÀÌ Á¸ÀçÇÏ´ÂÁö È®ÀÎÇÕ´Ï´Ù. ¸¸¾à Á¸ÀçÇϸé make distcleanÀ» ½ÇÇàÇÏ¿© û¼ÒÇÕ´Ï´Ù. path¿¡ /usr/binÀÌ /usr/ucb¿¡ ¿ì¼±ÇÏ´ÂÁö È®ÀÎÇÕ´Ï´Ù. ¸¸¾à ±×·¸Áö ¾Ê´Ù¸é ±×·¸°Ô µÇµµ·Ï path¸¦ ´Ù½Ã ¼³Á¤ÇÕ´Ï´Ù. path¿¡ /usr/ccs/bin ÀÌ ÀÖ´ÂÁö È®ÀÎÇÕ´Ï´Ù. solaris¿¡´Â make°¡ /usr/ccs/bin ¿¡ ÀÖ½À´Ï´Ù. ¾øÀ¸¸é path¿¡ /usr/ccs/binÀ» Ãß°¡ÇÕ´Ï´Ù. ÀÌÁ¦ ./configure¸¦ ½ÇÇàÇÕ´Ï´Ù. MakefileÀÌ ¸¸µé¾îÁö¸é ´ÙÀ½À» ½ÇÇàÇÕ´Ï´Ù. # make CC=gcc LANGUAGES="c c++" LANGUAGES ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ¸¸é c c++, object c°¡ ¸ðµÎ ÄÄÆÄÀϵDZ⠶§¹®¿¡ ½Ã°£ÀÌ ¸¹ÀÌ °É¸³´Ï´Ù. c++À» ÁØ ÀÌÀ¯´Â ³ªÁß¿¡ c++À» ¾µ ¼ö ÀÖµµ·Ï Çϱâ À§ÇؼÀÔ´Ï´Ù. ±×³É LANGUAGES=c¸¸ ÁÖ¸é ³ªÁß¿¡ installÇÒ ¶§ c++À» installÇØÁÖ°í, libstdc++À» ±ò¾Æµµ c++ÀÌ Á¦´ë·Î ¼³Ä¡°¡ ¾ÈµÇ´õ±º¿ä. (2.7.2.3±îÁö´Â ¹®Á¦°¡ ¾ø¾ú´Âµ¥ 2.8.0 ºÎÅÍ´Â ²À À§¿Í °°ÀÌ ÇØÁÖ¾î¾ß c++µµ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.) ÄÄÆÄÀÏÀÌ ³¡³ª¸é ´ÙÀ½À» ½ÇÇàÇÕ´Ï´Ù. # make stage1 À§ ¸í·ÉÀº stage1´Ü°è·Î ¸¸µé¾îÁø gcc¸¦ stage2´Ü°èÀÇ gcc¸¦ ÄÄÆÄÀÏÇϴµ¥ »ç¿ëÇϱâ À§ÇØ ÀûÀýÈ÷ ÆÄÀϵéÀ» ¿Å°ÜÁÖ°Ô µË´Ï´Ù. Áß°£¿¡ Warning ¿¡·¯°¡ ³ª³ª Å©°Ô ¹®Á¦µÇÁö ¾Ê½À´Ï´Ù. ÇÁ·ÒÇÁÆ®°¡ ¶ß¸é ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÕ´Ï´Ù. # make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O2" ÀÌÁ¦ stage2´Ü°è±îÁö ¸¸µé¾îÁø gcc¸¦ ÀÌ¿ëÇØ stage3´Ü°èÀÇ gcc¸¦ ÄÄÆÄÀÏÇÕ´Ï´Ù. # make stage2 # make CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O2" ÀÌÁ¦ stage2°ú stage3¿¡¼ ¸¸µé¾îÁø ÆÄÀϵéÀÌ µ¿ÀÏÇÑ Áö¸¦ ºñ±³ÇØ ÁÖ±â À§ÇØ # make compare ¸¦ ½ÇÇàÇÕ´Ï´Ù. SolarisÀÇ °æ¿ì ¼·Î ´Ù¸¥°Ô ÀÖ´Ù´Â ³»¿ëÀÌ Ãâ·ÂµÉ °æ¿ìµµ Å©°Ô ¹®Á¦µÇÁö´Â ¾Ê½À´Ï´Ù. ÀÌÁ¦ gcc ÄÄÆÄÀÏÀº ¸ðµÎ ³¡ÀÌ ³µ°í ¸¸µé¾îÁø gcc¸¦ ¼³Ä¡ÇÏ´Â Àϸ¸ ³²¾Ò½À´Ï´Ù. ±× Àü¿¡ ¾Õ¿¡¼ gcc binary¸¦ À§ÇØ ¸¸µé¾ú´ø ½Éº¼¸¯ ¸µÅ©¸¦ Á¦°ÅÇÕ´Ï´Ù. # rm /usr/local/bin # rm /usr/local/lib gcc¸¦ ÀûÀýÇÑ À§Ä¡(/usr/local/bin)¿¡ ¼³Ä¡Çϱâ À§ÇØ ´ÙÀ½À» ½ÇÇàÇÕ´Ï´Ù. # make install CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O" LANGUAGES=LIST ¿©±â¼ LIST´Â ¼³Ä¡ÇÒ ÄÄÆÄÀÏ·¯¸¦ ÀǹÌÇÕ´Ï´Ù. c, c++, objective-c°¡ ¿©±â¿¡ ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù. ³ªÁß¿¡ libstdc++À» ±ò¾Æ¼ c++µµ ÇÔ²² »ç¿ëÇÏ·Á¸é LIST¿¡ "c c++" À̶ó°í ½áÁÝ´Ï´Ù.(µû¿ÈÇ¥ Æ÷ÇÔ.) ÀÌÁ¦ gcc 2.8.1ÀÌ ¸ðµÎ ¼³Ä¡µÇ¾ú½À´Ï´Ù. Á¦´ë·Î ¼³Ä¡µÇ¾ú´ÂÁö È®ÀÎÇϱâ À§ÇØ ´ÙÀ½ °úÁ¤À» ¼öÇàÇغ¾´Ï´Ù. path¿¡ /usr/local/bin ÀÌ ÀÖ´ÂÁö È®ÀÎÇÕ´Ï´Ù. rehash(C shellÀÇ °æ¿ì)¸¦ ½ÇÇàÇÑ ÈÄ gcc -v¸¦ ½ÇÇàÇغ¾´Ï´Ù. Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.x/2.8.1/specs gcc version 2.8.1 À§¿Í °°ÀÌ Ãâ·ÂµÇ¸é gcc°¡ Á¦´ë·Î ¼³Ä¡µÈ °ÍÀÔ´Ï´Ù. 'Hello World' ÇÁ·Î±×·¥À» ¸¸µé¾î Çѹø gcc¸¦ Å×½ºÆ® Çغ¸½Ã±æ.. |