OpenWrt——ubuntu 20.04安装uci、ubox、uloop

编程入门 行业动态 更新时间:2024-10-18 03:37:39

OpenWrt——<a href=https://www.elefans.com/category/jswz/34/1771209.html style=ubuntu 20.04安装uci、ubox、uloop"/>

OpenWrt——ubuntu 20.04安装uci、ubox、uloop

OpenWrt——ubuntu 20.04安装uci、ubox、uloop

文章目录

  • OpenWrt——ubuntu 20.04安装uci、ubox、uloop
    • 安装ubox
    • 安装UCI

安装ubox

  1. 克隆源码
$ git clone /luci2/libubox.git libubox.git
Cloning into 'libubox.git'...
remote: Counting objects: 996, done.
remote: Compressing objects: 100% (404/404), done.
remote: Total 996 (delta 621), reused 886 (delta 556)
Receiving objects: 100% (996/996), 185.39 KiB | 12.00 KiB/s, done.
Resolving deltas: 100% (621/621), done.
  1. 生成编译规则
$ cd libubox.git
$ cmake -DBUILD_LUA=off
CMake Warning:No source or binary directory provided.  Both will be assumed to be thesame as the current working directory, but note that this warning willbecome a fatal error in future CMake releases.-- The C compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for modules 'json-c;json'
--   No package 'json-c' found
--   No package 'json' found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/d/Adam/libubox.git
  1. 编译

