การติดตั้ง Lazarus แบบ Subversion บน Windows

  • Blog ตอนก่อนผมเขียนเรื่องติดตั้ง lazarus แบบ subversion บน linux ละเอียดพอสมควร ติดค้างเรื่องติดตั้ง lazarus บนวินโดส์ และก็เหมือนเดิมผมยังแนะนำให้ใช้ subversion เหมือนบนลินุกซ์ จะได้ version ที่ update ตลอด ไม่ต้องห่วงเรื่อง bug แก้ไขได้เร็วพอสมควร
  • เป้าหมายการติดตั้งของ lazarus แบบ subversion ของเราจะอยู่ที่ fpc 2.5.1 และ lazarus อยู่ที่เวอร์ชั่น 0.9.29 beta

Lazarus บน Windows ติดตั้งด้วย subversion

สิ่งที่ต้องเตรียมก่อนจะติดตั้ง Lazarus

  1. Download โปรแกรม Subversion สำหรับ Window ชื่อ TortoiseSVN ที่ http://tortoisesvn.net/downloads มีทั้งเวอร์ชั้น 32 bit และ 64  bit
  2. Download Free pascal(fpc) ที่ build เป็นไบนารีพร้อมจะติดตั้ง มาเรียบร้อยแล้วที่ ftp://ftp.freepascal.org/pub/fpc/dist/i386-win32-2.2.2/fpc-2.2.2.i386-win32.exe ก็เหมือนใน linux เวลาเราดาวน์โหลด freepascal และ lazarus แบบ subversion จะได้ source code มาทั้งดุ้น จะคอมไพล์ก็ทำไม่ได้เนื่องจากไม่มีไฟล์ไบนารีของ fpc.exe, ppc386.exe, … มาคอมไพล์ จึงต้องดาวน์โหลดตัวเก่าคือ fpc v.2.2.2 มาติดตั้งก่อน เมื่อคอมไพล์ source code ของ fpc แบบ subversion ผ่าน เราจะได้ไฟล์ไบนารี  fpc เวอร์ชั่น 2.5.1 (ในขณะที่เขียนอยู่) ที่พร้อมจะนำไปคอมไพล์ source code แทนที่ fpc เวอร์ชั่นเดิม
  3. ทำการติดตั้ง TortoiseSVN และ fpc
  4. ร้างโฟลเดอร์สำหรับ source code ของ fpc และ lazarus ผมเองสร้างโฟลเดอร์ fpcsvn และ lazarussvn อยู่ใต้โฟลเดอร์ D:/Sourcecodes/Lazarus/ ก็คือ D:/Sourcecodes/Lazarus/fpcsvn และ D:/Sourcecodes/Lazarus/lazarussvn

การใช้ TortoiseSVN เพื่อดาวน์โหลด fpc และ lazarus

  • ใช้ Explorer เข้าไปที่โฟลเดอร์ที่เราสร้างไว้ เช่นที่ผมกล่าวไว้ข้างต้น คลิกขวาที่โฟลเดอร์ fpcsvn ก่อน แล้วคลิกที่ SVN Checkout… ดังรูปด้านล่าง
  • ตรง URL of repository  ป้อน http://svn.freepascal.org/svn/fpc/trunk fpc ตรง Checkout directory ป้อนโฟลเดอร์ที่จะใช้เก็บ fpc svn จากนั้นคลิก OK

 

เรียกโปรแกรม TortoiseSVN

 

  • โปรแกรม TortoiseSVN จะเริ่มดาวน์โหลด fpc svn ดังรูปด้านล่าง
้ป้อน URL ของ fpc svn
ป้อน URL ของ fpc svn
  • รอนานพอสมควรประมาณ 37 นาทีเมื่อได้ source code ของ fpc svn ครบ จากรูปด้านล่าง จะเห็นหมายเลข revision คือ 13842 (r13842) เราก็คลิกที่ OK เพื่อออกมา
