[英]uClinux “make menuconfig” build error on Ubuntu 18.04
There is quite old uClinux-dist-20080808 with uClinux-dist-20080808-20090112 and uClinux_on_stm32 patches for STM32F10x MCU, as described here AN3012 .有相当古老的 uClinux-dist-20080808和 uClinux-dist-20080808-20090112 和 uClinux_on_stm32 补丁用于STM32F10x MCU,如AN3012所述。
I use Ubuntu 18.04 (inside VirtualBox) to build uClinux and go through AN3012 step-by-step.我使用 Ubuntu 18.04(在 VirtualBox 内)通过 AN3012 逐步构建 uClinux 和 go。
So, I run "make menuconfig", enter settings as shown on page 15 (AN3012) and then exit menu.因此,我运行“make menuconfig”,输入第 15 页 (AN3012) 所示的设置,然后退出菜单。 There are a number of messages in terminal and finally I got this:
终端中有许多消息,最后我得到了这个:
configuration written to.config
配置写入.config
make[ 2]: Leaving directory '/home/maksim/Projects/STM/uClinux-dist/config' make[ 1]: Leaving directory '/home/maksim/Projects/STM/uClinux-dist' make[ 1]: Entering directory '/home/maksim/Projects/STM/uClinux-dist' Makefile:228: *** mixed implicit and normal rules: deprecated syntax
make[2]: 离开目录'/home/maksim/Projects/STM/uClinux-dist/config' make[1]: 离开目录'/home/maksim/Projects/STM/uClinux-dist' make[1]: 进入目录'/home/maksim/Projects/STM/uClinux-dist' Makefile:228: *** 混合隐式和普通规则:不推荐使用的语法
Makefile:245: *** mixed implicit and normal rules: deprecated syntax
Makefile:245:*** 混合隐式和普通规则:不推荐使用的语法
KCONFIG_NOTIMESTAMP=1 make ARCH=arm CROSS_COMPILE=arm-uclinuxeabi- -C linux-2.6.x menuconfig
KCONFIG_NOTIMESTAMP=1 make ARCH=arm CROSS_COMPILE=arm-uclinuxeabi- -C linux-2.6.x menuconfig
make[ 2]: Entering directory '/home/maksim/Projects/STM/uClinux-dist/linux-2.6.x'
make[2]:进入目录'/home/maksim/Projects/STM/uClinux-dist/linux-2.6.x'
Makefile:434: *** mixed implicit and normal rules: deprecated syntax
Makefile:434:*** 混合隐式和普通规则:不推荐使用的语法
Makefile:1563: *** mixed implicit and normal rules: deprecated syntax
Makefile:1563:*** 混合隐式和普通规则:不推荐使用的语法
make[ 2]: *** No rule to make target 'menuconfig'.
make[2]: *** 没有规则来制作目标'menuconfig'。 Stop.
停止。
make[ 2]: Leaving directory '/home/maksim/Projects/STM/uClinux-dist/linux-2.6.x'
make[2]: 离开目录'/home/maksim/Projects/STM/uClinux-dist/linux-2.6.x'
Makefile:183: recipe for target 'linux_menuconfig' failed
Makefile:183:目标“linux_menuconfig”的配方失败
make[ 1]: *** [linux_menuconfig] Error 2
make[1]: *** [linux_menuconfig] 错误 2
make[ 1]: Leaving directory '/home/maksim/Projects/STM/uClinux-dist'
make[1]: 离开目录'/home/maksim/Projects/STM/uClinux-dist'
Makefile:127: recipe for target 'menuconfig' failed make: *** [menuconfig] Error 2
Makefile:127: 目标“menuconfig”的配方失败 make: *** [menuconfig] 错误 2
Please help to understand what is wrong and fix it.请帮助了解问题所在并进行修复。 Many thanks for any help!
非常感谢您的帮助!
Notes for those who want to reproduce the issue:对于那些想要重现该问题的人的注意事项:
1) you need to fix the uCLinux-dist/kconfig/config/zconf.hash.c (insert the snippet below at line 165) 1)您需要修复 uCLinux-dist/kconfig/config/zconf.hash.c(在第 165 行插入下面的代码段)
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
__attribute__ ((__gnu_inline__))
#endif
2) uClinux uClinux-dist-20080808 is available here 2) uClinux uClinux-dist-20080808 在这里可用
3) uClinux-dist-20080808-20090112 patch is available here 3) uClinux-dist-20080808-20090112 补丁在这里可用
4) uClinux_on_stm32 patch is available here here 4) uClinux_on_stm32 补丁在这里可用
The solution is to use older Linux version.解决方案是使用较旧的 Linux版本。 Ubuntu 12.04.5 is OK.
Ubuntu 12.04.5 没问题。
Do not forget to add CodeSourcery /bin folder to PATH.不要忘记将 CodeSourcery /bin 文件夹添加到 PATH。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.