schnitzeltony / meta-office

OE layer for office applications and libs with focus on libreoffice
MIT License
0 stars 2 forks source link

glm do_package error #3

Closed bkauler closed 6 years ago

bkauler commented 7 years ago

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:

ERROR: glm-0.9.8.3-r0 do_package: QA Issue: glm: Files/directories were installed but not shipped in any package:
  /usr/lib64
  /usr/lib64/cmake
  /usr/lib64/pkgconfig
  /usr/lib64/cmake/glm
  /usr/lib64/cmake/glm/glmConfig.cmake
  /usr/lib64/cmake/glm/glmConfigVersion.cmake
  /usr/lib64/cmake/glm/glmTargets.cmake
  /usr/lib64/pkgconfig/glm.pc
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
glm: 8 installed and not shipped files. [installed-vs-shipped]
ERROR: glm-0.9.8.3-r0 do_package: Fatal QA errors found, failing task.
ERROR: glm-0.9.8.3-r0 do_package: Function failed: do_package
ERROR: Logfile of failure stored in: /mnt/sda1/projects/oe/oe-project/buildQ/tmp/work/core2-64-poky-linux/glm/0.9.8.3-r0/temp/log.do_package.9002
ERROR: Task (/mnt/sda1/projects/oe/oe-project/meta-office/recipes-support/glm/glm_0.9.8.3.bb:do_package) failed with exit code '1'

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.

bkauler commented 7 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.