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。
有相当老的 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。