Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Midnight Commander на uClinux
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Ivan_Kov
Хотелось бы запустить MC на своем устройстве.
Подскажите, как конфигурировать надо его?
S_agent
Цитата(Ivan_Kov @ Oct 17 2007, 12:08) *
Хотелось бы запустить MC на своем устройстве.
Подскажите, как конфигурировать надо его?


стандартно smile.gif
в опциях конфигуре указать --host, --target , например
./configure -host=armeb-linux --target=armeb
и не забыть прописать путь к компилятору.
З.Ы. для мс нужно ncurses
vshemm
Еще наверно нужно отключить поддержку иксов (чтобы не тянуть библиотеки), ключик --without-x.
А ncurses можно заменить slang (что по дефолту и делается).
Ivan_Kov
Цитата(vshemm @ Oct 17 2007, 13:24) *
Еще наверно нужно отключить поддержку иксов (чтобы не тянуть библиотеки), ключик --without-x.
А ncurses можно заменить slang (что по дефолту и делается).

Скачал исходники MC отсюда http://mc.linuxinside.com/cgi-bin/dir.cgi . Утверждается, что из них убрано все не относящиеся к консоли, т.е. X и glib.


Цитата(S_agent @ Oct 17 2007, 13:14) *
стандартно smile.gif
в опциях конфигуре указать --host, --target , например
./configure -host=armeb-linux --target=armeb
и не забыть прописать путь к компилятору.
З.Ы. для мс нужно ncurses

примерно так я и сделал: ./configure --host=arm-elf --target=armeb
Правда в make.common прописался компилятор gcc, вместо arm-elf-gcc, но ничего я подправил.
компиляция закончилась ошибкой:
CODE

make[2]: Entering directory `/home/ivan/prog/ucLinuxLPC2468/uClinux-dist-20051014/user/mc'
make[3]: Entering directory `/home/ivan/prog/ucLinuxLPC2468/uClinux-dist-20051014/user/mc/intl'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/ivan/prog/ucLinuxLPC2468/uClinux-dist-20051014/user/mc/intl'
make[3]: Entering directory `/home/ivan/prog/ucLinuxLPC2468/uClinux-dist-20051014/user/mc/vfs'
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g local.c
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g vfs.c
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g tar.c
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g names.c
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g container.c
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g extfs.c
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g tcputil.c
tcputil.c: In function `tcp_init':
tcputil.c:257: warning: assignment from incompatible pointer type
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g ftpfs.c
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g mcfs.c
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g utilvfs.c
/bin/rm -f libvfs.a
/usr/bin/ar cr libvfs.a local.o vfs.o tar.o names.o container.o extfs.o tcputil.o ftpfs.o mcfs.o utilvfs.o
ranlib libvfs.a
ok
make mcservx
make[4]: Entering directory `/home/ivan/prog/ucLinuxLPC2468/uClinux-dist-20051014/user/mc/vfs'
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g mcserv.c
ucfront-gcc arm-elf-gcc -c -I.. -I./../vfs -I./.. -I./../slang -I.. -DBINDIR=\""/usr/bin/"\" -DLIBDIR=\""/usr/lib/mc/"\" -DLOCALEDIR=\""/usr/share/locale/"\" -DWANT_PARSE -DHAVE_CONFIG_H -g mad.c
ucfront-gcc arm-elf-gcc -o mcserv mcserv.o tcputil.o mad.o -lcrypt
/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.text+0xc4): In function `__do_global_ctors':
: undefined reference to `__CTOR_LIST__'
/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.data+0x0): undefined reference to `__DTOR_LIST__'
collect2: ld returned 1 exit status
make[4]: *** [mcservx] Ошибка 1
make[4]: Leaving directory `/home/ivan/prog/ucLinuxLPC2468/uClinux-dist-20051014/user/mc/vfs'
make[3]: *** [mcserv] Ошибка 2
make[3]: Leaving directory `/home/ivan/prog/ucLinuxLPC2468/uClinux-dist-20051014/user/mc/vfs'
make[2]: *** [all] Ошибка 1
make[2]: Leaving directory `/home/ivan/prog/ucLinuxLPC2468/uClinux-dist-20051014/user/mc'
make[1]: *** [all] Ошибка 2
make[1]: Leaving directory `/home/ivan/prog/ucLinuxLPC2468/uClinux-dist-20051014/user'
make: *** [subdirs] Ошибка 1

amw
Не знаю, как для uClinux, может и arm-elf, но судя по Вашим опциям, Вы указали компилировать MC для запуска на arm-elf, и создавать результаты для armeb.
Это ВОЗМОЖНО ТОЛЬКО для кросскомпилятора.
Для приложений host = target, либо укажите только target.
vanokuten
Цитата(Ivan_Kov @ Oct 17 2007, 13:12) *
ucfront-gcc arm-elf-gcc -o mcserv mcserv.o tcputil.o mad.o -lcrypt
/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.text+0xc4): In function `__do_global_ctors':
: undefined reference to `__CTOR_LIST__'


Вообще что arm-elfом только linux-kernel и какие нибудь загрузчики типа u-boot / redboot компиляются
а компилять надо или arm-linux-gcc или arm-linux-uclibc-gcc

P.S. и откуда 2.95 компилер в 2007 году взялся? Это как на запорожце ездить.

Best regards,
Ivan
amw
Так и ядро тоже надо компилить arm-linux-gcc.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.