ubuntu16.04搭建uci测试环境说明

说明

        以下指令都是在root用户下执行

安装uci依赖库libubox

git下载libubox源码

git clone http://git.nbd.name/luci2/libubox.git

root@virtual-machine:/home/uci# git clone http://git.nbd.name/luci2/libubox.git
Cloning into 'libubox'...
remote: Counting objects: 996, done.
remote: Compressing objects: 100% (404/404), done.
remote: Total 996 (delta 622), reused 886 (delta 556)
Receiving objects: 100% (996/996), 184.97 KiB | 174.00 KiB/s, done.
Resolving deltas: 100% (622/622), done.
Checking connectivity... done.

编译源码及安装

切换到libubox目录

root@virtual-machine:/home/uci# cd libubox/

cmake -DBUILD_LUA=off

root@virtual-machine:/home/uci/libubox# cmake -DBUILD_LUA=off
-- The C compiler identification is GNU 5.4.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: /home/uci/libubox

make 

root@virtual-machine:/home//uci/libubox# make
Scanning dependencies of target ubox
[  3%] Building C object CMakeFiles/ubox.dir/avl.c.o
[  6%] Building C object CMakeFiles/ubox.dir/avl-cmp.c.o
[ 10%] Building C object CMakeFiles/ubox.dir/blob.c.o
[ 13%] Building C object CMakeFiles/ubox.dir/blobmsg.c.o
[ 16%] Building C object CMakeFiles/ubox.dir/uloop.c.o
[ 20%] Building C object CMakeFiles/ubox.dir/usock.c.o
[ 23%] Building C object CMakeFiles/ubox.dir/ustream.c.o
[ 26%] Building C object CMakeFiles/ubox.dir/ustream-fd.c.o
[ 30%] Building C object CMakeFiles/ubox.dir/vlist.c.o
[ 33%] Building C object CMakeFiles/ubox.dir/utils.c.o
[ 36%] Building C object CMakeFiles/ubox.dir/safe_list.c.o
[ 40%] Building C object CMakeFiles/ubox.dir/runqueue.c.o
[ 43%] Building C object CMakeFiles/ubox.dir/md5.c.o
[ 46%] Building C object CMakeFiles/ubox.dir/ulog.c.o
[ 50%] Linking C shared library libubox.so
[ 50%] Built target ubox
Scanning dependencies of target ubox-static
[ 53%] Building C object CMakeFiles/ubox-static.dir/avl.c.o
[ 56%] Building C object CMakeFiles/ubox-static.dir/avl-cmp.c.o
[ 60%] Building C object CMakeFiles/ubox-static.dir/blob.c.o
[ 63%] Building C object CMakeFiles/ubox-static.dir/blobmsg.c.o
[ 66%] Building C object CMakeFiles/ubox-static.dir/uloop.c.o
[ 70%] Building C object CMakeFiles/ubox-static.dir/usock.c.o
[ 73%] Building C object CMakeFiles/ubox-static.dir/ustream.c.o
[ 76%] Building C object CMakeFiles/ubox-static.dir/ustream-fd.c.o
[ 80%] Building C object CMakeFiles/ubox-static.dir/vlist.c.o
[ 83%] Building C object CMakeFiles/ubox-static.dir/utils.c.o
[ 86%] Building C object CMakeFiles/ubox-static.dir/safe_list.c.o
[ 90%] Building C object CMakeFiles/ubox-static.dir/runqueue.c.o
[ 93%] Building C object CMakeFiles/ubox-static.dir/md5.c.o
[ 96%] Building C object CMakeFiles/ubox-static.dir/ulog.c.o
[100%] Linking C static library libubox.a
[100%] Built target ubox-static

make install

root@virtual-machine:/home/uci/libubox# make install
[ 50%] Built target ubox
[100%] Built target ubox-static
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/include/libubox/utils.h
-- Installing: /usr/local/include/libubox/ulog.h
-- Installing: /usr/local/include/libubox/usock.h
-- Installing: /usr/local/include/libubox/vlist.h
-- Installing: /usr/local/include/libubox/runqueue.h
-- Installing: /usr/local/include/libubox/blobmsg.h
-- Installing: /usr/local/include/libubox/safe_list.h
-- Installing: /usr/local/include/libubox/blob.h
-- Installing: /usr/local/include/libubox/md5.h
-- Installing: /usr/local/include/libubox/blobmsg_json.h
-- Installing: /usr/local/include/libubox/avl-cmp.h
-- Installing: /usr/local/include/libubox/uloop.h
-- Installing: /usr/local/include/libubox/avl.h
-- Installing: /usr/local/include/libubox/list.h
-- Installing: /usr/local/include/libubox/json_script.h
-- Installing: /usr/local/include/libubox/ustream.h
-- Installing: /usr/local/lib/libubox.so
-- Installing: /usr/local/lib/libubox.a

