Ubuntu 11 编译 linux-2.6内核 出错,给出部分编译问题解决方暗,新问题求解决
来源:互联网 发布:ubuntu 搜狗拼音 乱码 编辑:程序博客网 时间:2024/05/01 01:06
#
make[2]:正在离开目录 `/home/gdsdj/src/linux-2.6.19'
make EXTRAVERSION=dell1400 ARCH=i386 prepare
make[2]: 正在进入目录 `/home/gdsdj/src/linux-2.6.19'
scripts/kconfig/conf -s arch/i386/Kconfig
make[2]:正在离开目录 `/home/gdsdj/src/linux-2.6.19'
make[2]: 正在进入目录 `/home/gdsdj/src/linux-2.6.19'
CHK include/linux/version.h
CHK include/linux/utsrelease.h
make[2]:正在离开目录 `/home/gdsdj/src/linux-2.6.19'
echo done > debian/stamp/conf/kernel-conf
make[1]:正在离开目录 `/home/gdsdj/src/linux-2.6.19'
make -f debian/rules debian/stamp/conf/full-changelog
make[1]: 正在进入目录 `/home/gdsdj/src/linux-2.6.19'
====== making target debian/stamp/conf/full-changelog [new prereqs: ]======
for file in ChangeLog Control Control.bin86 config templates.in rules; do \
cp -f /usr/share/kernel-package/$file ./debian/; \
done
for dir in Config docs examples ruleset scripts pkg po; do \
cp -af /usr/share/kernel-package/$dir ./debian/; \
done
install -p -m 755 /usr/share/kernel-package/rules debian/rules
sed -e 's/=V/2.6.19dell1400/g' \
-e 's/=D/2.6.19dell1400-10.00.Custom/g' -e 's/=A/i386/g' \
-e 's/=SA//g' \
-e 's/=I//g' \
-e 's/=CV/2.6/g' \
-e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
/usr/share/kernel-package/Control > debian/control
sed -e 's/=V/2.6.19dell1400/g' -e 's/=D/2.6.19dell1400-10.00.Custom/g' \
-e 's/=A/i386/g' -e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
/usr/share/kernel-package/changelog > debian/changelog
chmod 0644 debian/control debian/changelog
make -f debian/rules debian/stamp/conf/kernel-conf
make[2]: 正在进入目录 `/home/gdsdj/src/linux-2.6.19'
make[2]: “debian/stamp/conf/kernel-conf”是最新的。
make[2]:正在离开目录 `/home/gdsdj/src/linux-2.6.19'
make[1]:正在离开目录 `/home/gdsdj/src/linux-2.6.19'
echo done > debian/stamp/conf/minimal_debian
exec debian/rules APPEND_TO_VERSION=dell1400 INITRD=YES kernel_image kernel-headers
====== making target debian/stamp/conf/vars [new prereqs: ]======
====== making target debian/stamp/build/kernel [new prereqs: vars]======
This is kernel package version 12.036+nmu1.
restore_upstream_debianization
test ! -f scripts/package/builddeb.kpkg-dist || mv -f scripts/package/builddeb.kpkg-dist scripts/package/builddeb
test ! -f scripts/package/Makefile.kpkg-dist || mv -f scripts/package/Makefile.kpkg-dist scripts/package/Makefile
/usr/bin/make EXTRAVERSION=dell1400 ARCH=i386 \
bzImage
make[1]: 正在进入目录 `/home/gdsdj/src/linux-2.6.19'
CHK include/linux/version.h
CHK include/linux/utsrelease.h
HOSTCC scripts/mod/sumversion.o
下面为错误提示,加不上红字,加了就乱序了,注释一下把 :
scripts/mod/sumversion.c: 在函数‘get_src_version’中:
scripts/mod/sumversion.c:384:16: 错误: ‘PATH_MAX’未声明(在此函数内第一次使用)
scripts/mod/sumversion.c:384:16: 附注: 每个未声明的标识符在其出现的函数内只报告一次
scripts/mod/sumversion.c:384:7: 警告: 未使用的变量‘filelist’ [-Wunused-variable]
make[3]: *** [scripts/mod/sumversion.o] 错误 1
make[2]: *** [scripts/mod] 错误 2
make[1]: *** [scripts] 错误 2
make[1]:正在离开目录 `/home/gdsdj/src/linux-2.6.19'
make: *** [debian/stamp/build/kernel] 错误 2
gdsdj@gdsdj-laptop:~/src/linux-2.6.19$
#include <netinet/in.h>
#ifdef __sun__
#include <inttypes.h>
#else
#include <stdint.h>
#endif
#include <ctype.h>
#include <errno.h>
#include <string.h>
#include "modpost.h"
#include <limits.h>
执行sudo gedit scripts/mod/sumversion.c
加入#include <limits.h>后问题解决了 ,又出现了 新的 问题
CC arch/i386/kernel/cpu/rise.o
CC arch/i386/kernel/cpu/nexgen.o
CC arch/i386/kernel/cpu/umc.o
LD arch/i386/kernel/cpu/built-in.o
CC arch/i386/kernel/reboot.o
CC arch/i386/kernel/reboot_fixups.o
CC arch/i386/kernel/module.o
CC arch/i386/kernel/sysenter.o
arch/i386/kernel/sysenter.c: 在函数‘arch_setup_additional_pages’中:
arch/i386/kernel/sysenter.c:158:17: 警告: 取一个类型为‘void’的表达式的地址 [默认启用]
LDS arch/i386/kernel/vsyscall.lds
AS arch/i386/kernel/vsyscall-int80.o
AS arch/i386/kernel/vsyscall-note.o
SYSCALL arch/i386/kernel/vsyscall-int80.so
gcc: 错误: elf_i386:没有那个文件或目录
make[2]: *** [arch/i386/kernel/vsyscall-int80.so] 错误 1
make[1]: *** [arch/i386/kernel] 错误 2
make[1]:正在离开目录 `/home/gdsdj/src/linux-2.6.19'
make: *** [debian/stamp/build/kernel] 错误 2
执行命令
sudo gedit arch/i386/kernel/Makefile
# The DSO images are built using a special linker script.
quiet_cmd_syscall = SYSCALL $@
cmd_syscall = $(CC) -m elf_i386 -nostdlib $(SYSCFLAGS_$(@F)) \
-Wl,-T,$(filter-out FORCE,$^) -o $@
export CPPFLAGS_vsyscall.lds += -P -C -U$(ARCH)
改红字部分为-m32问题解决,新的随之又出现
AR arch/i386/lib/lib.a
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
kernel/built-in.o: In function `mutex_lock':
/home/gdsdj/src/linux-2.6.19/kernel/mutex.c:91: undefined reference to `__mutex_lock_slowpath'
kernel/built-in.o: In function `mutex_unlock':
/home/gdsdj/src/linux-2.6.19/kernel/mutex.c:116: undefined reference to `__mutex_unlock_slowpath'
make[1]: *** [.tmp_vmlinux1] 错误 1
make[1]:正在离开目录 `/home/gdsdj/src/linux-2.6.19'
make: *** [debian/stamp/build/kernel] 错误 2
gdsdj@gdsdj-laptop:~/src/linux-2.6.19$
这个问题现在还没解决
- Ubuntu 11 编译 linux-2.6内核 出错,给出部分编译问题解决方暗,新问题求解决
- Ubuntu 11 编译 linux-2.6内核 出错,给出部分编译问题解决
- ubuntu 内核编译出错
- Linux内核编译出错
- 编译linux内核linux-2.6.22出错
- linux内核编译安装出错
- Linux内核模块编译出错
- linux内核编译 出错总结
- Ubuntu 编译 Linux 内核
- Ubuntu 编译 Linux 内核
- ubuntu linux内核编译
- Ubuntu 编译linux内核
- linux内核编译问题解决方法
- Ubuntu编译android源码出错及问题解决
- Ubuntu 内核编译 make gconfig 出错解决办法
- CentOS内核编译make menuconfig出错解决
- ubuntu 9.04 linux 2.6.32.2 内核编译
- ubuntu 2.6 编译内核
- static在C/C++中的作用
- 为iPhone 6设计自适应布局
- jquery $.get() $.post 跨域请求cors解决方法
- BIND DLZ PostgreSQL
- 关于两个activity之间切换时传递数值的情况(基于上一篇切换情况下)
- Ubuntu 11 编译 linux-2.6内核 出错,给出部分编译问题解决方暗,新问题求解决
- 提高Interface Builder高效工作的8个技巧
- tomcat使用memcached完成集群(session共享实现方式)
- Kruskal&&prim
- Bind dlz 测试手记
- 大唐天启元年
- 技术负责人的三种角色
- how to check which process occupied the port
- Sanliency detection ---my reading