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:
https://blog.hypriot.com/post/setup-simple-ci-pipeline-for-arm-images/
http://www.hotblackrobotics.com/en/blog/2018/01/22/docker-images-arm/
)

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
  prefix                  
/opt/vpp-agent/dev/vpp/build-root/install-vpp_debug-native/vpp
  libdir                  
/opt/vpp-agent/dev/vpp/build-root/install-vpp_debug-native/vpp/lib64
  includedir              ${prefix}/include
  CFLAGS                   -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 
-fstack-protector-all -fPIC -Werror
  CPPFLAGS                  
-I/opt/vpp-agent/dev/vpp/build-root/install-vpp_debug-native/dpdk/include/dpdk 
-I/usr/include/dpdk
  LDFLAGS                  -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 
-fstack-protector-all -fPIC -Werror   
-L/opt/vpp-agent/dev/vpp/build-root/install-vpp_debug-native/dpdk/lib 
-Wl,-rpath 
-Wl,/opt/vpp-agent/dev/vpp/build-root/install-vpp_debug-native/dpdk/lib

with:
  libssl                  yes
.....
==============================================================================
@@@@ Building vpp in 
/opt/vpp-agent/dev/vpp/build-root/build-vpp_debug-native/vpp @@@@
make[2]: Entering directory 
'/opt/vpp-agent/dev/vpp/build-root/build-vpp_debug-native/vpp'
  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/opt/vpp-agent/dev/vpp/build-root/install-vpp_debug-native/dpdk/include/dpdk 
-I/usr/include/dpdk -E -P -C -x c 
/opt/vpp-agent/dev/vpp/build-data/../src/vlibmemory/memclnt.api
     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/opt/vpp-agent/dev/vpp/build-root/install-vpp_debug-native/dpdk/include/dpdk 
-I/usr/include/dpdk -E -P -C -x c 
/opt/vpp-agent/dev/vpp/build-data/../src/vnet/interface.api
[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/opt/vpp-agent/dev/vpp/build-root/install-vpp_debug-native/dpdk/include/dpdk 
-I/usr/include/dpdk -E -P -C -x c 
/opt/vpp-agent/dev/vpp/build-data/../src/vlibmemory/memclnt.api
[0m[91m     21333 Illegal instruction     (core dumped) | ./vppapigen --input - 
--output vlibmemory/memclnt.api.h --show-name vlibmemory/memclnt.api.h > 
/dev/null
[0mMakefile:8711: recipe for target 'vlibmemory/memclnt.api.h' failed
[91mmake[2]: *** [vlibmemory/memclnt.api.h] Error 132
[0mmake[2]: Leaving directory 
'/opt/vpp-agent/dev/vpp/build-root/build-vpp_debug-native/vpp'
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
[0m


}


Could you help me how to solve this situation?

Thanks

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

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


Reply via email to