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

Reply via email to