一聚教程网:一个值得你收藏的教程网站

热门教程

编译错误“fatal error: 'xxxx.h' file not found” 如何解决

时间:2022-06-25 04:47:36 编辑:袖梨 来源:一聚教程网

编译一个开源项目时遇到这样一个编译错误:

fatal error: 'libelf.h' file not found
#include
     ^
1 error generated.

解决方法是安装elfutils-libelf-devel这个软件包:

yum install elfutils-libelf-devel

或:

dnf install elfutils-libelf-devel


Mac OS X 上编译 Nexus 7 Android 内核时 elf.h 文件未找到错误解决

Nexus 7 对山狮 10.8.4 进行编译 Android 内核时碰到致命错误: elf.h 文件未找到的问题:

/Volumes/Android/WORKING_DIRECTORY/device/asus/grouper/tegra/
[derek@retina-mbp]$ make
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  Generating include/generated/mach-types.h
  CC      kernel/bounds.s
  GEN     include/generated/bounds.h
  CC      arch/arm/kernel/asm-offsets.s
  GEN     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
scripts/mod/mk_elfconfig.c:4:10: fatal error: 'elf.h' file not found
#include
         ^
1 error generated.
make[2]: *** [scripts/mod/mk_elfconfig] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2

任何人都不会知道如何修复此问题,编译内核可以继续吗?

解决方法 1:

我回答我自己的问题因为我找到丢失的 elf.h 文件的替代方法:

cd /Volumes/Android/WORKING_DIRECTORY/external/elfutils/libelf/
$ sudo cp -a elf.h /usr/include

与 elf.h 文件现在在 /usr/include 中的副本,汇编了一会儿,下去,但是然后再次停止,出现不同的错误:

arch/arm/mach-tegra/sleep.S: Assembler messages:
arch/arm/mach-tegra/sleep.S:240: Error: selected processor does not support ARM mode `smc #0'
make[1]: *** [arch/arm/mach-tegra/sleep.o] Error 1
make: *** [arch/arm/mach-tegra] Error 2

不知道该怎么办这虽然最后一个错误。

更新: 我已经放弃了尝试编译直接在 OS X 下的 Android 内核。而我上开始安装 64 位 Ubuntu,随后发现此页上的说明:

http://forum.xda-developers.com/showthread.php?t=1774035

除外正如我说,我作为开始和 VMWare 玩家不建议以上页面。它工作得非常棒,我没有遇到任何带网络连接的问题,能够 ssh 到 Ubuntu 以轻松地移动编译的内核回到 OS X。

我还提到该页面以获取正确的内核源码为我的设备 (石斑鱼)、 预建的海湾合作委员会和语法为使命令 (使 tegra3_android_defconfig):

http://source.android.com/source/building-kernels.html

我希望这样的回答会救人一段时间。

热门栏目