安装uci

git克隆uci源码

git clone git://git.openwrt.org/project/uci.git

root@virtual-machine:/home/uci# git clone git://git.openwrt.org/project/uci.git
Cloning into 'uci'...
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)
Receiving objects: 100% (2368/2368), 391.07 KiB | 174.00 KiB/s, done.
Resolving deltas: 100% (1522/1522), done.
Checking connectivity... done.

编译及安装uci

cmake -DBUILD_LUA=off

root@virtual-machine:/home/uci# cmake -DBUILD_LUA=off
-- The C compiler identification is GNU 5.4.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
-- Configuring done
-- Generating done
-- Build files have been written to: /home/uci/uci

make

root@virtual-machine:/home/uci# make
Scanning dependencies of target uci
[  5%] Building C object CMakeFiles/uci.dir/libuci.c.o
[ 11%] Building C object CMakeFiles/uci.dir/file.c.o
[ 16%] Building C object CMakeFiles/uci.dir/util.c.o
[ 22%] Building C object CMakeFiles/uci.dir/delta.c.o
[ 27%] Building C object CMakeFiles/uci.dir/parse.c.o
[ 33%] Building C object CMakeFiles/uci.dir/blob.c.o
[ 38%] Linking C shared library libuci.so
[ 38%] Built target uci
Scanning dependencies of target uci-static
[ 44%] Building C object CMakeFiles/uci-static.dir/libuci.c.o
[ 50%] Building C object CMakeFiles/uci-static.dir/file.c.o
[ 55%] Building C object CMakeFiles/uci-static.dir/util.c.o
[ 61%] Building C object CMakeFiles/uci-static.dir/delta.c.o
[ 66%] Building C object CMakeFiles/uci-static.dir/parse.c.o
[ 72%] Building C object CMakeFiles/uci-static.dir/blob.c.o
[ 77%] Linking C static library libuci.a
[ 77%] Built target uci-static
Scanning dependencies of target cli
[ 83%] Building C object CMakeFiles/cli.dir/cli.c.o
[ 88%] Linking C executable uci
[ 88%] Built target cli
Scanning dependencies of target ucimap
[ 94%] Building C object CMakeFiles/ucimap.dir/ucimap.c.o
[100%] Linking C static library libucimap.a
[100%] Built target ucimap

make install 

root@virtual-machine:/home/uci# make install
[ 38%] Built target uci
[ 77%] Built target uci-static
[ 88%] Built target cli
[100%] Built target ucimap
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 ""

增加依赖库到ld.so.conf

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

执行ldconfig使依赖库路径生效

测试uci

root@virtual-machine:/home/# uci
Usage: uci [<options>] <command> [<arguments>]

Commands:
	batch
	export     [<config>]
	import     [<config>]
	changes    [<config>]
	commit     [<config>]
	add        <config> <section-type>
	add_list   <config>.<section>.<option>=<string>
	del_list   <config>.<section>.<option>=<string>
	show       [<config>[.<section>[.<option>]]]
	get        <config>.<section>[.<option>]
	set        <config>.<section>[.<option>]=<value>
	delete     <config>[.<section>[[.<option>][=<id>]]]
	rename     <config>.<section>[.<option>]=<name>
	revert     <config>[.<section>[.<option>]]
	reorder    <config>.<section>=<position>

Options:
	-c <path>  set the search path for config files (default: /etc/config)
	-d <str>   set the delimiter for list values in uci show
	-f <file>  use <file> as input instead of stdin
	-m         when importing, merge data into an existing package
	-n         name unnamed sections on export (default)
	-N         don't name unnamed sections
	-p <path>  add a search path for config change files
	-P <path>  add a search path for config change files and use as default
	-t <path>  set save path for config change files
	-q         quiet mode (don't print error messages)
	-s         force strict mode (stop on parser errors, default)
	-S         disable strict mode
	-X         do not use extended syntax on 'show'

ubuntu执行uci出现 uci: error while loading shared libraries: lib_wgl307293845的博客-CSDN博客

ubuntu使用uci出现uci: Entry not found_wgl307293845的博客-CSDN博客

Guess you like

Origin blog.csdn.net/wgl307293845/article/details/121469999