ได้รับมอบหมายจากอาจารย์ (จริงๆ เสนอตัวเข้าไปทำเอง) ให้ทำการจัดเตรียมระบบ Linux เพื่อประกอบการเรียนการสอนที่จำเป็นต้องใช้โปรแกรม flex
และ bison
งานแรกคือเลือกว่าจะเอา Linux ตัวไหนมาใช้ดี ผมเคยใช้ Mandrake (Mandriva ในปัจจุบัน), Fedora Core เหมือนจะเคยแตะๆ Suse ด้วย แต่สุดท้ายผมก็เลือก Ubuntu เนื่องจากอยากลอง
ลองติดตั้ง Ubuntu เสร็จ ก็ค่อนข้างประทับใจมัน ติดตั้งโน่นติดตั้งนี่ อ้าวมีการแนะนำด้วยว่าควรจะลงอะไรเพิ่มดี ผมก็ลง flex
และ bison
ตามที่ได้รับคำสั่ง เสร็จแล้วลองใช้งาน gcc
อืม ติดตั้งมาแล้วใช้ได้เลย คงไม่มีปัญหาอะไรแล้วมั้ง ก็จัดการนำระบบส่งเข้าเครื่องในห้องปฏิบัติการเลย ตอนนั้นก็เหมือนจะไม่มีอะไรแล้ว (ตอนนี้เอา 8.10 มาเล่นแล้ว และพบว่ายังมีปัญหากับ VMware นิดหน่อยจึงยังไม่นำไปอัพตามให้กับของที่เคยเตรียมไว้)
วันนี้ ผมนึกครึ้มอยากจะแนะนำเพื่อนๆ ที่ไม่เคยเล่นของพวกนี้ให้ลองเล่นดู ก็เลยลากเพื่อนเข้า Lab ไปลองเล่นกัน พอลองให้เขียน Hello World ด้วยภาษา C เท่านั้นแหละเกิดเรื่องเลย
#include <stdio.h>
int main(int argc, char** argv) {
printf("Hello world\n");
return 0;
}
ปัญหาที่พบคือ
- ทำไม
vi
มันลบข้อความที่พิมพ์ไปไม่ได้ (จริงๆ มันลบได้ แต่บนหน้าจอมันแสดงผลไม่ถูกอย่างที่ควรจะเป็น - ทำไม
gcc
มันไม่รู้จักstdio.h
ล่ะ?
โชคดีที่มีพี่คนหนึ่งช่วยหาคำตอบให้ ทำให้พบว่า แค่ gcc
มันไม่พอ ผมยังไม่ได้ติดตั้ง Library ที่จำเป็นสำหรับการ Compile โปรแกรมนั่นเอง สิ่งที่พี่เขาหาคำตอบมาให้คือ ต้องติดตั้ง build-essential
ลงไปด้วยจึงจะ Build ตัว Hello World ผ่าน
แล้ว vi
ล่ะ? อันนี้ผมลองมั่วๆ (จริงๆ หาไม่เจอ) ลองติดตั้ง vim
(จริงๆ มันก็มีอยู่แล้วนะ แต่ในตัว Package Manager บอกว่ามันยังไม่ได้ติดตั้ง) ลงไปอีก ปรากฏว่าอาการที่เกิดขึ้นหายไป
นี่ยังโชคดีที่วันทดสอบ เจอปัญหา วันที่ต้องใช้งานจริงเจอปัญหานี่ไม่รู้จะเอาหน้าไปมุดที่ไหนเลย