```$ make
Scanning dependencies of target ubox-static
[  3%] Building C object CMakeFiles/ubox-static.dir/avl.c.o
[  6%] Building C object CMakeFiles/ubox-static.dir/avl-cmp.c.o
[ 10%] Building C object CMakeFiles/ubox-static.dir/blob.c.o
[ 13%] Building C object CMakeFiles/ubox-static.dir/blobmsg.c.o
[ 16%] Building C object CMakeFiles/ubox-static.dir/uloop.c.o
[ 20%] Building C object CMakeFiles/ubox-static.dir/usock.c.o
[ 23%] Building C object CMakeFiles/ubox-static.dir/ustream.c.o
[ 26%] Building C object CMakeFiles/ubox-static.dir/ustream-fd.c.o
[ 30%] Building C object CMakeFiles/ubox-static.dir/vlist.c.o
[ 33%] Building C object CMakeFiles/ubox-static.dir/utils.c.o
[ 36%] Building C object CMakeFiles/ubox-static.dir/safe_list.c.o
[ 40%] Building C object CMakeFiles/ubox-static.dir/runqueue.c.o
[ 43%] Building C object CMakeFiles/ubox-static.dir/md5.c.o
[ 46%] Building C object CMakeFiles/ubox-static.dir/ulog.c.o
[ 50%] Linking C static library libubox.a
[ 50%] Built target ubox-static
Scanning dependencies of target ubox
[ 53%] Building C object CMakeFiles/ubox.dir/avl.c.o
[ 56%] Building C object CMakeFiles/ubox.dir/avl-cmp.c.o
[ 60%] Building C object CMakeFiles/ubox.dir/blob.c.o
[ 63%] Building C object CMakeFiles/ubox.dir/blobmsg.c.o
[ 66%] Building C object CMakeFiles/ubox.dir/uloop.c.o
[ 70%] Building C object CMakeFiles/ubox.dir/usock.c.o
[ 73%] Building C object CMakeFiles/ubox.dir/ustream.c.o
[ 76%] Building C object CMakeFiles/ubox.dir/ustream-fd.c.o
[ 80%] Building C object CMakeFiles/ubox.dir/vlist.c.o
[ 83%] Building C object CMakeFiles/ubox.dir/utils.c.o
[ 86%] Building C object CMakeFiles/ubox.dir/safe_list.c.o
[ 90%] Building C object CMakeFiles/ubox.dir/runqueue.c.o
[ 93%] Building C object CMakeFiles/ubox.dir/md5.c.o
[ 96%] Building C object CMakeFiles/ubox.dir/ulog.c.o
[100%] Linking C shared library libubox.so
[100%] Built target ubox
  1. 安装
$ sudo make install
[sudo] password for adam:
[ 50%] Built target ubox-static
[100%] Built target ubox
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/include/libubox/avl-cmp.h
-- Installing: /usr/local/include/libubox/avl.h
-- Installing: /usr/local/include/libubox/blob.h
-- Installing: /usr/local/include/libubox/blobmsg.h
-- Installing: /usr/local/include/libubox/blobmsg_json.h
-- Installing: /usr/local/include/libubox/json_script.h
-- Installing: /usr/local/include/libubox/list.h
-- Installing: /usr/local/include/libubox/md5.h
-- Installing: /usr/local/include/libubox/runqueue.h
-- Installing: /usr/local/include/libubox/safe_list.h
-- Installing: /usr/local/include/libubox/ulog.h
-- Installing: /usr/local/include/libubox/uloop.h
-- Installing: /usr/local/include/libubox/usock.h
-- Installing: /usr/local/include/libubox/ustream.h
-- Installing: /usr/local/include/libubox/utils.h
-- Installing: /usr/local/include/libubox/vlist.h
-- Installing: /usr/local/lib/libubox.so
-- Installing: /usr/local/lib/libubox.a

安装UCI

  1. 克隆源码
$ git clone .git uci.git
Cloning into 'uci.git'...
remote: Enumerating objects: 2368, done.
remote: Counting objects: 100% (2368/2368), done.
remote: Compressing objects: 100% (974/974), done.
remote: Total 2368 (delta 1522), reused 2056 (delta 1353), pack-reused 0
Receiving objects: 100% (2368/2368), 391.07 KiB | 169.00 KiB/s, done.
Resolving deltas: 100% (1522/1522), done.
  1. 生成编译规则
$ cd uci.git
$ cmake -DBUILD_LUA=off
  1. 编译
$ make
Scanning dependencies of target ucimap
[  5%] Building C object CMakeFiles/ucimap.dir/ucimap.c.o
[ 11%] Linking C static library libucimap.a
[ 11%] Built target ucimap
Scanning dependencies of target uci
[ 16%] Building C object CMakeFiles/uci.dir/libuci.c.o
[ 22%] Building C object CMakeFiles/uci.dir/file.c.o
[ 27%] Building C object CMakeFiles/uci.dir/util.c.o
[ 33%] Building C object CMakeFiles/uci.dir/delta.c.o
[ 38%] Building C object CMakeFiles/uci.dir/parse.c.o
[ 44%] Building C object CMakeFiles/uci.dir/blob.c.o
[ 50%] Linking C shared library libuci.so
[ 50%] Built target uci
Scanning dependencies of target cli
[ 55%] Building C object CMakeFiles/cli.dir/cli.c.o
[ 61%] Linking C executable uci
[ 61%] Built target cli
Scanning dependencies of target uci-static
[ 66%] Building C object CMakeFiles/uci-static.dir/libuci.c.o
[ 72%] Building C object CMakeFiles/uci-static.dir/file.c.o
[ 77%] Building C object CMakeFiles/uci-static.dir/util.c.o
[ 83%] Building C object CMakeFiles/uci-static.dir/delta.c.o
[ 88%] Building C object CMakeFiles/uci-static.dir/parse.c.o
[ 94%] Building C object CMakeFiles/uci-static.dir/blob.c.o
[100%] Linking C static library libuci.a
[100%] Built target uci-static
  1. 安装
$ sudo make install
[ 11%] Built target ucimap
[ 50%] Built target uci
[ 61%] Built target cli
[100%] Built target uci-static
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/include/uci.h
-- Installing: /usr/local/include/uci_config.h
-- Installing: /usr/local/include/uci_blob.h
-- Installing: /usr/local/include/ucimap.h
-- Installing: /usr/local/lib/libuci.so
-- Set runtime path of "/usr/local/lib/libuci.so" to ""
-- Installing: /usr/local/bin/uci
-- Set runtime path of "/usr/local/bin/uci" to ""
  1. 测试
$ uci show
uci: error while loading shared libraries: libuci.so: cannot open shared object file: No such file or directory

解决方案:
6. 在/etc/ld.so.conf的末尾,加入uci的库所在路径,如果和笔者一样选择默认安装,那么路径应该是/usr/local/lib,即运行如下命令:

$ echo "/usr/local/lib" >> /etc/ld.so.conf

改动后的文件为:

$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
/usr/local/lib

使ld配置生效:

sudo ldconfig

默认uci没有/etc/config目录:

$ uci show
uci: Entry not found

故需要创建目录并给权限:

$ sudo mkdir /etc/config
$ sudo chmod 777 -R /etc/config

此时运行uci命令则不会报错

更多推荐

OpenWrt——ubuntu 20.04安装uci、ubox、uloop

本文发布于:2024-02-26 11:14:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1702282.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:ubuntu   OpenWrt   uloop   ubox   uci

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!