קימפול קובץ

קימפול קובץ

שלום לכולם
אני עובד על מערכת עם 64 ביט ומנסה לקמפל קובץ שיעבוד לערכת עם 32 ביט
אז לפי מה שאני יודע
אני צריך להוסיף את הדגל הבא : -m32 ל- gcc
אולם כאשר אני עושה זאת נזרקת לי השגיאה הבאה

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status


מיותר לציין שכאשר אני מבצע make clean ומשנה את הדגל ל- m64
זה מתקמפל חלק

למישהו יש מושג למה זה קורה ?

בתודה מראש
 

kitt

New member
תבדוק מה קורה אם אתה מוסיף לפני ה configure

API=32. אם זה לא עוזר אתה יכול להיעזר בחלק ה CLFS של linux from scratch.
 
אני לא מבין

על מה אתה מדבר אין לי ידע נרחב ב-linux
אם תוכל להפנות אותי לנושא שמדבר על זה אני אשמח
תודה
 

kitt

New member
כאשר אתה מקמפל אתה מריץ את הפקודה configure

עם ערימת סוויצ'ים. לפניה רשום API=32 ואז תמשיך את רישום הפקודה וקמפל שוב את הGCC.
 
תודה אבל עדיין לא מובן

שאני מקמפל אני מבצע make אם זה מחביא בתוכו configure לא יודע

אם זה רלוונטי


CC = g++
DEPEND = g++ -MM
CCOPT = -Wall -W -Wno-sign-compare -ansi -pedantic -O3 -Wno-deprecated
RELEASEOPT = -Wall -W -Wno-sign-compare -ansi -pedantic -DNDEBUG -O3 -m32 -Wno-deprecated
LINKOPT =

release-search: $(RELEASE_OBJECTS)
$(CC) $(RELEASEOPT) $(RELEASE_OBJECTS:%=obj/%) \
-o release-search



זה החלק הרלוונטי ב- makefile
אם אני אשנה את הדגל ב- RELEASEOPT ל- -m64 הכל מקומפל יופי ואין בעיות



תודה רבה על הסבלנות
 
האמת לגבי גרסה אני לא ממש יודע

אני חושב שזה על קומבונטו החדשה - אבל לא סגור על זה
 

BravoMan

Active member
תכתוב במסוף:

uname -a

ותדביק כאן את מה שיצא.

אם אכן מדובר באחת מגרסאות Ubuntu / Kubntu או נגזרות אחרות, עליך להתקין את החבילה המתאימה כך:

sudo apt-get install ia32-libs-multiarch
 
למעלה