Celluloid compile fail mystery in OE
"Celluloid" is the new name for Gnome-MPV, the media player,
frontend GUI for MPV, the latter being a CLI media player (with a
primitive pseudo-GUI). Project home page:
https://celluloid-player.github.io/
I have a "meta-quirky" layer for the Dunfell release of OpenEmbedded, see two previous posts in the saga:
https://bkhome.org/news/202009/pango-version-144-is-a-disaster.html
https://bkhome.org/news/202009/openembeddedyocto-dunfell-meta-quirky-first-release.html
All 755 packages compile, except for one, Celluloid. Or rather, it
sometimes succeeds, sometimes not. Early this morning, 1.24am, I
started a complete recompile, then went to bed. I had wanted to time the
build, but when I got up at 7.30am, I discovered that the build had
stopped on an error -- oh no, Celluloid again.
On previous occasions, I had repeated the build of Celluloid, and maybe after a couple of attempts, it would succeed. Like this:
# bitbake -c cleansstate celluloid
# bitbake -c build celluloid
I am getting different error messages each time. This time, it
reported a missing termination of a comment, and I discovered that the
source file is truncated. Huh!?
How can that even happen?
Here is the recipe, and I have made a comment about the failure, and put in a possible fix:
# Recipe created by recipetool
# recipetool create -o celluloid_0.18.bb https://github.com/celluloid-player/celluloid/archive/v0.18.tar.gz
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=8006d9c814277c1bfc4ca22af94b59ee"
SRC_URI = "https://github.com/celluloid-player/celluloid/archive/v${PV}.tar.gz"
SRC_URI[md5sum] = "3fde6852840798ad61b3e39f1513f8d4"
SRC_URI[sha1sum] = "17c7bcc5f34f003140cad407b6a3ecd4d87ce769"
SRC_URI[sha256sum] = "3ce6158097d94786a62de5f26ab2cb71301e9fd0841ede8381e1535489cf0de8"
SRC_URI[sha384sum] = "1f0eafd8b6542178abee06ce68c978ac3a6a9ebd2b479e85136e8db77e2614a4e70aca622ae4a44a4ff383762ec508a2"
SRC_URI[sha512sum] = "acb76bd216100afbe3b083919e122308def1431845955dd418e7b2d57f37fb1353209d1f77f41790d3e01603ee1137fe2c5a57c7bb0ca9b0b13388278cc291f1"
DEPENDS = "libepoxy mpv gtk+3 glib-2.0 appstream-glib glib-2.0-native"
inherit gettext pkgconfig autotools-brokensep
EXTRA_OECONF = ""
# 20200929 why does build sometimes fail?
# today, error "unterminated comment" line 680 in src/mpris/celluloid-mpris-gdbus.c
# and i see 680 is end of the file -- however, file is supposed to have 8355 lines!
# try this:
PARALLEL_MAKE = "-j 1"
HOMEPAGE = "https://celluloid-player.github.io/"
SUMMARY = "GUI frontend for MPV media player"
Tried again, this time success. Now the build of all packages is continuing.
All 755 packages compile successfully, consistently, except for
Celluloid. Why just Celluloid? The source package looks like a pretty
ordinary autotools-based setup, can't see anything odd in the makefiles.
I put in that PARALLEL_MAKE = "j 1", but I don't see how
that would have anything to do with a source file getting truncated. Is
it something to do with ext4? A kernel problem?
Bitbake, the program that runs the OE build, uses all available
cores, in my case 4, and will be building 4 packages at once, swapping
between them continuously. Actually, it will be building many more than
4, but only 4 at the same time, rotating through them, like a 4-package
moving window.
Tags: oe