找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 7011|回复: 4

编译openwrt出现提示fatal error: nss.h: No such file or directory,怎么解决?

[复制链接]
发表于 2015-7-15 14:03 | 显示全部楼层 |阅读模式
编译openwrt软件包的时候出现提示fatal error: nss.h: No such file or directory,怎么解决?
OpenWrt-libtool: compile: arm-openwrt-linux-uclibcgnueabi-gcc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I/home/yangyang/rtnas_v2/openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/usr/include -I/home/yangyang/rtnas_v2/openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/include -I/home/yangyang/rtnas_v2/openwrt/staging_dir/toolchain-arm_v5te_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/usr/include -I/home/yangyang/rtnas_v2/openwrt/staging_dir/toolchain-arm_v5te_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/include -Os -pipe -march=armv5te -mtune=xscale -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -MT libecryptfs_la-main.lo -MD -MP -MF .deps/libecryptfs_la-main.Tpo -c main.c -fPIC -DPIC -o .libs/libecryptfs_la-main.o
main.c:23:17: fatal error: nss.h: No such file or directory
compilation terminated.
make[6]: *** [libecryptfs_la-main.lo] Error 1
make[6]: Leaving directory `/home/yangyang/rtnas_v2/openwrt/build_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/ecryptfs-utils-106/src/libecryptfs'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/home/yangyang/rtnas_v2/openwrt/build_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/ecryptfs-utils-106/src'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/yangyang/rtnas_v2/openwrt/build_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/ecryptfs-utils-106'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/yangyang/rtnas_v2/openwrt/build_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/ecryptfs-utils-106'
make[2]: *** [/home/yangyang/rtnas_v2/openwrt/build_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/ecryptfs-utils-106/.built] Error 2
make[2]: Leaving directory `/home/yangyang/rtnas_v2/openwrt/package/ecryptfs-utils'
make[1]: *** [package/ecryptfs-utils/compile] Error 2
make[1]: Leaving directory `/home/yangyang/rtnas_v2/openwrt'
make: *** [package/ecryptfs-utils/compile] 错误 2
发表于 2015-7-15 16:01 | 显示全部楼层
新手帮顶
回复 支持 反对

使用道具 举报

发表于 2015-7-16 17:15 | 显示全部楼层
表示不懂,要不不用trunk的代码,用barrier_breaker和chaos_calmer的代码编译看看。

点评

哦。我试试,谢谢  详情 回复 发表于 2015-7-17 09:22
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-17 09:22 | 显示全部楼层
wukaisky 发表于 2015-7-16 17:15
表示不懂,要不不用trunk的代码,用barrier_breaker和chaos_calmer的代码编译看看。

哦。我试试,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-18 11:34 | 显示全部楼层
本帖最后由 飞鹰-木易 于 2015-7-18 11:50 编辑

对问题的分析,我认为问题原因应该是openwrt中缺少相应的头文件,而openwrt编译时一般是在openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/usr/include、openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/include 、openwrt/staging_dir/toolchain-arm_v5te_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/usr/include和openwrt/staging_dir/toolchain-arm_v5te_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/include这四个目录中查找,那么只要把缺少的头文件cp到这四个目录中的任意一个目录下应该就能解决问题。
于是我通过把相关的头文件都cp到/openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/include目录解决了此问题。
首先利用apt-file search nss.h命令找到nss.h属于哪一个软件包,提示yangyang@yangyang-Lenovo-G50-70m:~$ apt-file search nss.h
doc-linux-ja-html: /usr/share/doc/HOWTO/ja-html/LDAP-Implementation-HOWTO/pamnss.html
gnucash-docs: /usr/share/doc/gnucash-docs/gnucash-help-en/chapter_busnss.html
libapache2-mod-nss: /usr/share/doc/libapache2-mod-nss/mod_nss.html
libc6-dev: /usr/include/nss.h
libc6-dev-arm64-cross: /usr/aarch64-linux-gnu/include/nss.h
libc6-dev-armel-cross: /usr/arm-linux-gnueabi/include/nss.h
libc6-dev-armhf-cross: /usr/arm-linux-gnueabihf/include/nss.h
libc6-dev-powerpc-cross: /usr/powerpc-linux-gnu/include/nss.h
libc6-dev-ppc64el-cross: /usr/powerpc64le-linux-gnu/include/nss.h
libnss3-dev: /usr/include/nss/nss.h
libp11-kit-dev: /usr/share/gtk-doc/html/p11-kit/trust-nss.html
libpathfinder-dev: /usr/include/pathfinder-1/libpathfinder-nss.h
ofono-dev: /usr/include/ofono/gnss.h
pike7.8-reference: /usr/share/doc/pike7.8-doc/html/reference/ex/predef_3A_3A/Parser/XML/NSTree/NSNode/get_defined_nss.html
systemtap-doc: /usr/share/doc/systemtap-doc/tapsets/API-stap-cache-add-nss.html
thunderbird-dev: /usr/include/thunderbird/nss/nss.h
yangyang@yangyang-Lenovo-G50-70m:~$
然后sudo cp -rf /usr/include/nss/* /home/yangyang/openwrt_rtnas_v2/openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/include
编译后又出现了提示fatal error: prtypes.h: No such file or directory
同样利用apt-file search prtypes.h命令找到prtypes.h属于哪一个软件包,提示
yangyang@yangyang-Lenovo-G50-70m:~$ apt-file search prtypes.h
codeblocks-dev: /usr/include/codeblocks/prtypes.h
libnspr4-dev: /usr/include/nspr/prtypes.h
thunderbird-dev: /usr/include/thunderbird/nspr/prtypes.h
最后sudo cp -rf /usr/include/nspr/* /home/yangyang/openwrt_rtnas_v2/openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/include
clean一下后再make就编译通过了

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-15 00:10

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表