ดาวน์โหลด fpc svn เสร็จสิ้น
ดาวน์โหลด fpc svn เสร็จสิ้น
  • เราจะทิ้งโฟลเดอร์ fpcsvn ไว้ก่อนเราจะมาต่อที่ lazarus เช่นเดียวกันที่นี้คลิกขวาที่โฟลเดอร์ของ lazarussvn แล้วเลือกจากป๊อปอัพเมนู “SVN Checkout…”  ป้อน URL of repository เป็น
  • คลิกที่ OK โปรแกรม TortoiseSVN จะเริ่มตรวจสอบและดาวน์โหลด lazarus svn ให้เราดังรูปด้านล่าง
Checkout and download lazarus svn.
Checkout and download lazarus svn.
  • เมื่อ TortoiseSVN ดาวน์โหลด source code ไฟล์ subversion มาให้ครบทั้ง fpc และ lazarus แล้ว เราจะเริ่มคอมไพล์ จะเริ่มจาก fpc ก่อน

คอมไพล์ fpc ก่อน

  • เราจะมาใช้ไฟล์ไบนารีของ fpc version 2.2.2 ที่เราดาวน์โหลดมาก่อนหน้าแล้วติดตั้งไปแล้ว เพื่อความแน่ใจเราใช้ Windows Explorer เปิดดูโฟลเดอร์ C:\fpc\2.2.2\bin\i386-win32 และตรวจดูไฟล์มีไฟล์ fpc.cfg หรือไม่ เป็นไฟล์ที่สำคัญมากสำหรับการคอมไพล์ lazarus ให้สำเร็จในเวลาต่อไป ตรวจดูจะเห็นไบนารีเช่น fp.exe, fpc.exe, ppc386.exe,…
โฟลเดอร์ fpc เวอร์ชั่น 2.2.2
โฟลเดอร์ fpc เวอร์ชั่น 2.2.2
  • การคอมไพล์จะต้องทำใน command line ซึ่งไม่ยากอยู่แล้วสำหรับโปรแกรมเมอร์ทั้งสมัครเล่นและอาชีพ ผมจะลดวิธีการอ้าง path ในวินโดส์ ซึ่งไม่มีอะไรวิธีการก็ง่ายๆ เริ่มด้วยการคลิกที่เมนู Start > Run… > พิมพ์ cmd กด Enter พิมพ์คำสั่งเพื่อเปลี่ยนโฟลเดอร์ดังรูปด้านล่าง

 

เปลี่ยนโฟลเดอร์ไปที่ fpc v.2.2.2

  • ที่ command line เราจะสลับ drive ไปที่โฟลเดอร์ที่เก็บ fpc svn โดยที่อย่าเปลี่ยน path ของ drive c: ที่เก็บ fpc อย่างเด็ดขาด พิมพ์คำสั่งเปลี่ยนไป drive d: และเริ่มคอมไพล์ ดังรูปด้านล่าง

 

เปลี่ยน drive ทำการคอมไพล์ fpc svn

  • ไม่มีปัญหาอะไร การคอมไพล์จะเริ่มขึ้น ดังรูปข้างล่าง การคอมไพล์ fpc บนวินโดส์จะช้ากว่าบน linux เล็กน้อย
คอมไพล์ fpc svn
ภาพตัวอย่างตอนคอมไพล์ fpc svn


  • เมื่อคอมไพล์ fpc svn เสร็จแล้วด้วยคำสั่ง make clean all ที่กล่าวไปข้างต้น เราจะ install ด้วยคำสั่ง c:make install (ไม่ลืมว่าตอนนี้อิงคำสั่งจาก drive c: ที่เราเปิดพาธของ c:\fpc\2.2.2\bin\i386-win32 อยู่)
make install
make install
  • เมื่อ make install เราจะได้โฟลเดอร์ที่ถูกสร้างขณะ install มาให้อัตโนมัติคือ โฟลเดอร์ pp จะอยู่ที่ drive d: => d:\pp มีโฟลเดอร์ย่อยอยู่หลายโฟลเดอร์ รวมทั้งไฟล์ไบนารีคอมไพเลอร์ (โฟลเดอร์ pp จะขึ้นอยู่กับ drive ของ fpc svn ถ้าอยู่ drive e: เมื่อ compile & install จะสร้างโฟลเดอร์ที่ drive e: ให้เป็น e:\pp)
