התאמת אפליקציות ל- Centos מתקדם

zahalul

New member
התאמת אפליקציות ל- Centos מתקדם

שלום,
אני משתמש ב- Crosstool-ng ע"מ לבנות toolchain ל- Linux Embedded.
כל התהליך מתבצע על Centos 5.9-32 המחובר לרשת האינטרנט.

כאשר אני מנסה להריץ את ה- toolchain על Centos 6.3-64 אני נתקל בשגיאת Glib.
לעומת זאת, ב- Windows לא קיימת בעיה כזו.
כל אפליקציה שרצה על 32 ביט יכולה לרוץ גם על 64 ביט.

מתי בד"כ משתנה ה- glib בהפצות לינוקס באופן כזה שאינו תואם אחורה ?
האם זה קונספט מובנה של לינוקס ?

תודה מראש,
צהלול.
 

BravoMan

Active member
אני לא מכיר את ה-crosstool-ng אבל:

כדי להריץ יישום שנבנה בקונפיגורציה 32 ביט על מערכת 64 ביט, אתה צריך שיהיו מותקנות ספריות 32 ביט.
Windows לא שונה מהבחינה הזו.
לא זכור לי שם החבילה המדויק ב-CentOS, אבל זה בטח משהו כמו ia32-libs, גגל את זה.
&nbsp
ולגבי הספרייה ספציפית:
האם הבעיה היא עם ספריית C הבסיסית glibc או ספרייה גרפית של GTK שהיא זו שנקראת glib.
אני מניח שהכוונה לראשונה, כי ספק עם toolchain ישתמש בספרייה גרפית.
&nbsp
כעיקרון, יש כל מיני דיון על glibc ושבירת תאימות, אבל אני לא חושב שזה קשור לבעיה שלך.
בכל אופן, ממליץ לגגל וגם לפרסם כאן את השגיאות הספציפיות.
לחלופין, נסה לבנות את ה-toolchain בצורה סטטית, זה אמור לפתור את כל בעיית הספריות.
&nbsp
אגב, נראה לי שלא עבדת עם VS redistibutable, כי זה חתיכת כאב ראש הכי מתומתם שראיתי בחיים שלי!
(כן, קשה לי להתאפק ולא ללכלך על WIndows
)
 

zahalul

New member
הבהרה - שאלתי אינה קשורה ב- Crosstool

תודה על תשובתך.
שאלתי אינה נוגעת דווקא ל- Crosstool כך שאין צורך להכיר מוצר זה.
השאלה מתייחסת באופן כללי לקימפול אפליקציה על תחנת Centos 5.9-32 (או גרסה מוקדמת יותר) והרצה על Centos 6.3-64 (או גרסה מאוחרת יותר).

האם באופן כללי בלינוקס כדאי לבצע Static link עם ה- glib כך שניתן יהיה להריץ על כל מכונה ?
תודה,
צהלול
 

BravoMan

Active member
יש פה כמה שיקולים:

מצד אחד, קימפול סטטי אכן יבטיח תאימות בינארית רחבה יותר, ועשוי לחסוך למשתמש כאבי ראש של התקנת תלויות.
זאת כמובן בהנחה שאתה מפיץ את הכלי בצורה עצמאית, ולא יוצר חבילות מסודרות עבור הפצות שונות (או מעביר אותו למתחזקי ההפצה כדי שהם יצרו חבילות).
&nbsp
מצד שני, לקמפול סטטי יש כמה חסרונות, למשל, היישום לא ייהנה מעדכונים של ספריות שסוגרות פרצות אבטחה או מתקנות באגים (עדכונים כאלה בד"כ לא שוברים תאימות בינארית).
גם מבחינת שטח, היישום עצמו יהיה גדול משמעותית.
&nbsp
שים לב, שבאופן כללי, השיקולים האלה נכונים לא רק ללינוקס אלא לכל מערכת הפעלה.
למקרה הנקודתי שלך, ייתכן מאוד קינמפול סטטי הוא הפתרון (שוב, לא ראיתי את הודעות השגיאה, אז אני מנחש).
&nbsp
במקרים אחרים, מומלץ להחליט פרטנית.
 
למעלה