Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ
  Oracle 9i 64bit ȯ°æ¿¡ Apache+PHP4 ¼³Ä¡ (AIX 5.1L) ÀÛ¼ºÀÏ : 2004/04/11 23:26
 
  • ±Û¾´ÀÌ : ÁÁÀºÁøÈ£ ( http://coffeenix.net/ )
  • Á¶È¸¼ö : 13398
     
    ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ )
    ÀÛ¼ºÀÏ : 2004.4.3
    Á¤¸®ÀÏ : 2004.4.10~11 (°ø°³Çϱâ À§ÇØ Á¤¸®ÇÔ)

    AIX 5.1L°ú Oracle 9i ȯ°æ¿¡ Apache 1.3.x°ú PHP4 ¸¦ ºÙÀÌ´Â °úÁ¤°ú ¹ß»ýÇÒ ¼ö ÀÖ´Â ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀ» °£·«È÷ ¼³¸íÇÑ´Ù.
    ±¹³»¿¡ ÀÌ·± ȯ°æ¿¡ ´ëÇÑ ¼³Ä¡ ¹®¼­°¡ ¾ø¾î¼­ ¼³Ä¡¿¡ ¾î·Á¿òÀ» °ÝÀº ºÐµé¿¡°Ô Á¶±ÝÀÌ¶óµµ µµ¿òÀÌ µÇ¾úÀ¸¸é ÇÑ´Ù.
    Á¤¸®¸¦ ¸øÇØ Æ÷ÇÔÇÏÁö ¸øÇÑ ¿¡·¯ ¸Þ½ÃÁö(PHPÄÄÆÄÀϽÃÀÇ ¿¡·¯¸Þ½ÃÁö, Apache ½ÇÇà½Ã ¿¡·¯¸Þ½ÃÁö µî)¿Í ȯ°æ º¯¼ö µîÀº ÃßÈÄ¿¡ Ãß°¡Çϵµ·Ï ³ë·ÂÇÏ°Ú´Ù.

    ¡Ø ¼³Ä¡ ȯ°æ

    ¡¡- OS : IBM AIX 5.1L (¸®´ª½ºÀÇ PPC rpmÀ» »ç¿ë°¡´ÉÇÔ)
    ¡¡- Oracle 9i (Áß¿äÇÑ °ÍÀº 64bitȯ°æÀ¸·Î ¼³Ä¡µÊ)
      - php 4.x
      - apache 1.3.x
      - gcc, GNU make, gzip µîÀÌ »ìÄ¡µÇ¾î ÀÖÀ½. ±×·¯³ª GNU make¸¦ »ç¿ëÇÏÁö´Â ¾Ê¾ÒÀ½

      - ¼³Ä¡ ¼ø¼­

    ¡¡ oracle 9i°¡ 64bit·Î ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖÀ½ -> apache -> PHP4

    1. Apache ¼³Ä¡

      http://httpd.apache.org/

      ¾ÆÆÄÄ¡ 1.3.x´Â DSO¹æ½ÄÀ¸·Î ¼³Ä¡¸¦ ÇÏ°í ¼³Ä¡ °æ·Î´Â /usr/local/apache¶ó°í °¡Á¤ÇÑ´Ù.

     
      # gunzip apache_1.3.29.tar.gz
      # tar xvf apache_1.3.29.tar
      # cd apache_1.3.29
      #
      # CC=gcc OPTIM='-Wall -g' ./configure --prefix=/usr/local/apache \
    ¡¡¡¡¡¡--enable-module=all --enable-shared=max \
    ¡¡¡¡¡¡--disable-module=auth_dbm --disable-module=auth_db

     


      ¸¸¾à IBMÀÇ C ÄÄÆÄÀÏ··´Ï xlc_rÀ» »ç¿ëÇÑ´Ù¸é configureÇÒ ¶§ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

     
      # CC=xlc_r OPTIM='-qinfo=pro -qfullpath -g' ./configure --prefix=/usr/local/apache \
    ¡¡¡¡¡¡--enable-module=all --enable-shared=max \
    ¡¡¡¡¡¡--disable-module=auth_dbm --disable-module=auth_db

     


      ¹Ù·Î ÀÌ »óÅ¿¡¼­ make¸¦ ÇÑ´Ù¸é

      'ld: 0711-317 ¿À·ù: Á¤ÀǵÇÁö ¾ÊÀº ±âÈ£: .__fixsfsi' ¶Ç´Â
      'ld: 0711-317 ERROR: Undefined symbol: .__fixsfsi' °ú °°Àº ¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù.

      apacheÀÇ ¼Ò½º Æ®¸®¿¡¼­ src/support/httpd.exp ÆÄÀÏ ¸¶Áö¸·¿¡ ´ÙÀ½ 2ÁÙÀ» ³Ö¾îÁØ´Ù.

     
    __fixsfsi
    __fixunssfsi
     


      ÀÚ ÀÌÁ¦ makeÇÏ¸é ¼³Ä¡°¡ µÈ´Ù.

     
      # make
      # make install
     


    2. PHP4 ÄÄÆÄÀÏ

      ÀÌ ºÎºÐÀÌ ÇØ°áÇϱâ Èûµç ºÎºÐ Áß¿¡ ÇϳªÀÏ ¼ö ÀÖ´Ù.
      Oralce 9i´Â 64bit ȯ°æÀ¸·Î ¼³Ä¡µÇ¾î ÀÖ´Â »óÅÂÀε¥, PHP4´Â 32bitÀÇ ¿À¶óŬ ¶óÀ̺귯¸®¸¦ ¿ä±¸Çϱ⠶§¹®ÀÌ´Ù.
      ºÐ¸íÇÑ °ÍÀº ÀÌ »óÅ¿¡¼­ ¼³Ä¡¸¦ ½ÃµµÇÑ´Ù¸é makeÇÒ ¶§ ¿À·ù°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù.

      ¹æ¹ýÀº 2°¡Áö Á¤µµ°¡ ÀÖÀ¸¸ç, ¿©±â¼­´Â ¹æ¹ý 2¸¦ ÀÌ¿ëÇؼ­ ÇÏ°Ú´Ù.

      ¹æ¹ý 1) Oracle 8i client¸¦ ¼­¹ö¿¡ ¼³Ä¡ÇÏ¿© ÀÌ 8i clientÀÇ ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇؼ­ PHP4¸¦ ¼³Ä¡
      ¹æ¹ý 2) Oracle 9i ÀÇ 32bit ¶óÀ̺귯¸®¸¦ »ç¿ëÇϵµ·Ï PHP4ÀÇ configure ÆÄÀÏÀ» ¼öÁ¤ ÇÑ ÈÄ ¼³Ä¡

    ¡¡¡Ø - Oracle 9i¡¡ Ȩ µð·ºÅ丮´Â /oracle/app/920 ÀÓ
         - 64bit ¶óÀ̺귯¸®´Â /oracle/app/920/lib ¿¡ ÀÖÀ¸¸ç
           32bit ¶óÀ̺귯¸®´Â /oracle/app/920/lib32 ¿¡ ÀÖ´Ù.
    ¡¡¡¡ - MySQLÀº »ç¿ë ¾ÈÇÑ´Ù¸é --without-mysql ¿É¼ÇÀ» ³Ö´Â´Ù.

      1) rootÀÇ .profile¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù. (ÃßÈÄ Apache½ÇÇàÇÒ ¶§ Áß¿äÇÑ ºÎºÐÀÌ´Ù.)

     
      LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib; export LIBPATH
      LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib; export LD_LIBRARY_PATH
     


      2) PHP4¸¦ ¹Þ¾Æ ¾ÐÃàÀ» Ǭ ÈÄ configure ÆÄÀÏÀ» ¼öÁ¤ÇÑ´Ù.
         configure ¾ÈÀÇ OCI8_DIR/lib ¸¦ OCI8_DIR/lib32 ·Î ¹Ù²Û´Ù. vi·Î ÇØ°áÇغ¸ÀÚ.

     
      # vi configure
      :1,$s/OCI8_DIR\/lib/OCI8_DIR\/lib32/g  <-- (ù¹ø° ÁÙ(1)ºÎÅÍ ¸¶Áö¸·ÁÙ($)±îÁö ¸ðµÎ replace)
      :wq
     

        
      3) configure ÇÑ ÈÄ ÄÄÆÄÀÏÇÏ¸é ¿Ï·á

     
      # ./configure --prefix=/usr/local/php \
            --with-apxs=/usr/local/apache/bin/apxs \
            --with-apache-install=/usr/local/apache \
            --with-mysql=/usr/local/mysql \
            --enable-track-vars --enable-safe-mode --enable-debugger \
            --with-zlib  \
            --with-xml \
            --with-charset=euc_kr \
            --with-language=korean \
            --with-oci8=/oracle/app/920 \
            --with-oracle=/oracle/app/920

      # make
      # make install
     


    3. ¹®Á¦ ÇØ°á

    1) Apache ÄÄÆÄÀÏÇÒ ¶§ ´ÙÀ½°ú °°Àº ¿À·ù°¡ ¹ß»ýÇß´Ù.

     
    ======== Error Output for sanity check ========
            cd ..; gcc  -DAIX=510 -U__STR__ -DAIX_BIND_PROCESSOR -DUSE_HSREGEX `./apaci`   -lm -lpthread -o helpers/dummy helpers/dummy.c   -lexpat -lld
    collect2: /lib/libm.a: not a COFF file <-- Áß¿ä
    make: The error code from the last command is 1.


    Stop.
    ============= End of Error Report =============
     


      -> gcc ¹öÀüÀ» º¯°æÇÏ¿© ÄÄÆÄÀÏ ÇÏ¸é µÈ´Ù.

    2) Apache ÄÄÆÄÀÏÇÒ ¶§ ´ÙÀ½°ú °°Àº ¿À·ù°¡ ¹ß»ýÇß´Ù.

     
    ld: 0711-317 ¿À·ù: Á¤ÀǵÇÁö ¾ÊÀº ±âÈ£: .__fixsfsi
     


      -> Apache ¼Ò½º Æ®¸®¿¡¼­ src/support/httpd.exp ÆÄÀÏ ¸¶Áö¸·¿¡ ´ÙÀ½ 2ÁÙÀ» Ãß°¡ÇÑ´Ù.

     
    __fixsfsi
    __fixunssfsi
     


    3) Apache ÄÄÆÄÀÏÇÒ ¶§ 'Cannot run a 64-bit program until the 64-bit' °ú °°Àº ¿¡·¯°¡ ¹ß»ýÇß´Ù.

     
    ======== Error Output for sanity check ========
            cd ..; gcc -Wall -g -DAIX=510 -U__STR__ -DAIX_BIND_PROCESSOR
    -DNO_DBM_REWRITEMAP -DUSE_HSREGEX -DUSE_EXPAT -I./lib/expat-lite `./apaci`
    -lm -lpthread  -o helpers/dummy helpers/dummy.c   -lld
    Could not load program /usr/ccs/bin/bind64:
    Cannot run a 64-bit program until the 64-bit
            environment has been configured. See the system administrator.
    collect2: ld returned 255 exit status
    make: The error code from the last command is 1.
     


      -> AIX OS¸¦ 64bit ·Î ÀüȯÇÑ´Ù.

    shell»ó¿¡¼­ /etc/methods/cfg64 ¸í·ÉÀ» ½ÇÇàÇÏ¸é µÈ´Ù.
     
      # /etc/methods/cfg64
     


    ¶ÇÇÑ ºÎÆÃÇÒ ¶§¸¶´Ù 64ºñÆ®·Î ·ÎµùµÇµµ·Ï /etc/inittab ¿¡ cfg64 ¸í·ÉÀ» Ãß°¡Çصµ ÁÁ´Ù.
    mkitab ¸í·ÉÀº inittab¿¡ cfg64¸í·ÉÀ» ´ë½Å Ãß°¡ÇØÁÙ °ÍÀÌ´Ù.

     
      # mkitab -i powerfail "load64bit:2:wait:/etc/methods/cfg64 >/dev/console 2>&1 # Enable 64-bit execs"
     


    4) PHPÄÄÆÄÀÏÇÒ ¶§ ld: 0711-317 ERROR: Undefined symbol: .OCIEnvInit ... µîÀÇ ¿¡·¯°¡ ¹ß»ýÇß´Ù.

     
    ld: 0711-317 ERROR: Undefined symbol: .ologof
    ld: 0711-317 ERROR: Undefined symbol: .oclose
    ld: 0711-317 ERROR: Undefined symbol: .oopen
    ld: 0711-317 ERROR: Undefined symbol: .oparse
    ld: 0711-317 ERROR: Undefined symbol: .olog
    ld: 0711-317 ERROR: Undefined symbol: .ocof
    ld: 0711-317 ERROR: Undefined symbol: .ocon
    ld: 0711-317 ERROR: Undefined symbol: .ocom
    ld: 0711-317 ERROR: Undefined symbol: .orol
    ld: 0711-317 ERROR: Undefined symbol: .obndra
    ld: 0711-317 ERROR: Undefined symbol: .oexec
    ld: 0711-317 ERROR: Undefined symbol: .oexfet
    ld: 0711-317 ERROR: Undefined symbol: .ofetch
    ld: 0711-317 ERROR: Undefined symbol: .oflng
    ld: 0711-317 ERROR: Undefined symbol: .oerhms
    ld: 0711-317 ERROR: Undefined symbol: .odescr
    ld: 0711-317 ERROR: Undefined symbol: .odefin
    ld: 0711-317 ERROR: Undefined symbol: .OCIEnvInit
    ld: 0711-317 ERROR: Undefined symbol: .OCIHandleAlloc
    ld: 0711-317 ERROR: Undefined symbol: .OCIInitialize
    ld: 0711-317 ERROR: Undefined symbol: .OCIHandleFree
    ld: 0711-317 ERROR: Undefined symbol: .OCITransRollback
    ld: 0711-317 ERROR: Undefined symbol: .OCIDescriptorFree
    ld: 0711-317 ERROR: Undefined symbol: .OCIErrorGet
    ... Áß·« ...
    ld: 0711-317 ERROR: Undefined symbol: .OCITypeByRef
    ld: 0711-317 ERROR: Undefined symbol: .OCIObjectNew
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    collect2: ld returned 8 exit status
    make: 1254-004 ÃÖÁ¾ ¸í·É¿¡¼­ÀÇ ¿À·ù ÄÚµå´Â 1ÀÔ´Ï´Ù.


    Stop.
     


      -> PHPÄÄÆÄÀÏÇϱâ Àü¿¡ '2. PHP4 ÄÄÆÄÀÏ'¿¡¼­ 2) configure ÆÄÀÏÀ» ¼öÁ¤ÇÑ ÈÄ ÄÄÆÄÀÏÇÑ´Ù.

    4. Âü°íÇÒ¸¸ÇÑ ÀÚ·á

    - AIX¿¡¼­ Apache 1.3.x ¼³Ä¡¾Ö ´ëÇÑ ¹®¼­
      http://www.apache.org/~trawick/apache13aix.html

    - Oracle°ú PHP4 ¿¬µ¿ÇÏ¿© ¼³Ä¡ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ±Û
      http://kr.php.net/oci8

    - AIX¿ë ¹ÙÀ̳ʸ® ÆÐÅ°Áö »çÀÌÆ® Public Domain Software Library for AIX
      http://aixpdslib.seas.ucla.edu/

    - AIX 51-05¿¡¼­ gcc·Î Apache 1.3.29 ÄÄÆÄÀÏÇÒ ¶§ ¿À·ù ¹®Á¦¿¡ ´ëÇØ
      http://www.faqs.org/qa/qa-12016.html

     
      Á¦¸ñ : Hi- I'm compiling apache 1.3.29 on AIX 51-05 using gcc...
      ³¯Â¥ : 2004/1/28
      Áú¹® :

      I'm compiling apache 1.3.29 on AIX 51-05 using gcc 2.95.  I'm coming up with error:
      "collect2: /usr/lib/libm.a: not a COFF file"

      Not sure what to do with this but obviously I'm far from an expert. . .

      tks,
      Bill Edison

      ´äº¯ :

      You just have to try with a earlier version of GCC (such as 3.3.2).

      We experienced this, and it's ok.

      Good luck

      Franck Bercher
     




    Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=290