โฟลเดอร์ที่ได้จากการ make install
โฟลเดอร์ที่ได้จากการ make install

ไม่ต้อง Uninstall fpc เวอร์ชั่นเก่า

  • ในวินโดส์จะต่างจาก linux อยู่คือไฟล์ไบนารี make จะมาพร้อมกับ OS เลย แต่ในวินโดส์ถ้าผู้ใช้ไม่ได้ติดตั้งคอมไพเลอร์ตัวใดตัวหนึ่งเช่น Visual Studio, Delphi จะไม่มีไฟล์ make.exe ให้ใช้งาน ถ้าเรา uninstall fpc ตัวเก่าออก ไฟล์ make.exe จะหายไปด้วย เราจะไม่ uninstall แต่จะใช้วิธี copy วิธีปฏิบัติเปิด windows explorer ที่โฟลเดอร์ d:\pp copy โฟลเดอร์ภายใต้โฟลเดอร์ pp (รูปข้างบนมีโฟลเดอร์ bin, doc, examples, msg, units) ไป paste ทับโฟลเดอร์ c:\fpc\2.2.2\ โดยใช้ windows explorer
  • เมื่อ paste ทับโฟลเดอร์ c:\fpc\2.2.2\  ตอบ Overwrite all ที่นี้ภายใต้โฟลเดอร์ fpc จะมี binary ไฟล์ที่เป็น fpc.exe, fp.exe, ppc386.exe ซึ่งเป็นเวอร์ชั่นใหม่พร้อมใช้งาน) ลอง double click ppc386.exe จะแสดงเวอร์ชั่นบน dos box ดังรูปด้านล่าง
ตรวจสอบเวอร์ชั่นของ ppc386.exe
ตรวจสอบเวอร์ชั่นของ ppc386.exe
  • จากรูปด้านบนจะเห็นเป็นเวอร์ชั่น fpc version 2.5.1 พร้อมไปต่อได้ ขั้นต่อไปเราจะหักเอาด้วยกำลังโดยการเปลี่ยนชื่อโฟลเดอร์จาก c:\fpc\2.2.2 เปลี่ยนเป็น c:\fpc\2.5.1 เมื่อเปลี่ยนชื่อโฟลเดอร์แล้ว ขั้นต่อไปจะเข้าไปแก้ไขไฟล์ fpc.cfg แล้วค่อยทำการ compile lazarus svn (อย่าลืมว่าอนาคตถ้า fpc เปลีียนเวอร์ชั่น เช่นเปลีียนไปเป็น 2.7.1 ก็ให้มาเปลี่ยนชื่อโฟลเดอร์จาก 2.5.1 เป็น 2.7.1)

แก้ไขไฟล์ fpc.cfg เพื่อคอมไพล์ lazarus

  • ในการคอมไพล์ lazarus svn ต้องการไฟล์ไบนารีและ units ของ fpc กุญแจสำคัญคือไฟล์ fpc.cfg ที่เก็บอยู่ในโฟลเดอร์ c:\fpc\2.5.1\bin\i386-win32

ตรวจสและแก้ไขไฟล์ fpc.cfg

  • จากรูปด้านบนผมเปิด fpc.cfg ด้วย Notepad++ ซึ่งเป็นฟรีแวร์ที่ใช้ดีมาก ผมแนะนำให้แก้ไขไฟล์ ด้วยการเปลี่ยนคำว่า 2.2.2 เป็น 2.5.1 ให้หมด (ใช้เมนู replace… )
แก้ไขไฟล์ fpc.cfg ให้อ้างอิง fpc เวอร์ชั่นใหม่
แก้ไขไฟล์ fpc.cfg ให้อ้างอิง fpc เวอร์ชั่นใหม่
  • ในการคอมไพล์ lazarus จะมองหา unit ของ fpc โดยที่ lazarus จะอ่านจาก fpc.cfg ซึ่งจะเห็นโฟลเดอร์ที่อ้างถึง units ที่อยู่ในโฟลเดอร์ c:\FPC\2.5.1\units\i386-win32  ($FPCTARGET จะแทน i386-win32 ในวินโดส์)

