交叉编译kerberos5

本文介绍了在使用powerpc-linux-uclibc-gcc进行跨编译krb5过程中遇到的问题及解决方法,包括配置选项调整、缓存文件创建等步骤。

 1. 下载krb5-1.6-signed.tar包

2.env CC=powerpc-linux-uclibc-gcc

3.env CC=powerpc-linux-uclibc-gcc ./configure --host=powerpc  出现:

checking for constructor/destructor attribute support... configure: error: Cannot test for constructor/destructor support when cross compiling

解决办法:

echo krb5_cv_attr_constructor_destructor=yes>linux-cache
env CC=powerpc-linux-uclibc-gcc ./configure --host=powerpc --prefix=/usr/local/krb5--cache-file=linux-cache

有出现:
checking for working regcomp... configure: error: Cannot test regcomp when cross compiling

echo ac_cv_func_regcomp=yes>>linux-cache
env CC=powerpc-linux-uclibc-gcc ./configure --host=powerpc --prefix=/usr/local/krb5--cache-file=linux-cache

有出现:

checking for POSIX printf positional specification support... configure: error: Cannot test for printf positional argument support when cross compiling

echo ac_cv_printf_positional=yes>>linux-cache

env CC=powerpc-linux-uclibc-gcc ./configure --host=powerpc --prefix=/usr/local/krb5--cache-file=linux-cache

有出现:

checking for /etc/environment... configure: error: Cannot check for existence when cross compiling

 echo ac_cv_file__etc_environment=yes>>linux-cache

 echo ac_cv_file__etc_TIMEZONE=yes>>linux-cache

env CC=powerpc-linux-uclibc-gcc ./configure --host=powerpc --prefix=/usr/local/krb5--cache-file=linux-cache

 

有出现:

configure: error: Cannot find resolver support routine res_search in -lresolv

 echo ac_cv_lib_resolv_res_search=yes>linux-cache

 

env CC=powerpc-linux-uclibc-gcc ./configure --host=powerpc --prefix=/usr/local/krb5--cache-file=linux-cache

4.make  出现“can not upload ^^^^^^^” 注释掉./include/k5-platform.h的第378行。

5.OK

要重新编译 curl-8.2.1 版本,并确保其支持 HTTPS 和静态链接,可以按照以下步骤进行操作: ### 1. 准备依赖库 在编译 curl 之前,需要确保已经安装或编译了必要的依赖库,尤其是 OpenSSL。如果需要静态编译,还需要提前准备好静态版本的 OpenSSL 库。 ```bash # 假设 OpenSSL 源码包已经下载并解压到 /root/doris/openssl-1.1.1w cd /root/doris/openssl-1.1.1w ./Configure linux-x86_64 --prefix=/root/doris/openssl_install -static make make install ``` ### 2. 配置 curl 编译选项 进入 curl 源码目录,并执行 `./configure` 以配置编译参数。为了确保 curl 支持 HTTPS 并且使用静态链接,需要指定 `--with-ssl` 参数,并且启用 `--disable-shared` 来禁用动态库的生成。 ```bash cd /root/doris/curl-8.2.1 ./configure --prefix=/root/doris/curl_install --disable-shared --with-ssl=/root/doris/openssl_install ``` ### 3. 编译和安装 完成配置后,使用 `make` 进行编译,并使用 `make install` 安装编译好的文件。 ```bash make make install ``` ### 4. 校验编译结果 安装完成后,可以通过执行 `curl --version` 来验证是否成功编译,并查看是否支持 HTTPS。 ```bash /root/doris/curl_install/bin/curl --version ``` 输出应类似于: ``` curl 8.2.1 (x86_64-pc-linux-gnu) libcurl/8.2.1 OpenSSL/1.1.1w Protocols: dict file ftp gopher http imap mqtt pop3 rtsp smtp telnet tftp Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets ``` 如果输出中包含 OpenSSL 版本信息,则表示 HTTPS 支持已经成功启用。 ### 5. 注意事项 - 如果在 `./configure` 步骤中发现 `ssl` 显示为 `no`,则需要检查 OpenSSL 和 curl 的版本是否匹配。新版本的 OpenSSL 在较旧的 curl 版本上可能无法正确支持 SSL 功能。 - 确保编译环境中的编译工具(如 `gcc`、`make` 等)已经正确安装,并且版本符合要求。 - 如果需要在交叉编译环境下使用(例如 ARM 架构),可以在 `./configure` 命令中添加 `--host=arm-ca53-linux-gnueabihf` 等参数来指定目标平台[^5]。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值