Dependencies with third party binaries
simon.zeni@...
Hi,
I'm currently working on repackaging the 2016 Intel compiler and I am stuck at the dependency resolution. I am basing my recipe on the AUR PKGBUILD [1], which extracts the RPMs from the parallel-studio-xe [2] archive and extracts the content of the RPMs to get the binaries. I already have the RPMs extracted from the tarball and stored in a git repo. Not the ideal solution, but good enough for now. The `bitbake` command for the recipe is passing after disabling a couple of QA errors (too much for my taste), but the recipe for the `core-image` fails at the dependency resolution. From what I understand, all of the binaries inside of the `FILES_${PN}` are checked, and one (or more) fails at the dependency check with the following message : ``` Error: Problem: conflicting requests - nothing provides ld-linux-k1om.so.2()(64bit) needed by icc-2016+1-r0.corei7_64 ``` This shared library seems to be Intel related but I cannot find it in all of the RPMs contained in the initial tarball. It is also not needed to run the compiler, I was able to execute the `icc` and `icpc` (the c++ compiler) binaries from the devshell. I know this is wrong and against every yocto principles, but is there a way to skip the dependenciey resolution for a specific recipe ? Or is there a recipe made by Intel that I missed ? I'm also open to any suggestions on how to tackle this task. Here's my recipe so far : ``` LICENSE = "CLOSED" LIC_FILES_CHKSUM = "" DEPENDS += "libarchive-native" SRC_URI = # omitted PV = "2016-1" SRCREV = "${AUTOREV}" S = "${WORKDIR}/git" extract_rpms() { for rpm_file in ${S}/$1; do bsdtar -xf ${rpm_file} -C $2 done } # Skip the unwanted steps do_configure[noexec] = "1" do_compile[noexec] = "1" do_install () { extract_rpms 'intel-icc*.rpm' ${D} extract_rpms 'intel-comp*.rpm' ${D} extract_rpms 'intel-ccomp*.rpm' ${D} extract_rpms 'intel-openmp*.rpm' ${D} } do_package_qa[noexec] = "1" ALLOW_EMPTY_${PN} = "1" FILES_SOLIBSDEV = "" FILES_${PN} += "/opt/intel/*" INSANE_SKIP_${PN} += "already-stripped ldflags arch staticdev file-rdeps build-deps" INHIBIT_PACKAGE_DEBUG_SPLIT = "1" INHIBIT_PACKAGE_STRIP = "1" ``` Thanks, Simon Zeni [1]: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=intel-parallel-studio-xe&id=d4e2871a3bf698c3a5f58ee2201df53fe7f5dce7 [2]: http://registrationcenter-download.intel.com/akdlm/irc_nas/8365/parallel_studio_xe_2016_update1.tgz |
|