Hello, I am trying to compile Beignet on Yocto 3.0.1 (zeus) 32 bits for Intel Coffee Lake with UHD 630 Graphics. I have the meta-clang layer <https://github.com/kraj/meta-clang> which provides clang/llvm 9.0. My compilation is failing. I have a bitbake recipe for beignet, with a script borrowed from meta-beignet <https://github.com/rossburton/meta-beignet> and edited (given below). Is there any patch for compiling beignet with LLVM 9.0 for 32 bits?
I am encountering the following issues during the configure step: ``` | CMake Error: Attempt to add a custom rule to output "/home/soham/disk/yocto-vanilla/build/tmp/work/x86_64-linux/beignet-native/1.0+gitAUTOINC+419c041736-r0/build/backend/src/libocl/src/ocl_workitem.cl.rule" which already has a custom rule. | CMake Error: Attempt to add a custom rule to output "/home/soham/disk/yocto-vanilla/build/tmp/work/x86_64-linux/beignet-native/1.0+gitAUTOINC+419c041736-r0/build/backend/src/libocl/src/ocl_async.cl.rule" which already has a custom rule. | CMake Error: Attempt to add a custom rule to output "/home/soham/disk/yocto-vanilla/build/tmp/work/x86_64-linux/beignet-native/1.0+gitAUTOINC+419c041736-r0/build/backend/src/libocl/src/ocl_sync.cl.rule" which already has a custom rule. | CMake Error: Attempt to add a custom rule to output "/home/soham/disk/yocto-vanilla/build/tmp/work/x86_64-linux/beignet-native/1.0+gitAUTOINC+419c041736-r0/build/backend/src/libocl/src/ocl_memcpy.cl.rule" which already has a custom rule. | CMake Error: Attempt to add a custom rule to output "/home/soham/disk/yocto-vanilla/build/tmp/work/x86_64-linux/beignet-native/1.0+gitAUTOINC+419c041736-r0/build/backend/src/libocl/src/ocl_memset.cl.rule" which already has a custom rule ... | CMake Error: The following variables are used in this project, but they are set to NOTFOUND. | Please set them or make sure they are set and tested correctly in the CMake files: | CLANG_LIB | linked by target "gbe" in directory /home/soham/disk/yocto-vanilla/build/tmp/work/x86_64-linux/beignet-native/1.0+gitAUTOINC+419c041736-r0/git/backend/src | linked by target "gbe" in directory /home/soham/disk/yocto-vanilla/build/tmp/work/x86_64-linux/beignet-native/1.0+gitAUTOINC+419c041736-r0/git/backend/src ``` The following is my beignet recipe for Yocto: ``` DEPENDS = "beignet-native ocl-icd ncurses libdrm libxfixes libx11 libxext clang mesa llvm" DEPENDS_class-native = "clang-native libdrm-native ocl-icd" # NOTE: spec file indicates the license may be "MIT" inherit cmake pkgconfig pythonnative clang BBCLASSEXTEND = "native" EXTRA_OECMAKE = "-DLLVM_LIBRARY_DIR=${STAGING_LIBDIR} -DBEIGNET_INSTALL_DIR=/usr/lib/beignet -DCMAKE_BUILD_TYPE=Release -DCOMPILER=clang" EXTRA_OECMAKE_append_class-target = " -DCMAKE_SKIP_RPATH=TRUE -DUSE_STANDALONE_GBE_COMPILER=true" EXTRA_OECMAKE_append_class-target = " -DGEN_PCI_ID=0x3e92" # TODO respect distrofeatures for x11 PACKAGECONFIG ??= "" PACKAGECONFIG[examples] = '-DBUILD_EXAMPLES=1,-DBUILD_EXAMPLES=0,libva' # TODO: add explicit on/off upstream PACKAGECONFIG[x11] = ",,libxext libxfixes" FILES_${PN} += " \ ${sysconfdir}/OpenCL/vendors/intel-beignet.icd \ ${libdir} ${includedir} \ " FILES_${PN}-dev = "" do_install_append() { # Remove the headers; these will be included by another recipe rm -rf ${D}${includedir}/CL # Create intel-beignet.icd file mkdir -p ${D}${sysconfdir}/OpenCL/vendors/ echo ${libdir}/beignet/libcl.so > ${D}${sysconfdir}/OpenCL/vendors/intel-beignet.icd } do_install_append_class-target() { install -d ${D}${bindir} install -m 0755 ${B}/backend/src/gbe_bin_generater ${D}${bindir} install -d ${D}${libdir}/beignet/include install -m 0755 ${B}/utests/utest_run ${D}${libdir}/beignet install -m 0755 ${B}/utests/setenv.sh ${D}${libdir}/beignet install -m 0644 ${S}/kernels/*.cl ${D}${libdir}/beignet install -m 0644 ${S}/kernels/*.bmp ${D}${libdir}/beignet install -m 0644 ${S}/kernels/compiler_ceil.bin ${D}${libdir}/beignet install -m 0644 ${S}/kernels/runtime_compile_link.h ${D}${libdir}/beignet install -m 0644 ${S}/kernels/include/runtime_compile_link_inc.h ${D}${libdir}/beignet/include/runtime_compile_link_inc.h install -d ${D}${libdir} install -m 0644 ${B}/utests/libutests.so ${D}${libdir} } do_install_class-native() { install -d ${D}${libdir}/cmake install -m644 ${S}/CMake/FindStandaloneGbeCompiler.cmake ${D}${libdir}/cmake install -d ${D}${bindir} install ${B}/backend/src/gbe_bin_generater ${D}${bindir} install -d ${D}${bindir}/include install ${B}/backend/src/libocl/usr/lib/beignet/include/* ${D}${bindir}/include } ``` I would appreciate any help or pointer. Regards, Soham S PhD Student, Department of Computer Science Boston University
_______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/beignet