swath 0.4.0 in experimental
ต่อจาก blog ที่แล้ว ตอนนี้ swath 0.4.0 ก็เข้าไปอยู่ใน Debian experimental เรียบร้อยแล้วเช่นกัน
swath รุ่นนี้ นอกจากการเปลี่ยนมาใช้ libdatrie 0.2 ก็มีการเปลี่ยนแปลงย่อย ๆ ตามปกติ โดยคราวนี้ได้ทรมาน swath ด้วย valgrind คล้ายกับที่ เคยทำกับ libthai เพียงแต่ไม่ได้ล้วงลึกลงไปแก้อะไรมากนัก เนื่องจาก swath ไม่ใช่โค้ดของผมเอง (แต่เป็นของ คุณไพศาล ทำไว้) ยังไม่มั่นใจพอที่จะแก้อะไรใหญ่โต
แต่ก็โชคดีที่สิ่งผิดปกติที่ valgrind ตรวจพบ ไม่ได้แก้ยากเกินไป โดยที่ได้แก้ไปก็ได้แก่:
- หน่วยความจำรั่ว 1 จุด
- การใช้
new[]
กับdelete[]
ที่ไม่เข้าคู่กัน - การใช้
strcpy()
กับสตริงที่ซ้อนทับกัน - การ branch โดยอาศัยค่าที่ไม่ได้กำหนดค่าเริ่มต้นไว้
มีรายการสุดท้ายที่ผมยังไม่มั่นใจพอที่จะแก้หนึ่งรายการ เนื่องจากทำให้ผลลัพธ์การตัดคำเปลี่ยนไป เลยทิ้งไว้ก่อน เป็นเรื่องของการ branch โดยอาศัยค่าที่ไม่ได้กำหนดค่าเริ่มต้นไว้
เป็นอันว่า เราได้ swath ที่สามารถปรับพจนานุกรมได้ละ ไว้เดี๋ยวรอย้าย libdatrie1 จาก experimental เข้า unstable ก่อน แล้วจึงย้าย swath ตามมา ระหว่างนี้ ใครสนใจทดสอบก็ลองได้จาก experimental ครับผม
17 ความเห็น:
ณ 11 เมษายน 2552 เวลา 01:57 , Beamer User แถลง…
คอมไพล์ไม่ผ่าน ติด lib บน minGW
ณ 11 เมษายน 2552 เวลา 16:34 , Thep แถลง…
คอมไพล์ libdatrie ไม่ผ่านเหรอครับ? เกี่ยวกับ ld option -version-script หรือเปล่า?
ณ 13 เมษายน 2552 เวลา 02:27 , Beamer User แถลง…
./configure ของตัว libdatrie ยังไม่ผ่านเลยครับ
ผมต้องลงอะไรก่อนหรือเปล่า แต่ตอนนี้ยังไม่ว่างดูรายละเอียด ถ้าคุณเทพมีประสบการณ์แบบด่วน ก็บอกมาได้เลยครับ
ld option -version-script คืออะไร (ผมไม่รู้จริง ๆ นะครับ ไม่ใช่โปรแกรมเมอร์)
ณ 13 เมษายน 2552 เวลา 08:49 , Thep แถลง…
งั้นขอดู error message ของ configure หน่อยนะครับ
ณ 13 เมษายน 2552 เวลา 22:40 , Beamer User แถลง…
libdatrie นะครับ ลงเครื่องที่บ้าน config ผ่าน
แต่ make ไม่ผ่าน ติด
หา langinfo.h, iconv.h ไม่เจอ
ผมจะลองหาทางมั่วเอาเองด้วยครับ
ณ 14 เมษายน 2552 เวลา 16:44 , Thep แถลง…
อืม libc ของ mingw ไม่มี iconv เหรอครับ งั้นเดี๋ยวเพิ่มการรองรับ libiconv ของ GNUส่วน langinfo.h นี่ คิดหนักแฮะ ขอหาทางแก้ดูก่อนครับ
ณ 14 เมษายน 2552 เวลา 21:48 , Thep แถลง…
ผมเพิ่มการรองรับ libiconv ภายนอกใน SVN แล้วนะครับ ใน mingw ก็ต้องดาวน์โหลด GNU libiconv มาคอมไพล์ติดตั้งเองก่อน
แต่ปัญหาเรื่อง langinfo.h นี่ แก้ยากครับ ขอคิดดูก่อน ว่าจะจัดการยังไง
ณ 14 เมษายน 2552 เวลา 23:13 , Thep แถลง…
Update: ผมคิดว่าแก้ได้ละ โดยใช้ฟังก์ชันที่มากับ GNU libiconv นั่นแหละ ลองติดตั้ง GNU libiconv แล้วคอมไพล์จาก tarball นี้ดูนะครับ:
http://linux.thai.net/~thep/tmp/libdatrie-0.2.1svn.tar.gz
ณ 15 เมษายน 2552 เวลา 12:55 , Beamer User แถลง…
จะลองดูครับ
ลง libiconv เนี่ย ต้องลงแบบวนลูป libiconv gettext แล้วก็ libiconv
minGW ไม่มี apt ?
ไว้จะรายงานครับ ได้ไม่ได้
ณ 15 เมษายน 2552 เวลา 15:59 , ไม่ระบุชื่อ แถลง…
ผมลง libdatrie.0.2.1svn บน cygwin สำเร็จ บน minGW ไม่สำเร็จ ไว้ดูทีหลัง
แต่ตอน ./configure ตัว swath มันแจ้งว่า หา datrie-0.2 ไม่เจอนะครับ กำลังหาทางอยู่
ณ 15 เมษายน 2552 เวลา 16:08 , ไม่ระบุชื่อ แถลง…
swath นะครับ มันแจ้งว่า
for DATRIE... configureÖ errorÖ Package requirements (datrie-0.2) were not met:
No package 'datrie-0.2' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix
bla bal
ณ 15 เมษายน 2552 เวลา 21:04 , Thep แถลง…
ตามที่มันบอกครับ ต้องกำหนด environment PKG_CONFIG_PATH ให้ชี้ไปที่พาธที่ไฟล์ datrie-0.2.pc ติดตั้งอยู่ เช่น อาจจะเป็น /usr/local/lib/pkgconfig
แต่ libdatrie กับ mingw อยากทราบว่าติดอะไรบ้างครับ คือผมกำลังจะออก libdatrie รุ่นใหม่น่ะครับ อยากแก้ปัญหากับ mingw ให้เรียบร้อยก่อนถ้าเป็นไปได้
ที่ทำไปกับ mingw32 ใน debian ผมสั่งทำนองนี้:
$ ./configure --host=i586-mingw32msvc CFLAGS="-I/usr/local/i586-mingw32msvc/include" LDFLAGS="-L/usr/local/i586-mingw32msvc/lib"
โดยในที่นี้ผมลง libiconv ให้กับ mingw32 ไว้ที่ /usr/local/i586-mingw32/ ถ้าลงไว้ที่อื่นก็ดัดแปลงเอานะครับ
ตรง "--host=..." นี่ เพื่อทำ cross-compile จากลินุกซ์เพื่อสร้าง object ของ win32 ถ้าสั่งจาก windows อาจไม่ต้องใส่ก็ได้
ณ 15 เมษายน 2552 เวลา 23:20 , ไม่ระบุชื่อ แถลง…
บน cygwin เรียบร้อยไม่มีปัญหาอะไรแล้วครับ
บน MinGW ต้องกับไปทำกับเครื่องที่บ้าน เครื่องที่ทำงานมันเป็นอะไรก็ไม่รู้
รอหน่อยนะครับ
ง่า ไม่มีคนอื่นที่เก่ง ๆ มาแจมมั่งเลยเหรอ หรือเขาย้ายไป linux กันหมดแล้ว
ณ 16 เมษายน 2552 เวลา 13:01 , Beamer User แถลง…
ลง libiconv นะครับ config ผ่านไม่มีปัญหา แต่ พอ make เจอแบบนี้
c -o libiconv.res --output-format=coff
sed: -e expression #2, char 32: Extra characters after command
sed: -e expression #2, char 55: Extra characters after command
sed: -e expression #2, char 78: Extra characters after command
c:\minGW\bin\windres.exe: ./../windows/libiconv.rc:6: syntax error
make[1]: *** [libiconv.res] Error 1
make[1]: Leaving directory `/home/papa/libiconv-1.12/lib'
make: *** [all] Error 2
แก้ไงดีครับ
ณ 18 เมษายน 2552 เวลา 06:43 , ไม่ระบุชื่อ แถลง…
libdatrie ลงผ่านแล้วครับ ติด libiconv ต้องไปเอาที่
http://wiki.videolan.org/Win32CompileMSYS#Iconv_.28GNU_libiconv.29
มาลงถึงจะลงได้
ตอนนี้เหรือ swath ยังลงไม่ได้ pkg-config มันหาไม่เจอ ทั้ง ๆ ที่มี path ก็ถูก
ณ 18 เมษายน 2552 เวลา 10:05 , Thep แถลง…
Sudchai, โอเค ขอบคุณครับ เลยได้เป็นข้อมูลสำหรับผู้ใช้ mingw
สั่ง 'pkg-config --modversion datrie-0.2' แล้วมันฟ้องว่ายังไงครับ? แล้วก็ ตั้ง PKG_CONFIG_PATH ยังไงด้วยครับ
ณ 27 เมษายน 2552 เวลา 10:18 , pp แถลง…
มือใหม่ อิอิ
./configure ของ swath
เจอ error แบบนี้
checking for trietool-0.2... no
configure: error: You need trietool-0.2 (from libdatrie package) to generate dict, or just use --disable-dict to skip
ต้องทำไงอ่ะคะ คือแบบว่า ไม่เคยเล่นมาก่อนเลยอ่ะ
แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)
<< กลับหน้าแรก