אני OpenSolaris,‏ VirtualBox והרבה כאב ראש...

ב־10.1.2009, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, פיתוח, תכנה ומחשבים, CppCMS; ‏0 תגובות

החלטתי לבדוק את CppCMS על מערכות הפעלה נוספות מלבד Linux, לכן, החלטתי להתקין OpenSolaris על VirtaulBox. אני מזהיר מראש, הסיפור של CppCMS כאן הוא מינורי --- התיקונים האמתיים שקשורים ל־OpenSolaris לקחו בדיוק 5 דקות, ש־4 מתוכן היו קומפילצייה של הקוד מחדש.

ובכן, נתחיל -- החלטתי להתקין OpenSolaris. כהרגלי, הורדתי LiveCD עדכני, הפעלתי VirtualBox ו־... גיליתי ש־OpenSolaris לא עולה. גיגלתי, בדקתי, הבנתי שצריך לעדכן גרסת VB. בסדר, לא מסובך נעשה.

בשלב הבא, כשההתקנה הושלמה, גיליתי שאין לי אינטרנט, חיפשתי גיגלתי, שיחקתי עם דרייברים ועם מודולים, ifup/down שיניתי הגדרות "חומרה וירטואלית" --- nada, אין אינטרנט... אחרי עוד מספר שעות בגוגל, גיליתי שאני חייב לעשות 2 אתחולים של מחשב וירטואלי לאחר התקנה כדי שהאינטרנט יעבוד(?!)

אכן, בשלב מסוים, הוא התחיל לעבוד, אבל, אחרי עוד אתחול הוא מת... בלי סיכויי להחייאה -- כנראה הרסתי משהו במשחקים קודמים.

אז, התקנתי OpenSolaris מחדש ו... לא כאן לא נגמרו בעיות

החלטתי שאני אעשה בדיקה רחבה ל־CppCMS ובנוסף לבדיקת מערכת הפעלה אני אבדוק גם קומפיילר חילופי --- SunStudio. סימנתי במנהל החבילות את מה שאני צריך והתחלתי להוריד 700MB מהשרתים האיטיים להפליא של הפרויקט.

השארתי את VB עם Solaris לרוץ במשך הלילה ומצאתי בבוקר מחשב מת... לא, מי שמת זה לא Solaris אלא Linux. ככל הנראה VirtualBox הצליח להקריס אותו (בסה"כ יש לו מודול בקרנל).

אז החלטתי לוותר על התענוג של עבודה עם Sun Studio והורדתי רק GNU Toolchain. זה היה כבר הרבה יותר סביר במימדי הזמן... אחרי שהתקנתי את הבסיס: gcc,‏ svn ו־autotools גיליתי שמאגרי OpenSolaris ריקים להפליא: אין חבילות fastcgi, אין Boost (שבא כחלק של כל הפצת לינוקס ואפילו Cygwin)...

אז לקחתי קוד מקור של Boost 1.36.0 והתחלתי לקמפל. הקימפול לקח נצח ובסופו של דבר ההתקנה כללה רק קבצי header! לעזאזל, מה קורה פה!

אחרי קריאת הוראות התקנה מחדש ומצאתי אפשרות לסמן ספריות שאני רוצה לבנות (גם בדרך־לא־דרך שלא ממש תואמת הוראות). למרות שהקימפול הסתיים, ספריות דינאמיות לא נבנו בגלל איזושהי שגיאה בהגדרות Boost-Jam... אחרי גיגול קצר ראיתי שיש טלאי שמאפשר לתקן את זה.

בשלב הזה, החלטתי "די!" --- ספריות סטטיות מספיק טובות לבדיקות שלי (בינתיים)

אחר כך, בניתי את התלויות החשובות ביותר: cgicc ו־fastcgi והבנתי שאני אוהב autotools כי הכל עבד כשורה. כנ"ל בנייה והתקנה של lighttpd הייתה פשוטה וטריוויאלית.

אז, עשיתי checkout של קוד המקור והרצתי autogen.sh... מסתבר שב־OS אין automake כפישהו -- יש automake-1.9 או automake-1.10... צריך לבחור במפורש! (הם שמעו אי פעם על alternatives?)... טוב, זה היה קל. תיקן קצר והפעלתי.

בסופו של התהליך מצאתי כמה בעיות קטנות שקשורות באמת ל־OpenSolaris שאותן תיקנתי תוך מספר דקות והצלחתי להריץ hello world של CppCMS גם על OpenSolaris. כך ש־CppCMS, לאט אבל בטוח הופכת לבלתי תלויה בפלטפורמה!

אני רק תוהה: "כמה זמן יקח לי לבנות CppCMS על FreeBSD?"

הוסף תגובה:

 
 כתובת דוא"ל לא תוצג
 

ניתן לכתוב תגובות עם שימוש בתחביר Markdown.

חובה לאפשר JavaScript כדי להגיב.

דפים

נושאים