Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎03-03-2017

Architecture did not match (ARM, expected AArch64) on ZynqMP

I'm running Ubuntu 16.04.2 in a Zynq Ultrascale+ EG for an application development. If I run lscpu I obtain:

Architecture:          aarch64
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
CPU max MHz:           1199.9990
CPU min MHz:           299.9990

I've implemented an application in C that is compiled with gcc. I was expecting that this app was for 64 bit, but when I run "file MyApp" I obtain:

MyApp: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/, 
for GNU/Linux 3.2.0, BuildID[sha1]=2a83542bc6e3cd46b7c87b7f365c4f1081f7fcc9, not stripped

Then I try to add the binary and other files as a Yocto layer (called cpfiles), since it was the method I successfully used in a Zynq. The files are copied in the Apache directory since the app is some kind of server. However, I'm obtaining an error when compiling the image:

ERROR: cpfiles-1.0-r0 do_package_qa: QA Issue: Architecture did not match (ARM, expected AArch64) on 

The same error is obtained for the library libwebsockets. I'm not sure if this error is caused due to a wrong compilation method or because I'm using this library and then the compiled app is for 32-b instead of 64. Any clue on how to solve this?


0 Kudos
1 Reply
Registered: ‎07-23-2019


Check what compiler options use your gcc command

0 Kudos