简体   繁体   English

uClinux“make menuconfig”在 Ubuntu 18.04 上构建错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM