agl构建在“中失败”;配方perl-native-5.24.4-r0:task do_configure:";

agl构建在“中失败”;配方perl-native-5.24.4-r0:task do_configure:";,perl,gcc,yocto,ld,glibc,Perl,Gcc,Yocto,Ld,Glibc,我正试图按照https://wiki.automotivelinux.org/agl-distro/source-code基于作物/poky的容器内(https://github.com/crops/poky-container/blob/master/Dockerfile) 运行bitbake agl演示平台时,我在perl-native-5.24.4-r0配方的do\u configure阶段中从configure脚本中得到以下错误(我正在使用https://downloads.yoctop

我正试图按照
https://wiki.automotivelinux.org/agl-distro/source-code
基于
作物/poky的容器内(
https://github.com/crops/poky-container/blob/master/Dockerfile

运行
bitbake agl演示平台时,我在
perl-native-5.24.4-r0
配方的
do\u configure
阶段中从
configure
脚本中得到以下错误(我正在使用
https://downloads.yoctoproject.org/releases/yocto/yocto-3.1/buildtools/x86_64-buildtools-extended-nativesdk-standalone-3.1.sh
安装
扩展构建工具

以下是SDK中的gcc和ld版本

admin@2a517c6c3748:/home/work/agl$ which gcc
/opt/poky/3.1/sysroots/x86_64-pokysdk-linux/usr/bin/gcc
admin@2a517c6c3748:/home/work/agl$ gcc --version
gcc (GCC) 9.3.0
admin@2a517c6c3748://opt/poky/3.1/sysroots/x86_64-pokysdk-linux/usr/bin$ ./x86_64-pokysdk-linux-ld -v
GNU ld (GNU Binutils) 2.34.0.20200220
错误:perl-native-5.24.4-r0 do_configure:函数失败:do_configure(日志文件位于/home/work/agl/build/tmp/work/x86_64-linux/perl native/5.24.4-r0/temp/log.do_configure.1100)
错误:故障日志文件存储在:/home/work/agl/build/tmp/work/x86_64-linux/perl native/5.24.4-r0/temp/log.do_configure.1100中
日志数据如下:
|调试:执行shell函数do_configure
|首先,让我们确保您的工具包是完整的。检查。。。
|您想看看说明书吗?[n]
|正在查找常用程序。。。
|正在检查/home/work/agl/build/tmp/hosttools/echo和内置echo(如果有)之间的兼容性。。。
|支持符号链接。
|正在检查如何测试符号链接。。。
|您可以使用“test-h”测试符号链接。
|检查交叉编译
|没有针对定义的、在本地运行的编译器测试运行targethost
...
|操作系统名称?[linux]
|操作系统版本?[5.3.0-1019-aws]
|要使用的安装前缀?(~name确定)
|[/home/work/agl/build/tmp/work/x86_64-linux/perl native/5.24.4-r0/recipe sysroot native/usr]
|AFS似乎没有运行。。。
|我应该使用什么安装前缀来安装文件?(~name ok)
|[/home/work/agl/build/tmp/work/x86_64-linux/perl native/5.24.4-r0/recipe sysroot native/usr]
|正在获取当前补丁级别。。。
|构建线程Perl?[y]
|使用哪个C编译器?[gcc]
|正在检查伪装的GNU cc和/或其版本号。。。
|现在,我们如何将标准输入提供给您的C预处理器。。。
|用于库搜索的目录?
|[/usr/local/lib/opt/poky/3.1/sysroot/x86_64-pokysdk-linux/usr/lib/opt/poky/3.1/sysroot/x86_64-pokysdk-linux/usr/lib/gcc/x86_64-pokysdk-linux/9.3.0/include-fixed/lib/x86_64-linux-gnu/。/lib/usr/lib/x86_64-linux-gnu/usr/usr/lib/。/lib/lib]
|共享库使用的文件扩展名是什么?[so]
|使共享库基名唯一?[n]
|为SOCKS构建Perl?[n]
|如果可用,尝试使用长双打?[n]
|正在检查可选库。。。
|使用什么库?[-lpthread-lnsl-ldl-lm-lcrypt-lutil-lc]
|应该使用什么优化器/调试器标志?[-O2]
|还有其他cc标志吗?
|[-D_可重入-D_GNU_SOURCE-fwrapv-fno严格别名-pipe-I/usr/local/include]
|让我猜猜预处理器标志是什么。。。
|是否有其他ld标志(不包括库)?
| [-L/home/work/agl/build/tmp/work/x86_64-linux/perl native/5.24.4-r0/recipe-sysroot-native/usr/lib-L/home/work/agl/build/tmp/work/x86_64-linux/perl native/5.24-r0/recipe-sysroot-native/lib-Wl-rpath-link、/home/work/work/agl/build/tmp/work/x86_64-linux/perl-sysroot-native/5.24.4-rsroot-native/usr/lib/Wl、-home/rpath-work/rpath-work、-work86_64-linux/perl native/5.24.4-r0/recipe-sysroot-native/lib-Wl,-rpath,/home/work/agl/build/tmp/work/x86_64-linux/perl native/5.24.4-r0/recipe-sysroot-native/usr/lib-Wl,--rpath,/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/lib-Wl,--O1-Wl,--allow-shlib,--允许shlib-Wl,--未定义的-Wl,-,--home/home/work,-,-,-/sysroot uninative/x86_64-linux/lib/ld-linux-x86-64.so.2-L/usr/local/lib]
|正在检查您选择的C编译器和标志的一致性。。。
|我尝试编译并运行以下简单程序:
| 
|#包括
|int main(){printf(“Ok\n”);返回(0);}
| 
|我使用命令:
| 
|gcc-o try-O2-D_可重入-D_GNU_SOURCE-fwrapv-fno严格别名-pipe-I/usr/local/include-L/home/work/agl/build/tmp/work/x86_64-linux/perl native/5.24.4-r0/recipe-sysroot-native/usr/lib-L/home/work/work/agl/agl/build/tmp/work/x86_64-linux/native/5.24.4-r0/recipe-sysroot-native/lib-Wl链接,/home/work/agl/rpu/rpu-linux/perl native/5.24.4-r0/recipe-sysroot-native/usr/lib-Wl,-rpath链接,/home/work/agl/build/tmp/work/x86_64-linux/perl native/5.24.4-r0/recipe-sysroot-native/lib-Wl,--rpath,/home/work/agl/agl/build/build/tmp/work/work/work/work/x86/work/x86-linux-native/5.24.4-r0/recipe-sysroot-native/usr/lib-Wl-rpath,/home/agl/build/tmp/work-rpath,/linux-r64-recipe sysroot native/lib-Wl,-O1-Wl,--allow shlib undefined-Wl,--dynamic linker=/home/work/agl/build/tmp/sysroot uninative/x86_64-linux/lib/ld-linux-x86-64.so.2-L/usr/local/lib try.c-lpthread-lnsl-ldl-lm-lcrypt-luti-lc
|/试试看
| 
|我得到了以下结果:
| 

|/opt/poky/3.1/sysroot/x86_64-pokysdk-linux/usr/lib/gcc/x86_64-pokysdk-linux/9.3.0/../../../../../../../../x86_64-pokysdk-linux/bin/ld:找不到-lnsll是否已安装libnsl并位于工具可以找到它的位置?“ld:找不到-lnsl”:另请参见:表面上的问题是,
gcc
被定向到针对
libnsl
(通过
-lnsl
)的链接,但链接器无法找到此库。(我不知道这是什么,需要什么,或者为什么它可能不存在。)我想它指的是?不确定它是如何使用的。我想知道Perl是否可以在没有它的情况下生存下来,从默认的
使用什么库中删除
-lnsl
表明它曾经是gcc的一部分,现在不再是了。Håkon Hægland提供的链接显示了如何安装我需要的替换程序
ERROR: perl-native-5.24.4-r0 do_configure: Function failed: do_configure (log file is located at /home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/temp/log.do_configure.1100)
ERROR: Logfile of failure stored in: /home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/temp/log.do_configure.1100
Log data follows:
| DEBUG: Executing shell function do_configure
| First let's make sure your kit is complete.  Checking...
| Would you like to see the instructions? [n]
| Locating common programs...
| Checking compatibility between /home/work/agl/build/tmp/hosttools/echo and builtin echo (if any)...
| Symbolic links are supported.
| Checking how to test for symbolic links...
| You can test for symbolic links with 'test -h'.
| Checking for cross-compile
| No targethost for running compiler tests against defined, running locally
...
| Operating system name? [linux]
| Operating system version? [5.3.0-1019-aws]
| Installation prefix to use? (~name ok)
| [/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/usr]
| AFS does not seem to be running...
| What installation prefix should I use for installing files? (~name ok)
| [/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/usr]
| Getting the current patchlevel...
| Build a threading Perl? [y]
| Use which C compiler? [gcc ]
| Checking for GNU cc in disguise and/or its version number...
| Now, how can we feed standard input to your C preprocessor...
| Directories to use for library searches?
| [/usr/local/lib /opt/poky/3.1/sysroots/x86_64-pokysdk-linux/usr/lib /opt/poky/3.1/sysroots/x86_64-pokysdk-linux/usr/lib/gcc/x86_64-pokysdk-linux/9.3.0/include-fixed /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/lib /lib64]
| What is the file extension used for shared libraries? [so]
| Make shared library basenames unique? [n]
| Build Perl for SOCKS? [n]
| Try to use long doubles if available? [n]
| Checking for optional libraries...
| What libraries to use? [-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc]
| What optimizer/debugger flag should be used? [-O2]
| Any additional cc flags?
| [-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include]
| Let me guess what the preprocessor flags are...
| Any additional ld flags (NOT including libraries)?
| [-L/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/usr/lib -L/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/lib -Wl,-rpath-link,/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/lib -Wl,-rpath,/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/work/agl/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -L/usr/local/lib]
| Checking your choice of C compiler and flags for coherency...
| I've tried to compile and run the following simple program:
| 
| #include <stdio.h>
| int main() { printf("Ok\n"); return(0); }
| 
| I used the command:
| 
|       gcc -o try -O2 -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -L/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/usr/lib -L/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/lib -Wl,-rpath-link,/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/lib -Wl,-rpath,/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/work/agl/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -L/usr/local/lib try.c -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
|        ./try
| 
| and I got the following output:
| 
| /opt/poky/3.1/sysroots/x86_64-pokysdk-linux/usr/lib/gcc/x86_64-pokysdk-linux/9.3.0/../../../../x86_64-pokysdk-linux/bin/ld: cannot find -lnsl<=======
| collect2: error: ld returned 1 exit status
| I can't compile the test program.
| You have a BIG problem.  Shall I abort Configure [y]
| Ok.  Stopping Configure.
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/work/agl/build/tmp/work/x86_64-linux/perl-native/5.24.4-r0/temp/log.do_configure.1100)
NOTE: recipe perl-native-5.24.4-r0: task do_configure: Failed
ERROR: Task (/home/work/agl/external/poky/meta/recipes-devtools/perl/perl-native_5.24.4.bb:do_configure) failed with exit code '1'
...
NOTE: Tasks Summary: Attempted 647 tasks of which 606 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/home/work/agl/external/poky/meta/recipes-devtools/perl/perl-native_5.24.4.bb:do_configure
Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code