คอมไพล์ lazarus svn

  • ใช้วิธีการเหมือนคอมไพล์ fpc เปิด dos box ด้วย Start > Run… > cmd พิมพ์คำสั่งดังนี้
คอมไพล์ lazarus svn
คอมไพล์ lazarus svn
  • ถ้าไฟล์ fpc.cfg แก้ไขได้ถูกต้อง lazarus หาไฟล์ไบนารีและ units ได้ กระบวนการคอมไพล์จะเริ่มจนจบ จากนั้นต่อด้วยคำสั่ง c:make install

 

คำสั่ง make install สำหรับ lazarus svn

 

  • คำสั่ง make install จะ copy file ที่ได้จากการ compile & build จาก lazarus svn (d:\sourcecodes\lazarus\lazarussvn) เข้าไปที่ c:\lazarus\ ใช้เวลานานพอสมควรเนื่องจากมีไฟล์เป็นจำนวนมาก

Start lazarus

  • หลังจากที่รอกันมานานถ้ามาถึงขั้นนี้ความสำเร็จประมาณ 90% แล้ว เปิด windows explorer ไปที่  c:\lazarus\ มองหาไฟล์ startlazarus.exe แล้ว double click เพื่อรันได้เลย คลิกที่เมนู Help > About เพื่อดูเลข revision
lazarus แรกบนวินโดส์
lazarus แรกบนวินโดส์

การตั้งค่าให้ lazarus

  • เราจะมาตั้งค่าให้กับ lazarus ก่อนจะติดตั้ง component เพิ่มเติม ที่เมนเมนูคลิกที่ Environment > Options… ที่พาเนลด้านซ้ายคลิกที่ Environment ดูเรื่อง path ให้ดี จะมีที่สำคัญคือที่ผมเน้นไว้ ตรง Compiler path ก็เลือกพาธของ fpc ที่ FPC source directory ก็เลือกที่ที่เราติดตั้ง lazarussvn ก็คือ d:\sourcecodes\lazarus\lazarussvn แล้วก็ Make path ดูภาพด้านล่างประกอบ
ตั้งค่า path ให้ lazarus
ตั้งค่า path ให้ lazarus
  • จากไดอะล็อกรูปข้างบน ที่พาเนลด้านซ้ายคลิกไปที่ Debugger ตั้งค่าดังรูปด้านล่าง
ตั้งค่า Debugger
ตั้งค่า Debugger

Rebuild lazarus

  • เราจะทำการ rebuild เพื่อทดสอบว่าเราตั้งค่าต่างๆที่กล่าวมาแล้วว่าถูกต้องแล้วหรือยัง ถ้าถูกต้องการ rebuild ก็จะผ่าน ที่เมนเมนูคลิกที่ Tools > Configure “Build Lazarus…”

 

Rebuild lazarus

  • จากรูปด้านบนผมเลือกจะไม่ติดตั้ง Examples เพราะโอกาส fail สูงมาก เมื่อเลือกได้ดังรูปก็คลิกที่ Build ต่อ จากนั้นรออีกไม่นานโปรแกรม Lazarus ก็จะเริ่มมาใหม่

การติดตั้ง Component เพิ่มเติม

  • การติดตั้ง component เพิ่มเติมจากโฟลเดอร์ c:\lazarus\components ผมจะทดสอบโดยการติดตั้ง component “tdbf” ที่เมนเมนูคลิกที่ Package > Open package file (.lpk)… ไปที่ c:\lazarus\components\tdbf เลือกไฟล์ dbflaz.lpk คลิก Open จะเห็นไดอะล็อกดังรูปข้างล่าง
การติดตั้ง component เพิ่มเติมให้ lazarus
การติดตั้ง component เพิ่มเติมให้ lazarus
  • อย่าเพิ่งรีบคลิกที่ Install ให้คลิกที่ Compiler Options ก่อนจะพบไดอะล็อก ดังรูปข้างล่าง ตั้งค่า

