build_mips/makedevs-host/makedevs.c:366:6: 错误: 变量‘ret’被设定但未被使用 [-Werror=unused-but-set-variable]

本文详细介绍了在Ubuntu 12.04上遇到的MIPS工具链编译错误,并提供了解决方案。重点讨论了在gcc版本4.6.3下,makedevs.c文件中关于变量ret被设定但未被使用的错误,通过修改return语句,成功解决了问题。

64位ubuntu 12.04编译mips工具链 出错:build_mips/makedevs-host/makedevs.c:366:6: 错误: 变量‘ret’被设定但未被使用 [-Werror=unused-but-set-variable]

makedevs.c 中:

return 0;==》return ret;


ubuntu gcc version:     gcc 版本 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 

我按照你的指示进行了修复,改完报错如下:ERROR: please fix package/tp_package/lte/Makefile - see logs/package/tp_package/lte/dump.txt for details ERROR: please fix package/tp_package/lib/libsdm/Makefile - see logs/package/tp_package/lib/libsdm/dump.txt for details Collecting package info: done AMS: buildams.config and ams.config updated from local nvmp_artifact make[1]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp' TOOLS_BACKUP_OPEN, TOOLS_BACKUP_FILE_NOT_EXISTED, TOOLS_COMPILE. make[2]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp' + mkdir -p /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1 + cd /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1 + mkdir -p bin lib include stamp mkdir -p /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/stamp touch /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/.prepared + mkdir -p /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host + cd /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host + mkdir -p bin lib include stamp mkdir -p /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/stamp /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/sys install -m0644 /home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/include/*.h /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/ install -m0644 /home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/include/sys/*.h /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/sys/ ln -sf lib /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib64 touch /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/.prepared make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/m4' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/m4' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/m4' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/m4' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/sed' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/sed' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/sed' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/sed' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/autoconf' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/autoconf' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/autoconf' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/autoconf' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/pkg-config' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/pkg-config' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/pkg-config' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/pkg-config' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/xz' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/xz' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/xz' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/xz' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/automake' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/automake' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/automake' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/automake' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/missing-macros' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/missing-macros' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/missing-macros' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/missing-macros' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/libtool' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/libtool' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/libtool' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/libtool' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/flex' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/flex' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/flex' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/flex' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/bison' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/bison' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/bison' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/bison' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/mklibs' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/mklibs' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/mklibs' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/mklibs' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/sstrip' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/sstrip' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/sstrip' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/sstrip' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/ipkg-utils' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/ipkg-utils' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/ipkg-utils' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/ipkg-utils' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/genext2fs' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/genext2fs' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/genext2fs' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/genext2fs' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/e2fsprogs' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/e2fsprogs' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/e2fsprogs' make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/e2fsprogs' make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/mtd-utils' make -C /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib CFLAGS="-O2 -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/e2fsprogs -fgnu89-inline -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/include -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5 -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib -DNO_NATIVE_SUPPORT" LDFLAGS="-L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib " WITHOUT_LZO=1 WITHOUT_XATTR=1 LZMA_STATIC_LIB="/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib/liblzma.a" SUBDIRS="" BUILDDIR="/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5" TARGETS="libmtd.a libcrc32.a" LIBS="libmtd libcrc32" make[4]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib' mkdir -p /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/ gcc -I../include -D_FILE_OFFSET_BITS=64 -O2 -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/e2fsprogs -fgnu89-inline -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/include -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5 -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib -DNO_NATIVE_SUPPORT -c -o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libmtd.o libmtd.c -g -Wp,-MD,/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/.libmtd.c.dep libmtd.c: In function 'dev_node2num': libmtd.c:444:7: warning: implicit declaration of function 'major' [-Wimplicit-function-declaration] 444 | ma = major(st.st_rdev); | ^~~~~ libmtd.c:445:7: warning: implicit declaration of function 'minor' [-Wimplicit-function-declaration] 445 | mi = minor(st.st_rdev); | ^~~~~ libmtd.c: In function 'mtd_get_dev_info1': libmtd.c:741:46: warning: passing argument 3 of 'dev_read_data' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers] 741 | ret = dev_read_data(lib->mtd_name, mtd_num, &mtd->name, | ^~~~~~~~~~ libmtd.c:182:63: note: expected 'void *' but argument is of type 'const char (*)[128]' 182 | static int dev_read_data(const char *patt, int mtd_num, void *buf, int buf_len) | ~~~~~~^~~ libmtd.c:747:46: warning: passing argument 3 of 'dev_read_data' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers] 747 | ret = dev_read_data(lib->mtd_type, mtd_num, &mtd->type_str, | ^~~~~~~~~~~~~~ libmtd.c:182:63: note: expected 'void *' but argument is of type 'const char (*)[65]' 182 | static int dev_read_data(const char *patt, int mtd_num, void *buf, int buf_len) | ~~~~~~^~~ ar crv /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libmtd.a /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libmtd.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libmtd_legacy.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libcrc32.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libfec.o r - /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libmtd.o r - /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libmtd_legacy.o r - /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libcrc32.o r - /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libfec.o ranlib /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libmtd.a make[4]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib' make -C /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5 CFLAGS="-O2 -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/e2fsprogs -fgnu89-inline -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/include -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5 -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib -DNO_NATIVE_SUPPORT" LDFLAGS="-L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib " WITHOUT_LZO=1 WITHOUT_XATTR=1 LZMA_STATIC_LIB="/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib/liblzma.a" SUBDIRS="" BUILDDIR="/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5" TARGETS=mkfs.jffs2 make[4]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5' d=lib_all; \ t=`echo $d | sed s:.*_::` d=`echo $d | sed s:_.*::`; \ make BUILDDIR=/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/$d -C $d $t make[5]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib' gcc -I../include -D_FILE_OFFSET_BITS=64 -O2 -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/e2fsprogs -fgnu89-inline -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/include -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5 -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib -DNO_NATIVE_SUPPORT -c -o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libmtd.o libmtd.c -g -Wp,-MD,/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/.libmtd.c.dep libmtd.c: In function 'dev_node2num': libmtd.c:444:7: warning: implicit declaration of function 'major' [-Wimplicit-function-declaration] 444 | ma = major(st.st_rdev); | ^~~~~ libmtd.c:445:7: warning: implicit declaration of function 'minor' [-Wimplicit-function-declaration] 445 | mi = minor(st.st_rdev); | ^~~~~ libmtd.c: In function 'mtd_get_dev_info1': libmtd.c:741:46: warning: passing argument 3 of 'dev_read_data' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers] 741 | ret = dev_read_data(lib->mtd_name, mtd_num, &mtd->name, | ^~~~~~~~~~ libmtd.c:182:63: note: expected 'void *' but argument is of type 'const char (*)[128]' 182 | static int dev_read_data(const char *patt, int mtd_num, void *buf, int buf_len) | ~~~~~~^~~ libmtd.c:747:46: warning: passing argument 3 of 'dev_read_data' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers] 747 | ret = dev_read_data(lib->mtd_type, mtd_num, &mtd->type_str, | ^~~~~~~~~~~~~~ libmtd.c:182:63: note: expected 'void *' but argument is of type 'const char (*)[65]' 182 | static int dev_read_data(const char *patt, int mtd_num, void *buf, int buf_len) | ~~~~~~^~~ ar crv /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libmtd.a /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libmtd.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libmtd_legacy.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libcrc32.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libfec.o r - /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libmtd.o r - /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libmtd_legacy.o r - /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libcrc32.o r - /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libfec.o ranlib /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libmtd.a make[5]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib' gcc -O2 -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/e2fsprogs -fgnu89-inline -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/include -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5 -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib -DNO_NATIVE_SUPPORT -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib -g -o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2 /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib/libmtd.a /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/compr_rtime.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/compr_zlib.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/compr_lzma.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lzma/LzFind.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lzma/LzmaEnc.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lzma/LzmaDec.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/compr.o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/rbtree.o -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib -lmtd -lz /usr/bin/ld: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.o: in function `write_special_file': /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.c:972: undefined reference to `major' /usr/bin/ld: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.c:972: undefined reference to `minor' /usr/bin/ld: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.o: in function `recursive_populate_directory': /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.c:1301: undefined reference to `minor' /usr/bin/ld: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.c:1301: undefined reference to `major' /usr/bin/ld: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.c:1291: undefined reference to `minor' /usr/bin/ld: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.c:1291: undefined reference to `major' /usr/bin/ld: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.o: in function `interpret_table_entry': /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.c:484: undefined reference to `makedev' /usr/bin/ld: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.c:531: undefined reference to `makedev' /usr/bin/ld: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2.c:538: undefined reference to `makedev' collect2: error: ld returned 1 exit status make[4]: *** [common.mk:54: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/mkfs.jffs2] Error 1 make[4]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5' make[3]: *** [Makefile:70: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/.built] Error 2 make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/mtd-utils' make[2]: *** [tools/Makefile:237: tools/mtd-utils/compile] Error 2 make[2]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp' make[1]: *** [tools/Makefile:201: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/stamp/.tools_install_nnnnn] Error 2 make[1]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp' make: *** [/home/wuyilun/Desktop/NVMP/NVMP/nvmp/include/toplevel.mk:279: world] Error 2
08-19
make[3]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/mtd-utils' make -C /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib CFLAGS="-O2 -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/e2fsprogs -fgnu89-inline -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/include -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5 -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib -DNO_NATIVE_SUPPORT" LDFLAGS="-L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib " WITHOUT_LZO=1 WITHOUT_XATTR=1 LZMA_STATIC_LIB="/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib/liblzma.a" SUBDIRS="" BUILDDIR="/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5" TARGETS="libmtd.a libcrc32.a" LIBS="libmtd libcrc32" make[4]: Entering directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib' mkdir -p /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/ gcc -I../include -D_FILE_OFFSET_BITS=64 -O2 -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/include/e2fsprogs -fgnu89-inline -I/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/include -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5 -L/home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/host/lib -DNO_NATIVE_SUPPORT -c -o /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libmtd.o libmtd.c -g -Wp,-MD,/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/.libmtd.c.dep libmtd.c: In function 'dev_node2num': libmtd.c:444:10: error: called object 'major' is not a function or function pointer 444 | major = major(st.st_rdev); | ^~~~~ libmtd.c:432:9: note: declared here 432 | int i, major, minor; | ^~~~~ libmtd.c:445:10: error: called object 'minor' is not a function or function pointer 445 | minor = minor(st.st_rdev); | ^~~~~ libmtd.c:432:16: note: declared here 432 | int i, major, minor; | ^~~~~ libmtd.c: In function 'mtd_get_dev_info1': libmtd.c:741:46: warning: passing argument 3 of 'dev_read_data' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers] 741 | ret = dev_read_data(lib->mtd_name, mtd_num, &mtd->name, | ^~~~~~~~~~ libmtd.c:182:63: note: expected 'void *' but argument is of type 'const char (*)[128]' 182 | static int dev_read_data(const char *patt, int mtd_num, void *buf, int buf_len) | ~~~~~~^~~ libmtd.c:747:46: warning: passing argument 3 of 'dev_read_data' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers] 747 | ret = dev_read_data(lib->mtd_type, mtd_num, &mtd->type_str, | ^~~~~~~~~~~~~~ libmtd.c:182:63: note: expected 'void *' but argument is of type 'const char (*)[65]' 182 | static int dev_read_data(const char *patt, int mtd_num, void *buf, int buf_len) | ~~~~~~^~~ libmtd.c: In function 'mtd_probe_node': libmtd.c:1320:10: error: called object 'major' is not a function or function pointer 1320 | major = major(st.st_rdev); | ^~~~~ libmtd.c:1308:9: note: declared here 1308 | int i, major, minor; | ^~~~~ libmtd.c:1321:10: error: called object 'minor' is not a function or function pointer 1321 | minor = minor(st.st_rdev); | ^~~~~ libmtd.c:1308:16: note: declared here 1308 | int i, major, minor; | ^~~~~ make[4]: *** [../common.mk:63: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/libmtd.o] Error 1 make[4]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/lib' make[3]: *** [Makefile:69: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/build_dir/host/mtd-utils-1.4.5/.built] Error 2 make[3]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp/tools/mtd-utils' make[2]: *** [tools/Makefile:237: tools/mtd-utils/compile] Error 2 make[2]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp' make[1]: *** [tools/Makefile:201: /home/wuyilun/Desktop/NVMP/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/stamp/.tools_install_nnnnn] Error 2 make[1]: Leaving directory '/home/wuyilun/Desktop/NVMP/NVMP/nvmp' make: *** [/home/wuyilun/Desktop/NVMP/NVMP/nvmp/include/toplevel.mk:279: world] Error 2
08-19
./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/NEWS: mips*-linux-gnu configuration by passing --with-float=soft to ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/NEWS: + --with-float=soft, which tells GCC to use software floating ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/NEWS: + --with-float=hard, which tells GCC to use hardware floating ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/INSTALL/configure.html:<dt><code>--with-float=<var>type</var></code></dt> ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/rs6000/option-defaults.h: --with-float is ignored if -mhard-float or -msoft-float are ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/mips/mips.h: --with-float is ignored if -mhard-float or -msoft-float are ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/powerpcspe/option-defaults.h: --with-float is ignored if -mhard-float or -msoft-float are ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/sparc/sol2.h: --with-float is ignored if -mhard-float, -msoft-float, -mfpu, or -mno-fpu ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/sparc/linux64.h: --with-float is ignored if -mhard-float, -msoft-float, -mfpu, or -mno-fpu ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/sparc/sparc.h: --with-float is ignored if -mhard-float, -msoft-float, -mfpu, or -mno-fpu ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/arm/t-rmprofile:# --with-cpu, --with-fpu, --with-float, --with-mode have their default ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/arm/t-multilib:# --with-cpu, --with-fpu, --with-float, --with-mode have their default ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/arm/t-aprofile:# assumes --with-arch, --with-cpu, --with-fpu, --with-float, --with-mode ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config/arm/arm.h: --with-float is ignored if -mfloat-abi is specified. ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/ChangeLog-2004: * config.gcc: Add with_fpu. Allow with-float=softfp. ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/ChangeLog-2017: * config.gcc (arm*-*-linux*): When configured with --with-float=hard ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/ChangeLog-2017: or --with-float=softfp, set the default CPU to arm10e. ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config.gcc:# Infer a default setting for --with-float. ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config.gcc: echo "Unknown floating point type used in --with-float=$with_float" 1>&2 ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config.gcc: # with-arch, with-mode, with-fpu or with-float ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config.gcc: echo "Unknown floating point type used in --with-float=$with_float" 1>&2 ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config.gcc: # process --with-float ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config.gcc: echo "Cannot accept --with-float=$with_float, available values are: soft hard" 1>&2 ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/config.gcc: echo "Unknown floating point type used in --with-float=$with_float" 1>&2 ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/ChangeLog-2003: --with-float. Check for legal values of various options. ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/ChangeLog-2003: --with-float. ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/gcc/doc/install.texi:@itemx --with-float=@var{type}
最新发布
11-08
你运行的命令: ```bash grep -r "with-float" ./build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/gcc-8.4.0/ ``` 输出了大量与 `--with-float` 参数相关的信息,这些是 GCC 源码中与浮点配置有关的定义和文档说明。 --- ### 🔍 信息分析 这些文件内容说明了以下几点: - `--with-float=soft`:表示使用软件浮点运算(软浮点)。 - `--with-float=hard`:表示使用硬件浮点运算(硬浮点)。 - 多数架构(如 MIPS、ARM32、PowerPC)支持这个参数- 某些架构(如 ARM)中,如果使用 `-mfloat-abi=xxx` 参数,`--with-float` 会被忽略。 - 在 aarch64(ARM64)架构下,`--with-float` **通常不被支持**,因为浮点运算由硬件默认支持。 --- ### ❗关键问题 如果你在构建 OpenWrt/aarch64 工具链时看到类似错误: ``` Valid --with options are: abi cpu arch ``` 这说明你传入了不支持的 `--with-float` 参数,而 aarch64 的 GCC configure 脚本不接受它。 --- ### ✅ 解决方法 #### 1. 查找 OpenWrt 中配置 GCC 的文件: ```bash find . -name "config-*.in" -o -name "Makefile" | xargs grep -l "with-float" ``` 常见路径: - `toolchain/gcc/config-8.4.0.in` - `toolchain/gcc/Makefile` #### 2. 删除或注释掉 `--with-float=xxx` 行: 例如: ```makefile # --with-float=hard ``` #### 3. 清理工具链缓存并重新编译: ```bash make toolchain/clean rm -rf build_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl-1.2.4_eabi/ make toolchain/gcc/initial/compile V=99 ``` --- ### ✅ 额外建议 - 使用 `make menuconfig` 查看是否有浮点相关选项(如 `TOOLCHAIN_FLOAT`)。 - 确保你没有手动在 `target.mk` 或 `toolchain/` 目录下的文件中添加了 `--with-float`。 - 如果你使用的是厂商 SDK(如 Omada、Ubiquiti 等),请检查是否有 SDK 自带的配置启用了该参数--- ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值