1

我从 git https://github.com/openwrt/luci.git下载了 luci 主干,在 centOS 上编译时出现以下错误。

我已经安装了 iw 包,但仍然出现错误。

   Package iw-3.10-4.el7.x86_64 already installed and latest version

我该如何解决这个问题?

make[1]: Entering directory `/home/mullex/Dev/Projects/openwrt-luci/modules/admin-full'
rm -f src/*.o src/luci-bwc
gcc  -O2 --std=gnu99 -Wall -pedantic    -fPIC -c -o src/luci-bwc.o src/luci-bwc.c
src/luci-bwc.c:35:20: fatal error: iwinfo.h: No such file or directory
#include <iwinfo.h>
                ^
compilation terminated.
make[1]: *** [src/luci-bwc.o] Error 1
make[1]: Leaving directory `/home/mullex/Dev/Projects/openwrt-luci/modules/admin-full'
*** Compilation of modules/admin-full failed!
make: *** [gccbuild] Error 1
4

1 回答 1

3

今天早上,我在 Ubuntu 上运行 LuCI Makefile 时遇到了同样的问题,以便在我的 PC 上启动并运行 LuCI 以用于开发目的,而无需连接到路由器。我通过以下方式解决了它:

在这个网页...

http://luci.subsignal.org/trac/changeset/10377

... 有添加到两个文件以实现需要 iwinfo.h 包含文件的功能的行的描述。我已经安装了 iw(通过使用命令“sudo apt-get install iw”),但它似乎不包括 iwinfo.h,我知道这是一个只能在 OpenWRT 上安装的文件。因此,为了解决这个问题,我通过删除绿线并添加红线手动将这两个文件恢复到原始状态。绿线和红线是指在上述网页给出的文件的 Diff 输出中突出显示的那些。因此,我最终得到了以下两个文件的两个修订(回滚)版本:

contrib/package/luci/Makefilemodules/admin-full/src/luci-bwc.c

然后我再次运行顶级 LuCI Makefile,在顶级目录中使用以下命令:

sudo make runuhttpd

Makefile 完成且没有错误,最后一步是在 localhost:8080/luci/ 启动 Web 服务器

此时在终端窗口中,进程等待(即不返回命令提示符),因为它正在运行 Web 服务器。在我的网络浏览器中,在 localhost:8080/luci/,我现在成功地看到了默认索引页面。如果我在终端窗口中输入 CTRL-C 来终止进程,则 Web 服务器将停止,并且在 Web 浏览器中不再可以查看默认索引页面。

要再次运行 Web 服务器,在终端中输入 Makefile 执行的最后一个命令,即:

[我的顶级-LUCI-安装目录]/host/usr/sbin/uhttpd -p 8080 -h [我的顶级-LUCI-安装-目录]/host/www -f

希望这可以帮助。

于 2014-11-03T12:58:48.917 回答