Hi Stanislav,

Does the build work if you git clone and make build-release inside the arm64 VM 
(no docker)?


From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Stanislav Chlebec
Sent: Monday, April 16, 2018 2:27 AM
To: vpp-dev@lists.fd.io
Subject: [vpp-dev] Trying to build vpp on amd64 platform via qemu static 
library qemu-aarch64-static in Docker container

Hello all
I am trying to prepare arm64 docker image (based on arm64v8/ubuntu:latest) in 
which will be vpp compiled and installed.
I  do it on amd64 platform using qemu static library for qemu-aarch64-static 
for emulation of arm64 instructions.

I found how to do it here:

Everything goes more the less  well but it fails in this Dockerfile step:
RUN /bin/bash -c "\
    git clone https://github.com/vpp-dev/vpp.git \
    && cd vpp \
    && git checkout ${VPP_COMMIT} \
    && UNATTENDED=y make vpp_configure_args_vpp='--disable-japi --disable-vom' 
install-dep bootstrap dpdk-install-dev build build-release;"

It seems that build of vpp is complete without errors but the next processes 
(installing od dpdk ?) will end with error 21326 Illegal instruction:
Build complete [arm64-armv8a-linuxapp-gcc]
================== Installing /opt/vpp-agent/dev/vpp/dpdk/deb/debian/tmp/usr/
  version                 vpp 18.01
  includedir              ${prefix}/include
  CFLAGS                   -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 
-fstack-protector-all -fPIC -Werror
  LDFLAGS                  -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 
-fstack-protector-all -fPIC -Werror   

  libssl                  yes
@@@@ Building vpp in 
/opt/vpp-agent/dev/vpp/build-root/build-vpp_debug-native/vpp @@@@
make[2]: Entering directory 
  YACC     tools/vppapigen/gram.c
  CC       vppinfra/socket.lo
  CC       vppinfra/timer.lo
  CC       vppinfra/unix-formats.lo
  CC       vppinfra/unix-misc.lo
  VERSION  vpp/app/version.h (18.01-rc0~374-g2d36ed2)
  CC       tools/vppapigen/lex.o
  CC       tools/vppapigen/gram.o
  CC       tools/vppapigen/node.o
  CC       vppinfra/asm_x86.lo
 CC       vppinfra/backtrace.lo
  CC       vppinfra/cpu.lo
  CC       vppinfra/elf.lo
  CC       vppinfra/elog.lo
  CC       vppinfra/error.lo
  CC       vppinfra/fifo.lo
  CC       vppinfra/fheap.lo
  CC       vppinfra/format.lo
  CC       vppinfra/pool.lo
  CC       vppinfra/graph.lo
  CC       vppinfra/hash.lo
  CC       vppinfra/heap.lo
  CPPAS    vppinfra/longjmp.lo
  CC       vppinfra/macros.lo
  CC       vppinfra/mhash.lo
  CC       vppinfra/mheap.lo
  CC       vppinfra/md5.lo
  CC       vppinfra/mem_mheap.lo
  CC       vppinfra/ptclosure.lo
  CC       vppinfra/random.lo
  CC       vppinfra/random_buffer.lo
  CC       vppinfra/random_isaac.lo
  CC       vppinfra/serialize.lo
  CC       vppinfra/slist.lo
  CC       vppinfra/std-formats.lo
  CC       vppinfra/string.lo
  CC       vppinfra/time.lo
  CC       vppinfra/timing_wheel.lo
  CC       vppinfra/tw_timer_2t_1w_2048sl.lo
  CC       vppinfra/tw_timer_16t_2w_512sl.lo
  CC       vppinfra/tw_timer_16t_1w_2048sl.lo
  CC       vppinfra/tw_timer_4t_3w_256sl.lo
  CC       vppinfra/tw_timer_1t_3w_1024sl_ov.lo
  CC       vppinfra/unformat.lo
  CC       vppinfra/vec.lo
  CC       vppinfra/vector.lo
  CC       vppinfra/zvec.lo
  CC       vppinfra/elf_clib.lo
  CC       vppinfra/linux/mem.lo
  CC       vppinfra/linux/sysfs.lo
  CCLD     libvppinfra.la
  CCLD     vppapigen
  APIGEN   vnet/interface.api.h
  JSON API vlibmemory/memclnt.api.json
  APIGEN   vlibmemory/memclnt.api.h
[91m/bin/bash: line 3: 21320 Done                    gcc 
-I/usr/include/dpdk -E -P -C -x c 
     21321 Illegal instruction     (core dumped) | ./vppapigen --input - --json 
vlibmemory/memclnt.api.json > /dev/null
[0mMakefile:8717: recipe for target 'vlibmemory/memclnt.api.json' failed
[91mmake[2]: *** [vlibmemory/memclnt.api.json] Error 132
[0m[91mmake[2]: *** Waiting for unfinished jobs....
[0m[91m/bin/bash: line 3: 21324 Done                    gcc 
-I/usr/include/dpdk -E -P -C -x c 
[0m[91m     21326 Illegal instruction     (core dumped) | ./vppapigen --input - 
--output vnet/interface.api.h --show-name vnet/interface.api.h > /dev/null
[0mMakefile:8711: recipe for target 'vnet/interface.api.h' failed
[91mmake[2]: *** [vnet/interface.api.h] Error 132
[0m[91m/bin/bash: line 3: 21332 Done                    gcc 
-I/usr/include/dpdk -E -P -C -x c 
[0m[91m     21333 Illegal instruction     (core dumped) | ./vppapigen --input - 
--output vlibmemory/memclnt.api.h --show-name vlibmemory/memclnt.api.h > 
[0mMakefile:8711: recipe for target 'vlibmemory/memclnt.api.h' failed
[91mmake[2]: *** [vlibmemory/memclnt.api.h] Error 132
[0mmake[2]: Leaving directory 
Makefile:682: recipe for target 'vpp-build' failed
[91mmake[1]: *** [vpp-build] Error 2
[0mmake[1]: Leaving directory '/opt/vpp-agent/dev/vpp/build-root'
Makefile:322: recipe for target 'build' failed
[91mmake: *** [build] Error 2


Could you help me how to solve this situation?


Ing. Stanislav  Chlebec, Software Engineer in Test
PANTHEON technologies s.r.o.
Mlynské Nivy 56, 821 05 Bratislava

MAIL / stanislav.chle...@pantheon.tech<mailto:stanislav.chle...@pantheon.tech>
WEB / https://pantheon.tech

IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.

Reply via email to