Hi Folks, I'm using poky-krogoth-15.0.0 and DPDK 16.04 recipe from here http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/. I want to build DPDK for Mohonpeak64 machine.
I modified the dpdk.inc for COMPATIBLE_MACHINE as follows: COMPATIBLE_MACHINE = "crystalforest|intel-corei7-64|mohonpeak64" In the current recipe, mohonpeak64 is not a supported machine. The original file is here: http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/tree/meta-isg/common/recipes-extended/dpdk/dpdk.inc Then I built a core-image-minimal and the image build was successful. Then when I build dpdk, I get the following error in compile: x86_64-poky-linux-gcc -m64 -Wl,--version-script=/home/adalela/poky15/build/tmp/work/mohonpeak64-poky-linux/dpdk/16.04-r0/dpdk-16.04/lib/librte_eal/linuxapp/eal/rte_eal_version.map -L/home/adalela/poky15/build/tmp/sysroots/mohonpeak64/usr/lib -shared eal.o eal_hugepage_info.o eal_memory.o eal_thread.o eal_log.o eal_pci.o eal_pci_uio.o eal_pci_vfio.o eal_pci_vfio_mp_sync.o eal_debug.o eal_lcore.o eal_timer.o eal_interrupts.o eal_alarm.o eal_ivshmem.o eal_common_lcore.o eal_common_timer.o eal_common_memzone.o eal_common_log.o eal_common_launch.o eal_common_pci.o eal_common_pci_uio.o eal_common_memory.o eal_common_tailqs.o eal_common_errno.o eal_common_cpuflags.o eal_common_string_fns.o eal_common_hexdump.o eal_common_devargs.o eal_common_dev.o eal_common_options.o eal_common_thread.o eal_common_proc.o rte_malloc.o malloc_elem.o malloc_heap.o rte_keepalive.o rte_cpuflags.o -ldl -lpthread -lgcc_s -lrt -Wl,-soname,librte_eal.so.2.1 -o librte_eal.so.2.1 /home/adalela/poky15/build/tmp/sysroots/x86_64-linux/usr/libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/5.3.0/ld: cannot find crti.o: No such file or directory /home/adalela/poky15/build/tmp/sysroots/x86_64-linux/usr/libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/5.3.0/ld: cannot find crtbeginS.o: No such file or directory /home/adalela/poky15/build/tmp/sysroots/x86_64-linux/usr/libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/5.3.0/ld: cannot find /lib/libpthread.so.0 /home/adalela/poky15/build/tmp/sysroots/x86_64-linux/usr/libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/5.3.0/ld: cannot find /usr/lib/libpthread_nonshared.a collect2: error: ld returned 1 exit status make[6]: *** [librte_eal.so.2.1] Error 1 make[5]: *** [eal] Error 2 make[5]: *** Waiting for unfinished jobs.... I can see that the sysroots are properly populated in the mohonpeak64 machine path: $ find /home/adalela/poky15/build/tmp/sysroots/mohonpeak64/usr/lib -name crti.o /home/adalela/poky15/build/tmp/sysroots/mohonpeak64/usr/lib/crti.o $ But the sysroots are not populated in the x86_64-linux machine path: $ find /home/adalela/poky15/build/tmp/sysroots/x86_64-linux/usr/lib -name crti.o $ Since the GCC is coming from x86_64-linux, it appears to me that for some reason sysroot is getting messed. I tried the following in "dpdk_16.04.bb" but it did not help: CFLAGS += " --sysroot=${SDKTARGETSYSROOT} " export LIBRARY_PATH = "/home/adalela/poky15/build/tmp/sysroots/mohonpeak64" On searching for the same type of error, I can see this is fairly common and is easily resolved in other situations (outside Yocto) by setting the sysroot correctly. But I can't figure out how to do this correctly in Yocto. Can someone please guide on how to fix this issue? I have taken the liberty to modify the COMPATIBLE_MACHINE and that might be the problem, but as I said earlier, core-image-minimal built fine, the sysroots for mohonpeak64 are built correctly, but they are just not being found. So, this doesn't seem related to the COMPATIBLE_MACHINE change. Thanks in advance for your help, Ashish
-- _______________________________________________ meta-intel mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-intel
