我在进行openwrt 的源码编译。到了,uboot-envtools 这个包就编译不过了。
提示,错误信息是,ERROR: package/boot/uboot-rockchip failed to build (build variant: rock-pi-e-rk3328).
编译步骤是,
git clone --depth 1 https://github.com/jayanta525/rock-pi-e.git openwrt/
cd openwrt/
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
make -j8 download V=s
make -j1 V=s
下面是,编译的log
make[3]: Entering directory '/home/geniikid/openwrt/openwrt_project/openwrt/package/boot/uboot-envtools' mkdir -p /home/geniikid/openwrt/openwrt_project/openwrt/dl SHELL= flock /home/geniikid/openwrt/openwrt_project/openwrt/tmp/.u-boot-2020.04.tar.bz2.flock -c ' /home/geniikid/openwrt/openwrt_project/openwrt/scripts/download.pl "/home/geniikid/openwrt/openwrt_project/openwrt/dl" "u-boot-2020.04.tar.bz2" "fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372" "" "https://ftp.denx.de/pub/u-boot" "https://mirror.cyberbits.eu/u-boot" "ftp://ftp.denx.de/pub/u-boot" ' mkdir -p /home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/root-rockchip/stamp SHELL= flock /home/geniikid/openwrt/openwrt_project/openwrt/tmp/.root-copy.flock -c 'cp -fpR /home/geniikid/openwrt/openwrt_project/openwrt/build_dir/target-aarch64_generic_musl/u-boot-2020.04/.pkgdir/uboot-envtools/. /home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/root-rockchip/' touch /home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/root-rockchip/stamp/.uboot-envtools_installed echo "uboot-envtools" >> /home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/pkginfo/uboot-envtools.default.install make[3]: Leaving directory '/home/geniikid/openwrt/openwrt_project/openwrt/package/boot/uboot-envtools' time: package/boot/uboot-envtools/compile#0.37#0.53#0.76 make[3]: Entering directory '/home/geniikid/openwrt/openwrt_project/openwrt/package/boot/uboot-rockchip' mkdir -p /home/geniikid/openwrt/openwrt_project/openwrt/dl SHELL= flock /home/geniikid/openwrt/openwrt_project/openwrt/tmp/.u-boot-2021.01.tar.bz2.flock -c ' /home/geniikid/openwrt/openwrt_project/openwrt/scripts/download.pl "/home/geniikid/openwrt/openwrt_project/openwrt/dl" "u-boot-2021.01.tar.bz2" "b407e1510a74e863b8b5cb42a24625344f0e0c2fc7582d8c866bd899367d0454" "" "https://mirror.cyberbits.eu/u-boot" "https://ftp.denx.de/pub/u-boot" "ftp://ftp.denx.de/pub/u-boot" ' rm -f /home/geniikid/openwrt/openwrt_project/openwrt/build_dir/target-aarch64_generic_musl/u-boot-rock-pi-e-rk3328/u-boot-2021.01/.built touch /home/geniikid/openwrt/openwrt_project/openwrt/build_dir/target-aarch64_generic_musl/u-boot-rock-pi-e-rk3328/u-boot-2021.01/.built_check make -C /home/geniikid/openwrt/openwrt_project/openwrt/build_dir/target-aarch64_generic_musl/u-boot-rock-pi-e-rk3328/u-boot-2021.01 CROSS_COMPILE=aarch64-openwrt-linux-musl- DTC="/home/geniikid/openwrt/openwrt_project/openwrt/build_dir/target-aarch64_generic_musl/linux-rockchip_armv8/linux-5.4.89/scripts/dtc/dtc" HOSTCC="gcc" HOSTCFLAGS="-O2 -I/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/host/include -I/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/hostpkg/include -I/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/host/include -I/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/host/include -I/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/hostpkg/include -I/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/host/include -std=gnu11" HOSTLDFLAGS="-L/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/host/lib -L/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/hostpkg/lib -L/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/host/lib" BL31=/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/image/rk3328_bl31.elf make[4]: Entering directory '/home/geniikid/openwrt/openwrt_project/openwrt/build_dir/target-aarch64_generic_musl/u-boot-rock-pi-e-rk3328/u-boot-2021.01' PLAT tpl/dts/dt-platdata.o In file included from include/dm.h:17, from tpl/dts/dt-platdata.c:8: include/dm/platdata.h:63:31: error: static assertion failed: "Cannot use U_BOOT_DEVICE with of-platdata. Please use devicetree instead" #define U_BOOT_DEVICE(__name) _Static_assert(false, \ ^~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:14:1: note: in expansion of macro 'U_BOOT_DEVICE' U_BOOT_DEVICE(syscon_at_ff100000) = { ^~~~~~~~~~~~~ tpl/dts/dt-platdata.c:14:35: error: expected ';' before '=' token U_BOOT_DEVICE(syscon_at_ff100000) = { ^ In file included from include/dm.h:17, from tpl/dts/dt-platdata.c:8: include/dm/platdata.h:63:31: error: static assertion failed: "Cannot use U_BOOT_DEVICE with of-platdata. Please use devicetree instead" #define U_BOOT_DEVICE(__name) _Static_assert(false, \ ^~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:24:1: note: in expansion of macro 'U_BOOT_DEVICE' U_BOOT_DEVICE(clock_controller_at_ff440000) = { ^~~~~~~~~~~~~ tpl/dts/dt-platdata.c:24:45: error: expected ';' before '=' token U_BOOT_DEVICE(clock_controller_at_ff440000) = { ^ tpl/dts/dt-platdata.c:33:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {40}}, ^ tpl/dts/dt-platdata.c:33:5: note: (near initialization for 'dtv_serial_at_ff130000.clocks[0].idx') tpl/dts/dt-platdata.c:33:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:33:5: note: (near initialization for 'dtv_serial_at_ff130000.clocks[0].idx') tpl/dts/dt-platdata.c:34:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {212}},}, ^ tpl/dts/dt-platdata.c:34:5: note: (near initialization for 'dtv_serial_at_ff130000.clocks[1].idx') tpl/dts/dt-platdata.c:34:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:34:5: note: (near initialization for 'dtv_serial_at_ff130000.clocks[1].idx') In file included from include/dm.h:17, from tpl/dts/dt-platdata.c:8: include/dm/platdata.h:63:31: error: static assertion failed: "Cannot use U_BOOT_DEVICE with of-platdata. Please use devicetree instead" #define U_BOOT_DEVICE(__name) _Static_assert(false, \ ^~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:44:1: note: in expansion of macro 'U_BOOT_DEVICE' U_BOOT_DEVICE(serial_at_ff130000) = { ^~~~~~~~~~~~~ tpl/dts/dt-platdata.c:44:35: error: expected ';' before '=' token U_BOOT_DEVICE(serial_at_ff130000) = { ^ tpl/dts/dt-platdata.c:56:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {317}}, ^ tpl/dts/dt-platdata.c:56:5: note: (near initialization for 'dtv_mmc_at_ff500000.clocks[0].idx') tpl/dts/dt-platdata.c:56:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:56:5: note: (near initialization for 'dtv_mmc_at_ff500000.clocks[0].idx') tpl/dts/dt-platdata.c:57:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {33}}, ^ tpl/dts/dt-platdata.c:57:5: note: (near initialization for 'dtv_mmc_at_ff500000.clocks[1].idx') tpl/dts/dt-platdata.c:57:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:57:5: note: (near initialization for 'dtv_mmc_at_ff500000.clocks[1].idx') tpl/dts/dt-platdata.c:58:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {74}}, ^ tpl/dts/dt-platdata.c:58:5: note: (near initialization for 'dtv_mmc_at_ff500000.clocks[2].idx') tpl/dts/dt-platdata.c:58:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:58:5: note: (near initialization for 'dtv_mmc_at_ff500000.clocks[2].idx') tpl/dts/dt-platdata.c:59:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {78}},}, ^ tpl/dts/dt-platdata.c:59:5: note: (near initialization for 'dtv_mmc_at_ff500000.clocks[3].idx') tpl/dts/dt-platdata.c:59:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:59:5: note: (near initialization for 'dtv_mmc_at_ff500000.clocks[3].idx') In file included from include/dm.h:17, from tpl/dts/dt-platdata.c:8: include/dm/platdata.h:63:31: error: static assertion failed: "Cannot use U_BOOT_DEVICE with of-platdata. Please use devicetree instead" #define U_BOOT_DEVICE(__name) _Static_assert(false, \ ^~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:72:1: note: in expansion of macro 'U_BOOT_DEVICE' U_BOOT_DEVICE(mmc_at_ff500000) = { ^~~~~~~~~~~~~ tpl/dts/dt-platdata.c:72:32: error: expected ';' before '=' token U_BOOT_DEVICE(mmc_at_ff500000) = { ^ tpl/dts/dt-platdata.c:82:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {319}}, ^ tpl/dts/dt-platdata.c:82:5: note: (near initialization for 'dtv_mmc_at_ff520000.clocks[0].idx') tpl/dts/dt-platdata.c:82:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:82:5: note: (near initialization for 'dtv_mmc_at_ff520000.clocks[0].idx') tpl/dts/dt-platdata.c:83:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {35}}, ^ tpl/dts/dt-platdata.c:83:5: note: (near initialization for 'dtv_mmc_at_ff520000.clocks[1].idx') tpl/dts/dt-platdata.c:83:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:83:5: note: (near initialization for 'dtv_mmc_at_ff520000.clocks[1].idx') tpl/dts/dt-platdata.c:84:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {76}}, ^ tpl/dts/dt-platdata.c:84:5: note: (near initialization for 'dtv_mmc_at_ff520000.clocks[2].idx') tpl/dts/dt-platdata.c:84:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:84:5: note: (near initialization for 'dtv_mmc_at_ff520000.clocks[2].idx') tpl/dts/dt-platdata.c:85:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {80}},}, ^ tpl/dts/dt-platdata.c:85:5: note: (near initialization for 'dtv_mmc_at_ff520000.clocks[3].idx') tpl/dts/dt-platdata.c:85:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:85:5: note: (near initialization for 'dtv_mmc_at_ff520000.clocks[3].idx') In file included from include/dm.h:17, from tpl/dts/dt-platdata.c:8: include/dm/platdata.h:63:31: error: static assertion failed: "Cannot use U_BOOT_DEVICE with of-platdata. Please use devicetree instead" #define U_BOOT_DEVICE(__name) _Static_assert(false, \ ^~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:101:1: note: in expansion of macro 'U_BOOT_DEVICE' U_BOOT_DEVICE(mmc_at_ff520000) = { ^~~~~~~~~~~~~ tpl/dts/dt-platdata.c:101:32: error: expected ';' before '=' token U_BOOT_DEVICE(mmc_at_ff520000) = { ^ In file included from include/dm.h:17, from tpl/dts/dt-platdata.c:8: include/dm/platdata.h:63:31: error: static assertion failed: "Cannot use U_BOOT_DEVICE with of-platdata. Please use devicetree instead" #define U_BOOT_DEVICE(__name) _Static_assert(false, \ ^~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:111:1: note: in expansion of macro 'U_BOOT_DEVICE' U_BOOT_DEVICE(pinctrl) = { ^~~~~~~~~~~~~ tpl/dts/dt-platdata.c:111:24: error: expected ';' before '=' token U_BOOT_DEVICE(pinctrl) = { ^ tpl/dts/dt-platdata.c:119:5: warning: initialization of 'unsigned int' from 'const struct dtd_rockchip_rk3328_cru *' makes integer from pointer without a cast [-Wint-conversion] {&dtv_clock_controller_at_ff440000, {200}},}, ^ tpl/dts/dt-platdata.c:119:5: note: (near initialization for 'dtv_gpio0_at_ff210000.clocks[0].idx') tpl/dts/dt-platdata.c:119:5: error: initializer element is not computable at load time tpl/dts/dt-platdata.c:119:5: note: (near initialization for 'dtv_gpio0_at_ff210000.clocks[0].idx') In file included from include/dm.h:17, from tpl/dts/dt-platdata.c:8: include/dm/platdata.h:63:31: error: static assertion failed: "Cannot use U_BOOT_DEVICE with of-platdata. Please use devicetree instead" #define U_BOOT_DEVICE(__name) _Static_assert(false, \ ^~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:125:1: note: in expansion of macro 'U_BOOT_DEVICE' U_BOOT_DEVICE(gpio0_at_ff210000) = { ^~~~~~~~~~~~~ tpl/dts/dt-platdata.c:125:34: error: expected ';' before '=' token U_BOOT_DEVICE(gpio0_at_ff210000) = { ^ In file included from include/dm.h:17, from tpl/dts/dt-platdata.c:8: include/dm/platdata.h:63:31: error: static assertion failed: "Cannot use U_BOOT_DEVICE with of-platdata. Please use devicetree instead" #define U_BOOT_DEVICE(__name) _Static_assert(false, \ ^~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:142:1: note: in expansion of macro 'U_BOOT_DEVICE' U_BOOT_DEVICE(sdmmc_regulator) = { ^~~~~~~~~~~~~ tpl/dts/dt-platdata.c:142:32: error: expected ';' before '=' token U_BOOT_DEVICE(sdmmc_regulator) = { ^ In file included from include/dm.h:17, from tpl/dts/dt-platdata.c:8: include/dm/platdata.h:63:31: error: static assertion failed: "Cannot use U_BOOT_DEVICE with of-platdata. Please use devicetree instead" #define U_BOOT_DEVICE(__name) _Static_assert(false, \ ^~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:177:1: note: in expansion of macro 'U_BOOT_DEVICE' U_BOOT_DEVICE(dmc) = { ^~~~~~~~~~~~~ tpl/dts/dt-platdata.c:177:20: error: expected ';' before '=' token U_BOOT_DEVICE(dmc) = { ^ tpl/dts/dt-platdata.c:148:45: warning: 'dtv_dmc' defined but not used [-Wunused-const-variable=] static const struct dtd_rockchip_rk3328_dmc dtv_dmc = { ^~~~~~~ tpl/dts/dt-platdata.c:131:41: warning: 'dtv_sdmmc_regulator' defined but not used [-Wunused-const-variable=] static const struct dtd_regulator_fixed dtv_sdmmc_regulator = { ^~~~~~~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:117:44: warning: 'dtv_gpio0_at_ff210000' defined but not used [-Wunused-const-variable=] static const struct dtd_rockchip_gpio_bank dtv_gpio0_at_ff210000 = { ^~~~~~~~~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:107:49: warning: 'dtv_pinctrl' defined but not used [-Wunused-const-variable=] static const struct dtd_rockchip_rk3328_pinctrl dtv_pinctrl = { ^~~~~~~~~~~ tpl/dts/dt-platdata.c:78:49: warning: 'dtv_mmc_at_ff520000' defined but not used [-Wunused-const-variable=] static const struct dtd_rockchip_rk3328_dw_mshc dtv_mmc_at_ff520000 = { ^~~~~~~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:50:49: warning: 'dtv_mmc_at_ff500000' defined but not used [-Wunused-const-variable=] static const struct dtd_rockchip_rk3328_dw_mshc dtv_mmc_at_ff500000 = { ^~~~~~~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:30:46: warning: 'dtv_serial_at_ff130000' defined but not used [-Wunused-const-variable=] static const struct dtd_rockchip_rk3328_uart dtv_serial_at_ff130000 = { ^~~~~~~~~~~~~~~~~~~~~~ tpl/dts/dt-platdata.c:11:45: warning: 'dtv_syscon_at_ff100000' defined but not used [-Wunused-const-variable=] static const struct dtd_rockchip_rk3328_grf dtv_syscon_at_ff100000 = { ^~~~~~~~~~~~~~~~~~~~~~ scripts/Makefile.spl:318: recipe for target 'tpl/dts/dt-platdata.o' failed make[5]: *** [tpl/dts/dt-platdata.o] Error 1 Makefile:1946: recipe for target 'tpl/u-boot-tpl.bin' failed make[4]: *** [tpl/u-boot-tpl.bin] Error 2 make[4]: Leaving directory '/home/geniikid/openwrt/openwrt_project/openwrt/build_dir/target-aarch64_generic_musl/u-boot-rock-pi-e-rk3328/u-boot-2021.01' Makefile:106: recipe for target '/home/geniikid/openwrt/openwrt_project/openwrt/build_dir/target-aarch64_generic_musl/u-boot-rock-pi-e-rk3328/u-boot-2021.01/.built' failed make[3]: *** [/home/geniikid/openwrt/openwrt_project/openwrt/build_dir/target-aarch64_generic_musl/u-boot-rock-pi-e-rk3328/u-boot-2021.01/.built] Error 2 make[3]: Leaving directory '/home/geniikid/openwrt/openwrt_project/openwrt/package/boot/uboot-rockchip' time: package/boot/uboot-rockchip/rock-pi-e-rk3328/compile#2.11#4.71#7.24 ERROR: package/boot/uboot-rockchip failed to build (build variant: rock-pi-e-rk3328). package/Makefile:112: recipe for target 'package/boot/uboot-rockchip/compile' failed make[2]: *** [package/boot/uboot-rockchip/compile] Error 1 make[2]: Leaving directory '/home/geniikid/openwrt/openwrt_project/openwrt' package/Makefile:108: recipe for target '/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/stamp/.package_compile' failed make[1]: *** [/home/geniikid/openwrt/openwrt_project/openwrt/staging_dir/target-aarch64_generic_musl/stamp/.package_compile] Error 2 make[1]: Leaving directory '/home/geniikid/openwrt/openwrt_project/openwrt' /home/geniikid/openwrt/openwrt_project/openwrt/include/toplevel.mk:232: recipe for target 'world' failed make: *** [world] Error 2