Issue
I have successfully added the recipe openldap
to my yocto-base Linux distribution, by the instruction:
IMAGE_INSTALL += "openldap"
After that I've created a my-layer/recipes-support/openldap/openldap_%.bbappend
file and I've inserted in it the instruction:
INSANE_SKIP_${PN} += "already-stripped"
The previous setting specifies the QA checks to skip and in this case we ask to skip checks that produced binaries have not already been stripped prior to the build system extracting debug symbols (see Yocto manual about insane.bbclass
).
Whithout the previous instruction the compilation of openldap
fails with this error:
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/bin/ldapcompare' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/bin/ldapdelete' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/bin/ldapexop' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/bin/ldapmodify' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/bin/ldapmodrdn' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/bin/ldappasswd' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/bin/ldapsearch' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/bin/ldapurl' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/bin/ldapwhoami' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: QA Issue: File '/usr/sbin/slapd' from openldap was already stripped, this will prevent future debugging! [already-stripped]
ERROR: openldap-2.4.50-r0 do_package: Fatal QA errors found, failing task.
Conversely by adding the previous assignment to the variable INSANE_SKIP_${PN}
, the QA checks stop failing.
The compilation process produces the binary for the utility ldapsearch
but this binary isn't installed into the image.
Instead I'm sure that openldap
results correctly installed.
I don't find any method to add ldapsearch
and the other utilities to the image.
Could someone help me?
Solution
I have successfully added the recipe openldap to my Yocto image, by the instruction:
IMAGE_INSTALL += "openldap"
You've added the package openldap to your image. The recipe however defines multiple packages:
# The executables go in a separate package. This allows the
# installation of the libraries with no daemon support.
# Each module also has its own package - see above.
PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
# Package contents - shift most standard contents to -bin
FILES:${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data"
FILES:${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
FILES:${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp"
FILES:${PN}-bin = "${bindir}"
...
You likely want to add openldap-bin
to your image.
Answered By - Jussi Kukkonen Answer Checked By - Mary Flores (WPSolving Volunteer)