当前位置: 首页 > news >正文

广东省住房和建设局网站专业建设发展规划

广东省住房和建设局网站,专业建设发展规划,Wordpress官网类主题,网站有哪些布局交叉编译 acl 概述 访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。在 Linux 系统中,ACL 用于设定用户针对文件的权限,而不是在交换路由器中用来控制数据访问的功能(类似于防火墙…

交叉编译 acl

概述

访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。在 Linux 系统中,ACL 用于设定用户针对文件的权限,而不是在交换路由器中用来控制数据访问的功能(类似于防火墙)。

可以从 https://savannah.nongnu.org/projects/acl 获取 ACL 源码。

acl
同时 ACL 也提供了 git 仓库进行代码管理与开发。

  • 网址:https://savannah.nongnu.org/projects/acl
  • git:https://git.savannah.nongnu.org/cgit/acl.git

下载

开发版本 (最新)

如果以研究学习为目的,或者希望尝试最新特性,又或者希望参与到 acl 的开发中,可以直接从 git 上拉取最新源码,拉取命令:

git clone https://git.savannah.nongnu.org/git/acl.git

发行版本

如果以商用量产为目的,一般选择正式的发行版本为佳。在 acl 的 Download 页面,源码以压缩包的形式提供,根据需求选择合适的版本进行下载,以 2.3.1 为例,下载源码包 acl-2.3.1.tar.gz.

也可以直接使用 wget 命令下载:

wget http://download.savannah.nongnu.org/releases/acl/acl-2.3.1.tar.gz

交叉编译

解压缩源码包,如果使用 git clone 拉回来的代码可以忽略这一步

tar -xvf acl-2.3.1.tar.gz

解压缩源码包之后可以先阅读 README 文档,从源码包的文件结构来看,acl 使用的是 ./configure, make, make install 的编译方法,经典的 UNIX 软件部署模式。

依赖关系:

在 acl 的文档及配置文件中有提及到依赖关系,最主要的是依赖 attr 库,完整编译可以先参考「交叉编译 attr」。需要注意的点就是,需要使用 make DESTDIR=$BUILDSYSROOT install 将编译产物部署到 sysroot 目录便于 acl 依赖,效果类似于 apt install *-dev 安装开发依赖包。

首先创建一个环境配置文件 aarch64-environment-setup,配置最重要的交叉编译环境变量。

aarch64-environment-setup:

export TOOLCHAIN_ROOT=/opt/toolchains/aarch64--glibc--stable-2022.03-1
export BUILDSYSROOT=$TOOLCHAIN_ROOT/aarch64-buildroot-linux-gnu/sysroot
export PATH=$TOOLCHAIN_ROOT/bin:$PATHexport PREFIX=/usrexport CC="aarch64-linux-gcc --sysroot=$BUILDSYSROOT"
export CXX="aarch64-linux-g++ --sysroot=$BUILDSYSROOT"
export CPP="aarch64-linux-gcc -E --sysroot=$BUILDSYSROOT"
export LD="aarch64-linux-ld --sysroot=$BUILDSYSROOT"
export AR=aarch64-linux-ar
export AS=aarch64-linux-as
export NM=aarch64-linux-nm
export GDB=aarch64-linux-gdb
export OBJDUMP=aarch64-linux-objdump
export OBJCOPY=aarch64-linux-objcopy
export RANLIB=aarch64-linux-ranlib
export READELF=aarch64-linux-readelf
export STRIP=aarch64-linux-stripexport CONFIGURE_FLAGS="--target=aarch64-linux --host=aarch64-linux --build=x86_64-linux --with-sysroot=$BUILDSYSROOT"export PKG_CONFIG_SYSROOT_DIR=$BUILDSYSROOT
export PKG_CONFIG_PATH=$BUILDSYSROOT/usr/lib/pkgconfig:$BUILDSYSROOT/usr/share/pkgconfig

在本示例中,交叉编译工具位于 /opt/toolchains/aarch64--glibc--stable-2022.03-1/bin 目录下,将该目录配置到 PATH 环境变量,让系统能够正确搜索到。同时在配置 CCCXXCPPLD 环境变量时指定 --sysroot=<dir> 参数让交叉编译器搜索 dir 目录下的头文件与库文件,而不是 /usr/include/usr/lib

source aarch64-environment-setup
./configure --prefix=/usr $CONFIGURE_FLAGS
make
make DESTDIR=$BUILDSYSROOT install-strip
  • 在源码目录下创建环境设置文件并调用 source 命令让环境变量生效
  • 执行源码包的 configure 文件,带上 --prefix 参数,指定安装路径。在配置文件中定义了临时的 CONFIGURE_FLAGS 来指定 --host--build 选项的值,具体的说明可以使用 ./configure --help 命令进行查阅
  • 执行 make 命令编译源码
  • 使用 DESTDIR 参数作为安装目标文件的前缀变量,后面带上你希望安装到的文件夹路径,在本示例中,BUILDSYSROOT 指的是交叉编译工具链的 sysroot 目录,此环境变量在 aarch64-environment-setup 中已定义。更详细介绍可以参考 DESTDIR 官方介绍,也可以参考我的博文《交叉编译 libcap》关于 DESTDIR 的用法说明。

最终你就可以在 $BUILDSYSROOT/usr 文件夹中找到交叉编译好的 acl 的头文件及库文件。Good luck.

欢迎关注我的公众号:飞翔的小黄鸭
也许会发现不一样的风景


△\triangle 交叉编译 attr

http://www.yayakq.cn/news/96030/

相关文章:

  • 做仿站如何获取网站源码济南集团网站建设方案
  • 网站设计自已申请农家乐网站 建设
  • 淘宝推广网站建设做盗文网站
  • 网站备案知识wordpress一键登录
  • 优化网站排名茂名厂商黄骅市领导班子最新调整
  • 网站开发分为几个方向口碑好企业网站建设
  • 腾讯云ADM怎么做网站广州市专业做商城网站
  • 深圳网站建设门户网站建设七点
  • 网站建设哪家公司好招聘那个网站做毕业设计
  • 网站备案的坏处营销模式
  • 湖南备案网站建设方案书网页设计一般尺寸
  • 景德镇网站建设景德镇500强企业网站建设
  • 公司业绩怎么发到建设厅网站上西安网站托管公司招聘
  • 做软件推广网站怎么赚钱龙光城业主论坛家在深圳
  • 做动漫网站的意义网站运营经验
  • 关于集团网站建设的市场体系建设司在官方网站
  • 网站建设费用评估网络推广和网络销售的区别
  • 云南网站建设公司网站文字专题页面怎么做的
  • 软件班级网站建设品牌网站建设内容框架
  • 诸城哪有做公司网站和的服务器怎么直接用ip做网站
  • asp企业网站中国建筑校园招聘官网
  • 网站开发安卓开发上海网站备案需要多久
  • 湛江企业自助建站系统西安优秀网站设计
  • 做饲料机的川工网站文登网站建设
  • 无锡网站建设报价明细表去空格网站
  • 正品海外购网站有哪些旅游网站开发团队
  • 常德网站优化湛江电气建站软件
  • 合肥网站制作套餐学生html个人网页代码
  • 重庆建设网站哪个好html5 手机网站
  • 苏州工业园区两学一做网站湖北科技职业学院