На своем компьютере, я использую ОС debian gnu/linux. При компиляции uClinux для STR710 возникли 2 проблемы:
Проблема 1. компилирую в соответствии с указаниями an-2119.pdf: ядро 2.4, uClibc, все настройки – по умолчению. На шаге компиляции «make user_only» возникает ошибка:
gcc -I/usr/include -c -o build/compr_rtime.o compr_rtime.c compr_rtime.c:31: error: syntax error before "uint32_t" compr_rtime.c: In function `jffs2_rtime_compress': compr_rtime.c:39: error: `sourcelen' undeclared (first use in this function) compr_rtime.c:39: error: (Each undeclared identifier is reported only once compr_rtime.c:39: error: for each function it appears in.) compr_rtime.c:39: error: `dstlen' undeclared (first use in this function) compr_rtime.c:43: error: `data_in' undeclared (first use in this function) compr_rtime.c:45: error: `cpage_out' undeclared (first use in this function) compr_rtime.c: At top level: compr_rtime.c:71: error: syntax error before "uint32_t" compr_rtime.c: In function `jffs2_rtime_decompress': compr_rtime.c:79: error: `destlen' undeclared (first use in this function) compr_rtime.c:84: error: `data_in' undeclared (first use in this function) compr_rtime.c:85: error: `cpage_out' undeclared (first use in this function) make[2]: *** [build/compr_rtime.o] ошибка 1 make[2]: Leaving directory `/home/ivan/ucLinux/uClinux-dist/user/mtd-utils' make[1]: *** [all] ошибка 2 make[1]: Leaving directory `/home/ivan/ucLinux/uClinux-dist/user' make: *** [user_only] ошибка 2
В принципе, удалось от нее избавиться, заменив uint32_t на __u32. Но правильный ли это путь?
Проблема 2. Если, при конфигурировании, в ядро добавить gdbserver, то возникает ошибка (make user_only):
arm-elf-gcc -c -O2 -g -fomit-frame-pointer -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED -I/home/ivan/ucLinux/uClinux-dist/lib/uClibc/include -I/home/ivan/ucLinux/uClinux-dist/lib/libm -I/home/ivan/ucLinux/uClinux-dist/lib/libcrypt_old -I/home/ivan/ucLinux/uClinux-dist -fno-builtin -nostartfiles -I/home/ivan/ucLinux/uClinux-dist/linux-2.4.x/include -Ibfd -I./bfd -Igdb -Iinclude -Iconfig -I. gdbreplay.c cc1: warning: -g with -fomit-frame-pointer may not give sensible debugging gdbreplay.c: In function `perror_with_name': gdbreplay.c:58: `sys_nerr' undeclared (first use in this function) gdbreplay.c:58: (Each undeclared identifier is reported only once gdbreplay.c:58: for each function it appears in.) gdbreplay.c:58: `sys_errlist' undeclared (first use in this function) make[2]: *** [gdbreplay.o] ошибка 1 make[2]: Leaving directory `/home/ivan/ucLinux/uClinux-dist/user/gdbserver' make[1]: *** [all] ошибка 2 make[1]: Leaving directory `/home/ivan/ucLinux/uClinux-dist/user' make: *** [user_only] ошибка 2 Подскажите, пожалуйста, как устранить эту проблему.
|