微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法为uclibc交叉编译dropbear

如何解决无法为uclibc交叉编译dropbear

我正在尝试为缺少glibc而使用uclibc的x86计算机交叉编译Dropbear。为此,我使用自定义crosstool-ng工具链针对同一指令集交叉编译了zlib,并将其安装到自定义位置。

msainz@ubuntu:~$ ls Projects/zlib_install/lib
libz.a  libz.so  libz.so.1  libz.so.1.2.11  pkgconfig

我已将Projects/zlib_install/include/zlib.hProjects/zlib/include/zconf.h复制到Projects/dropbear/zlibincludes/

我已经通过以下方式设置了环境变量:

msainz@ubuntu:~$ echo $PATH 
usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/usr/local/games:/snap/bin:/home/msainz/x-tools/x86_64-multilib-linux-uclibc/bin

msainz@ubuntu:~/Projects/dropbear$ echo $LDFLAGS
/home/msainz/Projects/zlib_install/lib/libz.a

msainz@ubuntu:~/Projects/dropbear$ echo $CFLAGS
-Izlibincludes -I../zlibincludes

我以这种方式启动配置脚本:./configure --prefix=/home/msainz/Projects/tmp_top_dir --host=x86

执行终止并出现以下错误

configure:4851: x86_64-multilib-linux-uclibc-gcc -o conftest -Izlibincludes -I../zlibincludes -Wno- 
pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -mfunction- 
return=thunk -mindirect-branch=thunk  /home/msainz/Projects/zlib_install/lib/libz.a -pie -Wl,-z,Now - 
Wl,relro conftest.c -lz   >&5
/home/msainz/x-tools/x86_64-multilib-linux-uclibc/bin/../lib/gcc/x86_64-multilib-linux- 
uclibc/8.3.0/../../../../x86_64-multilib-linux-uclibc/bin/ld.bfd: cannot find -lz
collect2: error: ld returned 1 exit status

有什么办法解决这个问题吗?预先感谢。

解决方法

解决了将--with-zlib=/home/msainz/Projects/zlib_install/添加到./configure调用中的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。