Closed bkauler closed 6 years ago
I have just complete a build in OE, that includes a successful build of Libreoffice. The way I fixed the problem with 'glm' is I copied the "official" glm recipe from meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb to recipes-support in my own layer, so as to override the one in meta-libreoffice.
I made a change though, to my 'glm-0.9.8.4.bb', file here:
SUMMARY = "OpenGL Mathematics Library"
DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
mathematics library for graphics software based on the OpenGL \
Shading Language (GLSL) specifications."
HOMEPAGE = "https://glm.g-truc.net"
BUGTRACKER = "https://github.com/g-truc/glm/issues"
SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://copying.txt;md5=4431606d144252143c9c3df384a74cad"
SRC_URI = "git://github.com/g-truc/glm;protocol=https"
SRCREV = "5dcc56489e1b66dfd5bca751fa9b8dc68059e008"
S = "${WORKDIR}/git"
inherit cmake
FILES_${PN}-dev += "${libdir}/cmake"
RDEPENDS_${PN}-dev = ""
# 170506 BK
# above is exactly as per meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb, copied
# here so as to override meta-office/recipes-support/glm/glm_0.9.8.3.bb which
# has broken do_install. however, do_rootfs fails because there is no 'glm' deb,
# as only have files in -dev deb. so, do this hack...
do_install_append () {
mkdir -p ${D}/usr/bin
echo 'dummy file to force OE to create a glm deb' > ${D}/usr/bin/glm-do-nothing-file
}
I didn't know how else to fix the problem with do_rootfs. There was no "glm" deb, but my hack fixed it.
I have compiled libreoffice in OpenEmbedded, only had a couple of hiccups.
One of those is the 'glm' package. libreoffice.bb specifies 'glm' as a dependency and has "--with-system-glm". The recipe used is meta-office/recipes-support/glm/glm_0.9.8.3.bb, rather than the one at meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb
glm compiles and installs, but do_package reports this:
I am doing a genericx86_64 non-multilib build, and there is only /lib and /usr/lib, I guess that is the cause of the above problem.
There are suggestions how to fix it, but I am a newcomer to OpenEmbedded/Yocto and do not yet have much of a clue how things work. I suppose the do_install would have to determine that /usr/lib64 is not appropriate, and either install to /usr/lib, or move after installation. Is the fix for this obvious to any of you guys?
Note, just ignoring the problem and continuing the build with "bitbake --continue ..." does complete the build of libreoffice. There is one other failure, but I will post about that separately.