หลายคนคงเคยใช้ WSO2 Web Services Framework for PHP ( http://wso2.org/projects/wsf/php ) ซึ่งเป็น Framework ตัวนึงที่น่าใช้ทีเดียว ในการลงบน linux นั้น ไม่ใช่เรื่องยาก ไม่ว่าจะลงโดย binary หรือการ compile เอง แต่เนื่องจาก kernel ของ Freebsd และ Linux มีการเรียก IO ใช้ต่างกัน ในรายละเอียด ทำให้ library บางอย่างไม่มี เกิด compilation error ได้
-
# tar zxvf wso2-wsf-php-src-snapshot.tar.gz
-
# cd wso2-wsf-php-src-2.0.0
-
# ./configure
-
# make
-
uuid_gen_unix.c: In function `axutil_uuid_get_mac_addr':
-
uuid_gen_unix.c:337: error: `SIOCGARP' undeclared (first use in this function)
-
uuid_gen_unix.c:337: error: (Each undeclared identifier is reported only once
-
uuid_gen_unix.c:337: error: for each function it appears in.)
-
*** Error code 1
หาใน google มีคนเจอเหมือนกัน แต่ไม่ได้อยู่ดี เอาเป็นว่าลบทิ้งเลยละกันบรรทัดนั้น -_-''
-
memcpy(&(sa->sin_addr), *(he->h_addr_list), sizeof(struct in_addr));
-
/* คอมเมนต์ซะ
-
if (ioctl(s, SIOCGARP, &ar) < 0)
-
{
-
close(s);
-
return NULL;
-
}
-
*/
-
close(s);
-
if (!(ar.arp_flags & ATF_COM))
-
return NULL;
-
# make
อีกอัน เหมือน ftime() ไม่มี ต้องลง libcompat
-
# cd /usr/ports/misc/compat5x
-
# make install clean
จากนั้น บังคับโหลดไลบรารี่ เพิ่ม LDFLAGS ไปซะ
-
# LDFLAGS="-lcompat" ./configure
-
# make
-
# make install
มีหา library ไม่ ไปแก้นิดนึง จาก -I/usr/include เป็น -I /usr/local/include ก้อผ่าน แต่ใช้ได้มั้ยเดี๋ยว รายงานตอนตอไปว่ามีปัญหาหรือไม่
Tags: