Theppitak's blog

My personal blog.

09 เมษายน 2552

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 , Blogger Beamer User แถลง…

    คอมไพล์ไม่ผ่าน ติด lib บน minGW

     
  • 11 เมษายน 2552 16:34 , Blogger Thep แถลง…

    คอมไพล์ libdatrie ไม่ผ่านเหรอครับ? เกี่ยวกับ ld option -version-script หรือเปล่า?

     
  • 13 เมษายน 2552 02:27 , Blogger Beamer User แถลง…

    ./configure ของตัว libdatrie ยังไม่ผ่านเลยครับ

    ผมต้องลงอะไรก่อนหรือเปล่า แต่ตอนนี้ยังไม่ว่างดูรายละเอียด ถ้าคุณเทพมีประสบการณ์แบบด่วน ก็บอกมาได้เลยครับ

    ld option -version-script คืออะไร (ผมไม่รู้จริง ๆ นะครับ ไม่ใช่โปรแกรมเมอร์)

     
  • 13 เมษายน 2552 08:49 , Blogger Thep แถลง…

    งั้นขอดู error message ของ configure หน่อยนะครับ

     
  • 13 เมษายน 2552 22:40 , Blogger Beamer User แถลง…

    libdatrie นะครับ ลงเครื่องที่บ้าน config ผ่าน
    แต่ make ไม่ผ่าน ติด
    หา langinfo.h, iconv.h ไม่เจอ

    ผมจะลองหาทางมั่วเอาเองด้วยครับ

     
  • 14 เมษายน 2552 16:44 , Blogger Thep แถลง…

    อืม libc ของ mingw ไม่มี iconv เหรอครับ งั้นเดี๋ยวเพิ่มการรองรับ libiconv ของ GNUส่วน langinfo.h นี่ คิดหนักแฮะ ขอหาทางแก้ดูก่อนครับ

     
  • 14 เมษายน 2552 21:48 , Blogger Thep แถลง…

    ผมเพิ่มการรองรับ libiconv ภายนอกใน SVN แล้วนะครับ ใน mingw ก็ต้องดาวน์โหลด GNU libiconv มาคอมไพล์ติดตั้งเองก่อน

    แต่ปัญหาเรื่อง langinfo.h นี่ แก้ยากครับ ขอคิดดูก่อน ว่าจะจัดการยังไง

     
  • 14 เมษายน 2552 23:13 , Blogger Thep แถลง…

    Update: ผมคิดว่าแก้ได้ละ โดยใช้ฟังก์ชันที่มากับ GNU libiconv นั่นแหละ ลองติดตั้ง GNU libiconv แล้วคอมไพล์จาก tarball นี้ดูนะครับ:

    http://linux.thai.net/~thep/tmp/libdatrie-0.2.1svn.tar.gz

     
  • 15 เมษายน 2552 12:55 , Blogger Beamer User แถลง…

    จะลองดูครับ

    ลง libiconv เนี่ย ต้องลงแบบวนลูป libiconv gettext แล้วก็ libiconv

    minGW ไม่มี apt ?

    ไว้จะรายงานครับ ได้ไม่ได้

     
  • 15 เมษายน 2552 15:59 , Blogger Sudchai แถลง…

    ผมลง libdatrie.0.2.1svn บน cygwin สำเร็จ บน minGW ไม่สำเร็จ ไว้ดูทีหลัง

    แต่ตอน ./configure ตัว swath มันแจ้งว่า หา datrie-0.2 ไม่เจอนะครับ กำลังหาทางอยู่

     
  • 15 เมษายน 2552 16:08 , Blogger Sudchai แถลง…

    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 , Blogger 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 , Blogger Sudchai แถลง…

    บน cygwin เรียบร้อยไม่มีปัญหาอะไรแล้วครับ

    บน MinGW ต้องกับไปทำกับเครื่องที่บ้าน เครื่องที่ทำงานมันเป็นอะไรก็ไม่รู้

    รอหน่อยนะครับ

    ง่า ไม่มีคนอื่นที่เก่ง ๆ มาแจมมั่งเลยเหรอ หรือเขาย้ายไป linux กันหมดแล้ว

     
  • 16 เมษายน 2552 13:01 , Blogger 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 , Blogger Sudchai แถลง…

    libdatrie ลงผ่านแล้วครับ ติด libiconv ต้องไปเอาที่
    http://wiki.videolan.org/Win32CompileMSYS#Iconv_.28GNU_libiconv.29

    มาลงถึงจะลงได้

    ตอนนี้เหรือ swath ยังลงไม่ได้ pkg-config มันหาไม่เจอ ทั้ง ๆ ที่มี path ก็ถูก

     
  • 18 เมษายน 2552 10:05 , Blogger Thep แถลง…

    Sudchai, โอเค ขอบคุณครับ เลยได้เป็นข้อมูลสำหรับผู้ใช้ mingw

    สั่ง 'pkg-config --modversion datrie-0.2' แล้วมันฟ้องว่ายังไงครับ? แล้วก็ ตั้ง PKG_CONFIG_PATH ยังไงด้วยครับ

     
  • 27 เมษายน 2552 10:18 , Blogger 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 วัน)

<< กลับหน้าแรก

hacker emblem