[Rozw.]Problem z kroskompilacją.

Problemy dotyczące programowania.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
bojleros
Użytkownik
Posty: 785
Rejestracja: 2005-08-29, 11:12
Lokalizacja: z widokem na familoki :)

[Rozw.]Problem z kroskompilacją.

Post autor: bojleros »

Mam przerobiony router linksys. Chciałem zobaczyć czy dam radę skompilować na niego jakiś program którego mógłbym używać. Stworzyłem sobie, za pomocą crosstool, toolchain do architektury mips (siedzi w /mips). Programy typu "hello world" kompilują się a po wysłaniu na router działają bez zarzutu. Chciałem skompilować coś większego . Padło na ekg. Zabrałem się wiec za kompilacje minimalnych zależności.

Kod: Zaznacz cały

#ustawiłem takie zmienne
echo $CFLAGS
-Os -mips32 -I/mips/include -I/mips/mipsel-unknown-linux-gnu/include -I/mips-builds/include
echo $CXXFLAGS
-Os -mips32 -I/mips/include -I/mips/mipsel-unknown-linux-gnu/include -I/mips-builds/include
echo $LDFLAGS
-L/mips/lib -L/mips/mipsel-unknown-linux-gnu/lib -L/mips-builds/lib

Kod: Zaznacz cały

cd $libtool_src
./configure --build=mipsel-unknown-linux-gnu --prefix=/mips && make && make install

cd $ncurses_src
./configure --prefix=/mips-builds --host=mipsel-unknown-linux-gnu --with-normal --enable-symlinks --without-debug --without-profile --without-ada --program-suffix="" --program-prefix="" && make &&make install
Po wykonaniu tych poleceń w /mips-builds/include/ncurses pojawiają się pliki nagłówkowe. W odpowiednich miejscach pojawiają się takrze biblioteki ncurses dla mipsa. Przechodzę więc do konfiguracji ekg:

Kod: Zaznacz cały

cd $ekg_src
./configure --prefix=/mips-builds --host=mipsel-unknown-linux-gnu --enable-static
Niestety ./configure ciągle wypluwa mi błąd :

Kod: Zaznacz cały

checking ncurses.h usability... no
checking ncurses.h presence... no
checking for ncurses.h... no
checking ncurses/ncurses.h usability... yes
checking ncurses/ncurses.h presence... no
configure: WARNING: ncurses/ncurses.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: ncurses/ncurses.h: proceeding with the compiler's result
checking for ncurses/ncurses.h... yes
checking for initscr in -lncurses... no
checking for initscr in -lcurses... no
configure: error: You need ncurses and ncurses-devel packages.
Próbowałem już podawać do configure opcję --with-ncurses=.. lecz to nie zmienia nic.
Nie wiem co dalej z tym zrobić. Czy ktoś mógłby mnie nakierować na rozwiązanie problemu ?? Gdyby brakowało informacji to dajcie znać a je dodam.

PS. Całą operację wykonuję na slackware więc proszę nie pisać że to nie to forum :)

Z góry dziękuje za pomoc.
Ostatnio zmieniony 2008-09-14, 13:44 przez bojleros, łącznie zmieniany 1 raz.
Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

Re: [Rozw.]Problem z kroskompilacją.

Post autor: difrost »

A zaglądałeś do config.log?
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
Awatar użytkownika
bojleros
Użytkownik
Posty: 785
Rejestracja: 2005-08-29, 11:12
Lokalizacja: z widokem na familoki :)

Re: [Rozw.]Problem z kroskompilacją.

Post autor: bojleros »

Dzięki za wskazówkę. Dowiedziałem się ze ./configure się sypie z powodu braku openssl. Wyłączyłem je więc odpowiednim parametrem. Ekg się kompiluje. Na końcu pojawia się jeden warnig odnośnie konieczności przekopiowania bibliotek glibc na maszynę na której będzie używana binarka. Obecnie mam trochę cienko z czasem dlatego postaram się rozwinąć post w najbliższej przyszłości. Jeszcze raz dziękuje !

[ Dodano: 2008-09-14, 14:43 ]
Chciałem podziękować za pomoc. Udało mi się skompilować ekg2 i ncurses przy użyciu toolchaina z kamikaze openwrt. EKG2 włącza się lecz niestety po wydaniu polecenia 'connect' wywiesza mi się razem z powłoką. Pewnie brakuje ramu bo mój WRT54GL ma go tylko 16MB. Pomysł zarzucony ;)
ODPOWIEDZ