这是 perl-cross-debian 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
perl-cross-debian - 长期维护对 Debian 的交叉构建支持
perl的配置
概要
perl 跨 debian [--rootdir=目录] --变体=STRING
perl 跨 debian - 干净的
perl 跨 debian [{-h | - 帮帮我} | {-v | - 版}]
商品描述
perl 跨 debian 支持长期维护对 Debian 的交叉构建支持
perl 的配置。
perl 跨 debian 预计不会直接在命令行上运行,而是执行
通过修改 debian/rules 的 Debian 源代码包的规则,在约束范围内
一个交叉构建。 perl 跨 debian 使用由设置的交叉构建环境
dpkg-架构 -aARCH 为请求提供必要的配置值
架构以避免在交叉构建中执行交叉构建的二进制文件。 全力支持
仅限于已打包在 Debian 中的特定版本的 perl,并且仅适用于选定的
架构。
perl 跨 debian 将预先生成的配置文件复制到当前的 perl 构建树中
通过以下方式防止构建需要在配置阶段执行测试二进制文件
提前提供测试值。 perl 跨 debian 然后从中提取值
缓存文件以更新构建信息和打包 Makefile。
perl 跨 debian 然后依靠打补丁的 Makefile.SH 来调用主机 perl 解释器
而不是在内部构建的 perl 解释器。
参见 运行 此 交叉 建立 有关如何准备 perl 的 Debian 软件包的详细信息
当前支持的主机架构之一的交叉构建。 (补丁到
适用于支持的 Debian 版本的 perl 包含在
/usr/share/perl-cross-debian/patches)。
参见 perl 跨阶段 (1) 有关如何延长的信息 perl 跨 debian 对其他人
主机架构和其他版本的 perl。
指挥
--变体 变体
当前 perl 构建变体的名称(静态、调试或共享),通过传入
debian/rules,必须为每次迭代指定一次。
- 干净的
运行 perl 跨 debian 清除目标并退出零。 - 干净的 覆盖任何
--变体 命令 - 清理操作不依赖于当前的变体。
配置
--根目录 目录
使用未发布的配置文件进行测试的调试支持,使用来自
rootdir 而不是查看
/usr/share/perl-cross-debian/$(DEB_HOST_GNU_TYPE)/$(PERL_VERSION) 目录。
($(PERL_VERSION) 在这个例子中是输出 / bin / bash debian/配置.debian
- 完整版本.)
-?, -h, - 帮帮我, - 版
显示选项摘要和版本信息。
限制
perl 跨 debian 实现了在执行期间使用 perl 解释器的保护措施
交叉构建是与要交叉构建的 perl 解释器相同的上游版本,因为
DynaLoader.pm 的限制:
arm-linux-gnueabi-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -D_FORTIFY_SOURCE=2 -g -O2 -fstack-保护器
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -fno-strict-aliasing -pipe -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"3.39_02\" -DXS_VERSION=\"3.39_02\"
-fPIC "-I../ .." Cwd.c
为 Cwd 运行 Mkbootstrap ()
DynaLoader 对象版本 1.13 与 $DynaLoader::VERSION 1.14 在 ../../lib/DynaLoader.pm 第 86 行不匹配。
在 ../../lib/ExtUtils/Mkbootstrap.pm 第 27 行,编译失败。
相反, perl 跨 debian 因版本不匹配而死亡,交叉构建失败。 确保
在测试交叉构建之前升级安装的 perl 解释器
更新的 perl 源代码(或使用 chroot)。 使用 chroot 和旧式 dpkg-cross 时
依赖项,考虑至少准备 zlib 和 bzip2 依赖项之外
chroot 作为 perl 的新版本经常无法安装很多 perl 模块
例如 dpkg-cross 使用的那些。 例如 zlib1g-dev-armel-cross 和 libbz2-dev-armel-cross
以及 libdb-dev-armel-cross 和 libgdbm-dev-armel-cross。
须藤 xapt -a armel -b zlib1g-dev libbz2-dev libdb-dev libgdbm-dev
-cross 包在 /var/lib/xapt/output 中,需要复制到 chroot 和
与安装 的dpkg -i ./*
perl 跨 debian 还实施了一项保护措施以防止交叉构建
DEB_BUILD_OPTIONS="nocheck" 在开始构建之前尚未设置。 交叉构建
由于在 perl 构建中运行测试代码而导致的失败并不总是那么容易
识别,所以 perl 跨 debian 检查此构建选项并在以下情况下使交叉构建失败
它没有设置。 (检查发生在 perl 跨 debian 所以干净的目标将有
在进行检查之前已运行。)
跑步 “ CROSS 建公园
perl 跨 debian 在交叉构建之前需要对 perl 包进行一些更改,因此请确保
Makefile.SH 和 debian/rules 都打了补丁,交叉依赖和
安装了交叉编译器。
补丁被携带在 perl 跨 debian 包装在
/usr/share/perl-cross-debian/补丁。
解构 首选,因为这将提供构建日志并运行 lintian(默认情况下)
意味着将检查构建的包以确保二进制文件已
为交叉架构正确编译(在正常检查中)。 跑十字架
构建:
DEB_BUILD_OPTIONS="nocheck" debuild -aarmel -us -uc -d
注意使用 此 -d 选项 因为 dpkg 在 MutiArch 之前无法检查交叉构建依赖项
-dev 包正在使用中,并且需要 DEB_BUILD_OPTIONS 来禁用测试
套房。
支持的 版本 AND 建筑
perl 跨 debian 支持不完整,但可以改进。 只有特定的架构在
支持特定版本 - 如果您没有找到所请求版本的文件
在所需架构的目录中,请参阅 perl-cross-staging (1) 以获取信息
关于如何添加这些信息以及使用 perl 正在进行的工作的详细信息
上游。
清洁 TARGET 客户服务
perl 跨 debian 包括对交叉构建的自定义清理目标的支持,以确保
在交叉构建期间生成的特定于版本的内容在之前被清除
dpkg-source 尝试验证源包。 如果有其他文件需要
要清理,提交错误 perl 跨 debian.
延长 安装
当前构建和安装扩展的方法确实需要测试和
改进。 虽然 perl 交叉构建的主要重点是支持引导
通过使用普通的 perl 解释器而不仅仅是 miniperl,可能会有
不太重视通常打包的扩展和模块的正确运行
通过本机 perl 构建。 与任何使用 perl 扩展和模块有关的问题
安装了交叉构建的 perl 包应该报告为错误
perl 跨 debian.
扩展 PERL-跨Debian
perl 跨 debian 提供了一些关于如何将支持扩展到新的 POD 文档
体系结构以及如何更新对新版本 perl 的现有支持。
参见 /usr/share/doc/perl-cross-debian/converting-native.pod 和
/usr/share/doc/perl-cross-debian/new-arch.pod
使用 onworks.net 服务在线使用 perl-cross-debian