解决petalinux-2018.3编译问题:ERROR: ld.so: object ‘libpseudo.so‘ from LD_PRELOAD cannot be preloaded

1 安装petalinux

使用如下链接在Ubuntu16.04上安装了petalinux-2018.3:

https://blog.csdn.net/qq_37110215/article/details/90250867?spm=1001.2014.3001.5506

在petalinux2018.3安装完成之后,就开始进行配置和编译工作

从其他同事那里拿到了一份hdf文件,使用如下命令创建工程:

petalinux-create --type project --template zynqMP  --name  test_project

cd test_project

petalinux-config --get-hw-description=/home/user/hdf_folder

其中,/home/user/hdf_folder是hdf文件所在的路径,此处只需要提供hdf所在的路径,不需要填写hdf文件名称,petalinux会在该路径中自动搜索hdf文件

执行这条配置命令之后,会弹出配置窗口,直接按下ESC,如果提示是否写入,选择yes

然后执行以下命令,进行编译:

petalinux-build

2. 编译问题:找不到"psu_init.h"文件

然后,遇到如下问题:

| xfsbl_handoff.c:58:10: fatal error: psu_init.h: No such file or directory
|  #include "psu_init.h"
|           ^~~~~~~~~~~~
| compilation terminated.
| make: *** [Makefile:34: xfsbl_handoff.o] Error 1
| WARNING: /home/certusnet/work/test/platform_peta/build/tmp/work/plnx_zynqmp-xilinx-linux/fsbl/2018.3+gitAUTOINC+56f3da2afb-r0/temp/run.do_compile.15749:1 exit 2 from 'make'
| ERROR: Function failed: do_compile (log file is located at /home/certusnet/work/test/platform_peta/build/tmp/work/plnx_zynqmp-xilinx-linux/fsbl/2018.3+gitAUTOINC+56f3da2afb-r0/temp/log.do_compile.15749)
ERROR: Task (/home/certusnet/xilinx/petalinux/2018.3/components/yocto/source/aarch64/layers/meta-xilinx-tools/recipes-bsp/fsbl/fsbl_git.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3073 tasks of which 2255 didn't need to be rerun                                                                         and 1 failed.

这个问题,通过以下链接成功解决:

https://support.xilinx.com/s/article/71921?language=en_US

其实,就是要为bitbake创建一个bbapend文件:

$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/fsbl/fsbl_%.bbappend

找到工程中的以上路径,创建文件:fsbl_%.bbappend

注意:最后的文件名称,就是"fsbl_%.bbappend",不要认为"%"是通配符,自己修改这个文件名称,比如修改成:"fsbl_test.bbappend",这样是错误的,这个文件的名称,必须为:"fsbl_%.bbappend"

该文件的内容:

do_compile_prepend(){

   install -m 0644 ${TOPDIR}/../project-spec/hw-description/psu_init.c ${B}/fsbl/psu_init.c

   install -m 0644 ${TOPDIR}/../project-spec/hw-description/psu_init.h ${B}/fsbl/psu_init.h

}

以上命令,其实就是在编译之前,将${TOPDIR}/../project-spec/hw-description/psu_init.c拷贝到${B}/fsbl/psu_init.c

创建该文件之后,执行以下命令:

petalinux-build -c fsbl -x cleanall

petalinux-build -c fsbl

3. 编译问题:ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64)

继续执行编译命令:petalinux-build

然后,遇到如下问题:

ERROR: petalinux-user-image-1.0-r0 do_rootfs: [log_check] petalinux-user-image: found 1 error message in the logfile:
[log_check] ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.

ERROR: petalinux-user-image-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/certusnet/work/xilinx-zc706-2018.3/build/tmp/work/zc706_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/temp/log.do_rootfs.21087
ERROR: Task (/home/certusnet/work/xilinx-zc706-2018.3/project-spec/meta-plnx-generated/recipes-core/images/petalinux-user-image.bb:do_rootfs) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3061 tasks of which 2246 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/certusnet/work/xilinx-zc706-2018.3/project-spec/meta-plnx-generated/recipes-core/images/petalinux-user-image.bb:do_rootfs
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
ERROR: Failed to build project

这个问题,参考了以下链接:

https://blog.csdn.net/wz1hrt08/article/details/114035689?spm=1001.2014.3001.5506

问题的根源还是安装petalinux2018.3之前的依赖库有问题,但是按照这个文档中给出的安装命令,是无法直接安装上这些依赖库的,会与已有依赖库产生冲突,所以修改之后,利用命令aptitude,该命令能够自动解决依赖和冲突的问题,使用如下命令安装:

sudo aptitude install -y python tofrodos iproute2 gawk xvfb gcc git net-tools libncurses5-dev tftpd 3. zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev

安装完成之后,继续使用编译命令:petalinux-build

最后,编译成功:
INFO: Copying Images from deploy to images
INFO: Creating images/linux directory
[INFO] successfully built project

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值