การตั้งค่า OS Platform และ CPU Platform

  • จากรูปข้างบนที่พาเนลด้านซ้ายคลิกที่ Code จากนั้นเลือก Target OS (-T) เป็น Win32 เลือก Target CPU family (-P) เป็น i386 ถ้าไม่ได้ตั้งค่าการ Install component จะ fail ทันที่เสร็จแล้วคลิกที่ OK และจากไดอะล็อกก่อนหน้านี้ให้คลิกที่ Install เพื่อ lazarus จะได้ compile & rebuild จะเห็น component “tdbf” โผล่มาที่ palette ของ Data Access จากรูปจะเห็น component ที่ผมติดตั้งเพิ่ม SQLdb และคอมโพเน็นท์ของผมเอง OpenGPSX

 

Additional components

  • ถ้าการติดตั้ง component เพิ่มเติมไม่มีปัญหา ก็สามารถนำ lazarus ไปพัฒนาโปรแกรม cross-platform ได้เลย

 

การ Update fpc และ lazarus ด้วย TortoiseSVN

  • การใช้ lazarus แบบ subversion สามารถจะ update ได้ทุกๆวันด้วย TortoiseSVN แต่ไม่จำเป็นเพราะการคอมไพล์จะใช้เวลามาก ผมเองจะ update ประมาณอาทิตย์ละครั้ง การ update ทำได้โดยเปิด windows explorer ที่โฟลเดอร์เราเก็บ svn คือ d:\sourcecodes\lazarus\ คลิกขวาที่โฟลเดอร์ fpcsvn และ lazarussvn เลือกใช้เมนู SVN Update… เมื่อได้ source code ที่ update แล้วก็เริ่มกระบวนการคอมไพล์ ที่ผมกล่าวมาแล้วข้างต้นจาก make clean all => make install

ปัญหาของ make install เมื่อ write permission denied

  • เมื่อทำการ build ด้วยคำสั่ง make install จะพบปัญหาว่าไม่สามารถเขียนไฟล์ได้เนื่องจาก permission denied ปัญหานี้จะพบในวินโดส์ไม่พบใน linux เพราะสิทธิ์ของผู้ดูแลระบบใน linux จะชัดเจน
  • วิธีการแก้ปัญหาถ้า make install ของ fpc svn ไม่ผ่านเนื่อง write permission denied ดูว่า source code ของ fpc svn อยู่ไหนเช่นอยู่ drive d: ให้ใช้ windows explorer ลบโฟลเดอร์ d:\pp ทิ้ง แล้วรัน make install ใหม่
  • วิธีการแก้ไขถ้า make install ของ lazarus svn ไม่ผ่านเนื่องจาก write permission denied ใ้ห้ลบโฟลเดอร์ c:\lazarus ทิ้งไปเลย ทำการรัน make install ใหม่
  • ผมนึกว่าการติดตั้งแบบ Subversion บน Windows น่าจะสั้นกว่าใน Linux แต่มีอะไรให้เขียนมากพอสมควรก็เลยยาวเหยียดกว่า แต่อย่างไรก็ตาม ถ้ามีโปรแกรมเมอร์ใช้ lazarus พัฒนาโปรแกรมกันมากๆ ชุมชน lazarus ก็จะใหญ่ขึ้น สุดท้ายจะมีคนเข้าไปช่วยพัฒนากันมากขึ้น lazarus ก็จะแข็งแกร่งขึ้นด้วยร่วมด้วยช่วยกันนี่แหละครับ และก็น่าภูมิใจเพราะเป็นของฟรีตามหลัก Opensource

3 thoughts on “การติดตั้ง Lazarus แบบ Subversion บน Windows”

  1. ขอบคุณครับ ที่เขียน Review อย่างละเีอียด ลองทำตามแล้ว ไม่ยุ่งยากเลยครับ

    โอกาสหน้า ช่วย Review การเขียนบน wince ให้ด้วยนะครับ

    1. wince นี้ยังไม่ได้ทดลองเลยครับ ถ้ามีโอกาสก็จะลองดูครับ

Leave a Reply

Your email address will not be published. Required fields are marked *