编译内核(linux-2.4.19)时遇到的问题-make dep
2007-06-12 19:10
615 查看
这几天在琢磨在cygwin下升级内核的事,就先从官网上下了个源码实验下。果然问题不少哦……
由于是pxa的板子,打过补丁后,还运行了下面的命令
# make clean
# make ARCH=arm CROSS_COMPILE=arm-linux- mrproper
# make ARCH=arm CROSS_COMPILE=arm-linux- lubbock_config
# make oldconfig
#make dep
make dep时,卡住了
------------------------------------------------------------------------------------------------------------------------
make[1]: Nothing to be done for `dep'.
make[1]: Leaving directory `/linux-2.4.19/arch/arm/boot'
scripts/mkdep -- init/*.c > .depend
scripts/mkdep -- `find /linux-2.4.19/include/asm /linux-2.4.19/include/linux /li
nux-2.4.19/include/scsi /linux-2.4.19/include/net /linux-2.4.19/include/math-emu
-name SCCS -prune -o -follow -name /*.h ! -name modversions.h -print` > .hdepen
d
/bin/sh: scripts/mkdep: Argument list too long
make: *** [dep-files] Error 126
-------------------------------------------------------------------------------------------------------------------------
记得以前遇到过这种问题,那次是因为把目录的linux-2.4.19的文件夹名命名过长,改短后就好了。
这次不知道为什么了,在网络上游荡了半天,大多不是说文件名长,就是说路径名长,把路径改短了也没有效果。
最后解决问题,依靠的是这个邮件内容:http://www.uclinux.org/pub/uClinux/archive/10545.html
-------------------------------------------------------------------------------------------------------------------------
David -
I screwed up. My statement about the broken rule is not valid; it is
probably a leftover thought before I figured out sh.exe needs to be
symbolically linked to bash.exe in Cygwin. This morning I tested both
uClinux-dist-20020502 and uClinux-dist-20020701 on both Cygwin
1.3.10/Win2000 and Red Hat 7.3.
There are no issues under Red Hat 7.3 with either distribution of
uClinux-dist. 'make dep' runs fine.
Under Cygwin 1.3.10, however, the 'dep-files' rule in
uClinux-dist/linux-2.4.x/Makefile still causes problems because of the
reverse (`) single quotes. Vertical (') single quotes fixes the issue.
This is the case in both distributions. Here's the error with the reverse
(`) single quotes.
make -C linux-2.4.x dep
make[1]: Entering directory `/home/Administrator/uClinux-dist/linux-2.4.x'
unset GCC_EXEC_PREFIX; gcc -Wall -Wstrict-prototypes -O2
-fomit-frame-pointer -o scripts/mkdep scripts/mkdep.c
scripts/mkdep -- init/*.c > .depend
scripts/mkdep -- `find
/home/Administrator/uClinux-dist/linux-2.4.x/include/asm
/home/Administrator/uClinux-dist/linux-2.4.x/include/linux
/home/Administrator/uClinux-dist/linux-2.4.x/include/scsi
/home/Administrator/uClinux-dist/linux-2.4.x/include/net -name SCCS -prune
-o -follow -name /*.h ! -name modversions.h -print` > .hdepend
/bin/sh.exe: scripts/mkdep: Invalid argument
make[1]: *** [dep-files] Error 126
make[1]: Leaving directory `/home/Administrator/uClinux-dist/linux-2.4.x'
make: *** [dep] Error 2
After I change the quotes, it does not exit with an error.
make -C linux-2.4.x dep
make[1]: Entering directory `/home/Administrator/uClinux-dist/linux-2.4.x'
scripts/mkdep -- init/*.c > .depend
scripts/mkdep -- 'find
/home/Administrator/uClinux-dist/linux-2.4.x/include/asm
/home/Administrator/uClinux-dist/linux-2.4.x/include/linux
/home/Administrator/uClinux-dist/linux-2.4.x/include/scsi
/home/Administrator/uClinux-dist/linux-2.4.x/include/net -name SCCS -prune
-o -follow -name /*.h ! -name modversions.h -print' > .hdepend
.
.
.
--------------------------------------------------------------------------------------------------------------------------------
根据这个邮件中的内容,我把Makefile中
scripts/mkdep -- 'find $(FINDHPATH) -name SCCS -prune -o -follow -name /*.h ! -name modversions.h -print' > .hdepend
的“`”换成“'”,再make dep,就成功了^_^
小结:
根据在网上搜索发现,出现make: *** [dep-files] Error 126错误可能还有别的原因,列出我看到的解决方法:
当前面的提示是/bin/sh: scripts/mkdep: Argument list too long时,除了上面的原因,还可那能是文件夹名或者路径名过长(目录层次太深啦)
可以把内核代码放到浅一些的目录,或者为内核代码根目录做个软链接。
另一种错误提示(原自:http://www.itee.uq.edu.au/~peizhao/linux-stuff/rb500debian.html):
/bin/sh: scripts/mkdep: cannot execute binary file
make***[dep-files] Error 126
You need to delete this file, and any other X86 binaries included in the tarball.
Try the following:
cp .config config.ps2
make mrproper
cp config.ps2 .config
make oldconfig
make dep
转载请注明文章出处
由于是pxa的板子,打过补丁后,还运行了下面的命令
# make clean
# make ARCH=arm CROSS_COMPILE=arm-linux- mrproper
# make ARCH=arm CROSS_COMPILE=arm-linux- lubbock_config
# make oldconfig
#make dep
make dep时,卡住了
------------------------------------------------------------------------------------------------------------------------
make[1]: Nothing to be done for `dep'.
make[1]: Leaving directory `/linux-2.4.19/arch/arm/boot'
scripts/mkdep -- init/*.c > .depend
scripts/mkdep -- `find /linux-2.4.19/include/asm /linux-2.4.19/include/linux /li
nux-2.4.19/include/scsi /linux-2.4.19/include/net /linux-2.4.19/include/math-emu
-name SCCS -prune -o -follow -name /*.h ! -name modversions.h -print` > .hdepen
d
/bin/sh: scripts/mkdep: Argument list too long
make: *** [dep-files] Error 126
-------------------------------------------------------------------------------------------------------------------------
记得以前遇到过这种问题,那次是因为把目录的linux-2.4.19的文件夹名命名过长,改短后就好了。
这次不知道为什么了,在网络上游荡了半天,大多不是说文件名长,就是说路径名长,把路径改短了也没有效果。
最后解决问题,依靠的是这个邮件内容:http://www.uclinux.org/pub/uClinux/archive/10545.html
-------------------------------------------------------------------------------------------------------------------------
David -
I screwed up. My statement about the broken rule is not valid; it is
probably a leftover thought before I figured out sh.exe needs to be
symbolically linked to bash.exe in Cygwin. This morning I tested both
uClinux-dist-20020502 and uClinux-dist-20020701 on both Cygwin
1.3.10/Win2000 and Red Hat 7.3.
There are no issues under Red Hat 7.3 with either distribution of
uClinux-dist. 'make dep' runs fine.
Under Cygwin 1.3.10, however, the 'dep-files' rule in
uClinux-dist/linux-2.4.x/Makefile still causes problems because of the
reverse (`) single quotes. Vertical (') single quotes fixes the issue.
This is the case in both distributions. Here's the error with the reverse
(`) single quotes.
make -C linux-2.4.x dep
make[1]: Entering directory `/home/Administrator/uClinux-dist/linux-2.4.x'
unset GCC_EXEC_PREFIX; gcc -Wall -Wstrict-prototypes -O2
-fomit-frame-pointer -o scripts/mkdep scripts/mkdep.c
scripts/mkdep -- init/*.c > .depend
scripts/mkdep -- `find
/home/Administrator/uClinux-dist/linux-2.4.x/include/asm
/home/Administrator/uClinux-dist/linux-2.4.x/include/linux
/home/Administrator/uClinux-dist/linux-2.4.x/include/scsi
/home/Administrator/uClinux-dist/linux-2.4.x/include/net -name SCCS -prune
-o -follow -name /*.h ! -name modversions.h -print` > .hdepend
/bin/sh.exe: scripts/mkdep: Invalid argument
make[1]: *** [dep-files] Error 126
make[1]: Leaving directory `/home/Administrator/uClinux-dist/linux-2.4.x'
make: *** [dep] Error 2
After I change the quotes, it does not exit with an error.
make -C linux-2.4.x dep
make[1]: Entering directory `/home/Administrator/uClinux-dist/linux-2.4.x'
scripts/mkdep -- init/*.c > .depend
scripts/mkdep -- 'find
/home/Administrator/uClinux-dist/linux-2.4.x/include/asm
/home/Administrator/uClinux-dist/linux-2.4.x/include/linux
/home/Administrator/uClinux-dist/linux-2.4.x/include/scsi
/home/Administrator/uClinux-dist/linux-2.4.x/include/net -name SCCS -prune
-o -follow -name /*.h ! -name modversions.h -print' > .hdepend
.
.
.
--------------------------------------------------------------------------------------------------------------------------------
根据这个邮件中的内容,我把Makefile中
scripts/mkdep -- 'find $(FINDHPATH) -name SCCS -prune -o -follow -name /*.h ! -name modversions.h -print' > .hdepend
的“`”换成“'”,再make dep,就成功了^_^
小结:
根据在网上搜索发现,出现make: *** [dep-files] Error 126错误可能还有别的原因,列出我看到的解决方法:
当前面的提示是/bin/sh: scripts/mkdep: Argument list too long时,除了上面的原因,还可那能是文件夹名或者路径名过长(目录层次太深啦)
可以把内核代码放到浅一些的目录,或者为内核代码根目录做个软链接。
另一种错误提示(原自:http://www.itee.uq.edu.au/~peizhao/linux-stuff/rb500debian.html):
/bin/sh: scripts/mkdep: cannot execute binary file
make***[dep-files] Error 126
You need to delete this file, and any other X86 binaries included in the tarball.
Try the following:
cp .config config.ps2
make mrproper
cp config.ps2 .config
make oldconfig
make dep
转载请注明文章出处
相关文章推荐
- Linux编译内核遇到找不到linux/limits.h的问题
- 基于ubuntu14.04下编译linux-2.6.34版本内核的步骤和遇到的一些问题及解决
- 基于linux内核4.12 编译 scullc程序遇到的一些问题
- 交叉编译基于ARM架构的linux-3.6内核遇到的问题及解决方法
- 一个linux内核编译时遇到的perl语法导致的编译问题解决
- Linux内核编译过程中遇到的问题
- Linux+RTAI实时内核编译所遇到的问题及解决方法
- 嵌入式 内核编译总是遇到make: ***/root/build_kernel/linux-2.6.14.1/arch/arm 是目录
- linux3.4.2内核编译、加载、yaffs2挂载问题汇总
- linux下解决u-boot编译遇到的下列问题
- ----linux--内核编译的问题:undefined reference to `printascii'
- linux内核编译问题解决方法
- 基于S3C2410的linux-2.6.14.1内核编译问题
- ubuntu12.04 64bit 编译android源码时遇到的问题"make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates"
- 编译内核2.6.30遇到的问题与解决办法
- linux下编译sqlite3的API遇到问题解决
- Android内核编译过程遇到的问题
- boadcom x86_64 431*系列无线网卡驱动在linux 3.10以上内核编译问题的解决
- 部署linux系统下filezilla编译环境及其遇到的问题
- Ubunt16.04下编译Linux遇到的问题