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¸¦ Å×½ºÆ® Çغ¸½Ã±æ..

Modify Delete Post Reply Backward Forward List
Powered by Kang Jul Ki