uClinux "make menuconfig" 在 Ubuntu 18.04 上构建错误

uClinux "make menuconfig" build error on Ubuntu 18.04

有相当老的 uClinux-dist-20080808 uClinux-dist-20080808-20090112 和 uClinux_on_stm32 STM32F10x[=39= 的补丁] MCU,如此处所述AN3012

我使用 Ubuntu 18.04(在 VirtualBox 中)构建 uClinux 并逐步完成 AN3012。

所以,我 运行 "make menuconfig",按照第 15 页 (AN3012) 所示输入设置,然后退出菜单。终端中有很多消息,最后我得到了这个:

configuration written to .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

Makefile:245: *** mixed implicit and normal rules: deprecated syntax

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'

Makefile:434: *** mixed implicit and normal rules: deprecated syntax

Makefile:1563: *** mixed implicit and normal rules: deprecated syntax

make[ 2]: *** No rule to make target 'menuconfig'. Stop.

make[ 2]: Leaving directory '/home/maksim/Projects/STM/uClinux-dist/linux-2.6.x'

Makefile:183: recipe for target 'linux_menuconfig' failed

make[ 1]: *** [linux_menuconfig] Error 2

make[ 1]: Leaving directory '/home/maksim/Projects/STM/uClinux-dist'

Makefile:127: recipe for target 'menuconfig' failed make: *** [menuconfig] Error 2

请帮助理解错误并修复它。非常感谢您的帮助!

重现问题的注意事项:

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 可用 here

3) uClinux-dist-20080808-20090112补丁可用here

4) uClinux_on_stm32 补丁可在此处获得 here

解决方案是使用旧的Linux版本。 Ubuntu 12.04.5 可以。

不要忘记将 CodeSourcery /bin 文件夹添加到 PATH。