|
ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(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ÁÙÀ» ³Ö¾îÁØ´Ù.
ÀÚ ÀÌÁ¦ makeÇÏ¸é ¼³Ä¡°¡ µÈ´Ù.
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ÁÙÀ» Ãß°¡ÇÑ´Ù.
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 ¸í·ÉÀ» ½ÇÇàÇÏ¸é µÈ´Ù.
¶ÇÇÑ ºÎÆÃÇÒ ¶§¸¶´Ù 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
| |
|