Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £129! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £179! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

Build my own Vix image

I get the same
Code:
undefined reference to `stime'

@ Willo3092 was your qemu already compiled?

Sorry, I have no idea what that means. I'm very much a bumbling poke and hope merchant :eek:
If a build fails, I try a build for something else similar. If that works, 9 times out of 10 the one that failed will now work.
I retired from work yesterday so I promise to try and learn about the stuff I'm dabbling with.
 
I'm using Ubuntu 20.04.....

Man page for stime could have the answer? .....

Code:
http://manpages.ubuntu.com/manpages/focal/man2/stime.2.html

Starting with glibc 2.31, this function is no longer available to newly linked
applications and is no longer declared in <time.h>.
 
Last edited:
For the Vu+ Ultimo4k, it's just the qemu-native that fails

@CCS have you managed to complete a build or at least do qemu-native
Hmmmm...there was a bug there. I may have applied a patch to my build. I reported it here...

Posts are (restricted links removed, replaced with actual text):

The build fails because of this known bug in qemu:

Code:
https://bugs.launchpad.net/qemu/+bug/1852115

Anyone with qemu already built may be OK - at least as far as compiling goes - but the qemu version needs to be bumped to fix this.

Originally Posted by birdman
It seems that I haven't submitted the patch yet though....I'll have to sort out which repository it is in.
It's in openembedded-core.

However, when I go to that on github I find that master there is configured for qemu 4.2 (which probably has the fix in already). But my fresh download of build-environment 4.4 ends up using qemu 4.1.
Any ideas as to why?

But if it were using qemu 4.2 (as it appears it should be?) this wouldn't be an issue.

I'll track down my fix....
 
Last edited:
.... they're all restricted access.:p
 
I'll track down my fix....

In oe-alliance/openembedded-core/meta/recipes-devtools/qemu

Edit qemu.inc to add:
Code:
           file://0100-stime-call-gone.patch \
at the end of the SRC_URI (so after file://CVE-2019-15890.patch).

Add this file (unzipped) into the qemu sub-directory as 0100-stime-call-gone.patch

View attachment patch.zip
 
I can't see any lines with file: in qemu.inc, they're in qemu_3.0.0.bb

Am I in the right directory??


Code:
openvixbuilder@Unix:~/openvix/[B]build-enviroment[/B]/openembedded-core/meta/recipes-devtools/qemu$ ls -l
total 44
-rw-rw-r-- 1 openvixbuilder openvixbuilder 1211 Aug  1 12:31 nativesdk-qemu-helper_1.0.bb
drwxrwxr-x 2 openvixbuilder openvixbuilder 4096 Aug  1 12:31 qemu
-rw-rw-r-- 1 openvixbuilder openvixbuilder 2482 Aug  1 12:31 qemu_3.0.0.bb
drwxrwxr-x 2 openvixbuilder openvixbuilder 4096 Aug  1 12:31 qemu-helper
-rw-rw-r-- 1 openvixbuilder openvixbuilder  492 Aug  1 12:31 qemu-helper-native_1.0.bb
-rw-rw-r-- 1 openvixbuilder openvixbuilder 4971 Aug  1 12:31 qemu.inc
-rw-rw-r-- 1 openvixbuilder openvixbuilder 4971 Aug  1 18:32 qemu.inc.orig
-rw-rw-r-- 1 openvixbuilder openvixbuilder  914 Aug  1 12:31 qemu-targets.inc
-rw-rw-r-- 1 openvixbuilder openvixbuilder  794 Aug  1 12:31 qemuwrapper-cross_1.0.bb
Code:
cat qemu.inc

SUMMARY = "Fast open source processor emulator"
HOMEPAGE = "http://qemu.org"
LICENSE = "GPLv2 & LGPLv2.1"
DEPENDS = "glib-2.0 zlib pixman"
RDEPENDS_${PN}_class-target += "bash"

require qemu-targets.inc
inherit pkgconfig bluetooth
BBCLASSEXTEND = "native nativesdk"

# QEMU_TARGETS is overridable variable
QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc riscv32 riscv64 sh4 x86_64"

EXTRA_OECONF = " \
    --prefix=${prefix} \
    --bindir=${bindir} \
    --includedir=${includedir} \
    --libdir=${libdir} \
    --mandir=${mandir} \
    --datadir=${datadir} \
    --docdir=${docdir}/${BPN} \
    --sysconfdir=${sysconfdir} \
    --libexecdir=${libexecdir} \
    --localstatedir=${localstatedir} \
    --with-confsuffix=/${BPN} \
    --disable-strip \
    --disable-werror \
    --target-list=${@get_qemu_target_list(d)} \
    --extra-cflags='${CFLAGS}' \
    ${PACKAGECONFIG_CONFARGS} \
    "
EXTRA_OECONF_append_class-native = " --python=python2.7"

EXTRA_OEMAKE_append_class-native = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"

LDFLAGS_append_class-native = " -fuse-ld=bfd"

export LIBTOOL="${HOST_SYS}-libtool"

B = "${WORKDIR}/build"

do_configure_prepend_class-native() {
	# Append build host pkg-config paths for native target since the host may provide sdlqemu_3.0.0.bb
	BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "")
	if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then
		export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH
	fi
}

do_configure() {
    ${S}/configure ${EXTRA_OECONF}
}

do_install () {
	export STRIP=""
	oe_runmake 'DESTDIR=${D}' install
}

# The following fragment will create a wrapper for qemu-mips user emulation
# binary in order to work around a segmentation fault issue. Basically, by
# default, the reserved virtual address space for 32-on-64 bit is set to 4GB.
# This will trigger a MMU access fault in the virtual CPU. With this change,
# the qemu-mips works fine.
# IMPORTANT: This piece needs to be removed once the root cause is fixed!
do_install_append() {
	if [ -e "${D}/${bindir}/qemu-mips" ]; then
		create_wrapper ${D}/${bindir}/qemu-mips \
			QEMU_RESERVED_VA=0x0
	fi
}
# END of qemu-mips workaround

PACKAGECONFIG ??= " \
    fdt sdl kvm \
    ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \qemu_3.0.0.bb
"
PACKAGECONFIG_class-native ??= "fdt alsa kvm"
PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"

# Handle distros such as CentOS 5 32-bit that do not have kvm support
PACKAGECONFIG_class-native_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"

# Disable kvm on targets that do not support it
PACKAGECONFIG_remove_darwin = "kvm"
PACKAGECONFIG_remove_mingw32 = "kvm"

PACKAGECONFIG[sdl] = "--enable-sdl --with-sdlabi=2.0,--disable-sdl,libsdl2"
PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs,"
PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen,xen-libxenstore xen-libxenctrl xen-libxenguest"
PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl,"
PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg,"
PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng,"
PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl,"
PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss,"
PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,"
PACKAGECONFIG[gtk+] = "--enable-gtk --with-gtkabi=3.0 --enable-vte,--disable-gtk --disable-vte,gtk+3 vte"
PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng,"
PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2,"
PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt,"
PACKAGECONFIG[nettle] = "--enable-nettle,--disable-nettle,nettle"
PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1"
PACKAGECONFIG[fdt] = "--enable-fdt,--disable-fdt,dtc"
PACKAGECONFIG[alsa] = "--audio-drv-list='oss alsa',,alsa-lib"
PACKAGECONFIG[glx] = "--enable-opengl,--disable-opengl,mesa"
PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo"
PACKAGECONFIG[numa] = "--enable-numa,--disable-numa,numactl"
PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls"
PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}"
PACKAGECONFIG[libiscsi] = "--enable-libiscsi,--disable-libiscsi"
PACKAGECONFIG[kvm] = "--enable-kvm,--disable-kvm"
PACKAGECONFIG[virglrenderer] = "--enable-virglrenderer,--disable-virglrenderer,virglrenderer"
# spice will be in meta-networking layer
PACKAGECONFIG[spice] = "--enable-spice,--disable-spice,spice"
# usbredir will be in meta-networking layer
PACKAGECONFIG[usb-redir] = "--enable-usb-redir,--disable-usb-redir,usbredir"

INSANE_SKIP_${PN} = "arch"
 
Trying anyway with changes made to qemu_3.0.0.bb

Failed almost immediately.....
Code:
ERROR: qemu-native-3.0.0-r0 do_patch: Command Error: 'quilt --quiltrc /home/openvixbuilder/openvix/build-enviroment/builds/openvix/release/et10000/tmp/work/x86_64-linux/qemu-native/qemu-native-3.0.0-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0  Output:
Applying patch 0100-stime-call-gone.patch
patching file linux-user/syscall.c
Hunk #1 FAILED at 7654.
1 out of 1 hunk FAILED -- rejects in file linux-user/syscall.c
Patch 0100-stime-call-gone.patch does not apply (enforce with -f)
ERROR: qemu-native-3.0.0-r0 do_patch: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /home/openvixbuilder/openvix/build-enviroment/builds/openvix/release/et10000/tmp/work/x86_64-linux/qemu-native/qemu-native-3.0.0-r0/temp/log.do_patch.1199829
ERROR: Task (virtual:native:/home/openvixbuilder/openvix/build-enviroment/openembedded-core/meta/recipes-devtools/qemu/qemu_3.0.0.bb:do_patch) failed with exit code '1'
 
Last edited:
Trying anyway with changes made to qemu_3.0.0.bb

I added it here M8

Code:
SUMMARY = "Fast open source processor emulator"
DESCRIPTION = "QEMU is a hosted virtual machine monitor: it emulates the \
machine's processor through dynamic binary translation and provides a set \
of different hardware and device models for the machine, enabling it to run \
a variety of guest operating systems"
HOMEPAGE = "http://qemu.org"
LICENSE = "GPLv2 & LGPLv2.1"

RDEPENDS_${PN}-ptest = "bash make"

require qemu-targets.inc
inherit pkgconfig ptest

LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
                    file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"

SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
           file://powerpc_rom.bin \
           file://run-ptest \
           file://0001-qemu-Add-missing-wacom-HID-descriptor.patch \
           file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
           file://0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
           file://0004-qemu-disable-Valgrind.patch \
           file://0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \
           file://0006-chardev-connect-socket-to-a-spawned-command.patch \
           file://0007-apic-fixup-fallthrough-to-PIC.patch \
           file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
           file://0009-Fix-webkitgtk-builds.patch \
           file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \
           file://CVE-2019-15890.patch \
           [B]file://0100-stime-call-gone.patch \[/B]
           "
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"

SRC_URI[md5sum] = "cdf2b5ca52b9abac9bacb5842fa420f8"
SRC_URI[sha256sum] = "656e60218689bdeec69903087fd7582d5d3e72238d02f4481d8dc6d79fd909c6"

COMPATIBLE_HOST_mipsarchn32 = "null"
COMPATIBLE_HOST_mipsarchn64 = "null"

I've started it building again will check back later to see if it's succeeded this time
 
So did I, kind of, but you seem to have version 4 of qemu, and I've got version 3. :confused:
 
I did have QEMU mismatch type errors so I started scratch again and apart from odd warnings, no issues at all. You do, occasionally, get failed errors but normally re-running them or later that day re-running, resolves them.

Also, previously I'd use a VPS but it had become unbelievably slow (days vs hours) so have now gone back to doing this locally and it's hours again. This, for me, I suspect is VPS provider becoming really busy over last few months.
 
So did I, kind of, but you seem to have version 4 of qemu, and I've got version 3. :confused:
I have 4.1.
But if you look at openemdedcore on github it should be 4.2.
Hence my question as to why I wasn't getting 4.2 (which I think has the fix in it already). It would seem that there is something wrong with the configuration such that OE changes don't get reflected in the build set-up.
 
Last edited:
The nearest I came up with on github was openembedded-core, but no clues beyond that.
 
openembeded-core actually upgraded to qemu 5.0 on Jun 23.

Code:
http://git.openembedded.org/openembedded-core/log/meta/recipes-devtools/qemu/qemu-native_5.0.0.bb

I can only assume that somewhere within the build tree a specific commit tag is being requested for openembeded-core.*

But that can't explain why I get 4.1, while you get 3.0. I'm presuming that you're building from OE 4.4, not 4.3?

*EDIT: Which is, indeed, what is happening. It's checking out tag b6abf7c201f7c9668bdf3c6e87c7dbc70c6427f9, which is:
commit b6abf7c201f7c9668bdf3c6e87c7dbc70c6427f9
Author: Richard Purdie <[email protected]>
Date: Wed Oct 9 14:13:43 2019 +0100

build-appliance-image: Update to master head revision

Signed-off-by: Richard Purdie <[email protected]>
This tag (and others for other "sub-gits" is saved in oe-alliance/.git/modules/openembedded-core/HEAD (and similar). What configures this remains a mystery, as no other file in the dev setup contains that string.
 
Last edited:
I'm presuming that you're building from OE 4.4, not 4.3?

I used 4.3, because, if I understand correctly, OpenViX 5.3 uses the OE-A 4.3 branch.
.
Is that why it's going wrong, I was just trying to build the current 5.3 image?
 
This is what I get using 4.4, the error happens soon after the build starts...

Code:
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    Fetcher failure for URL: 'https://www.example.com/'. URL https://www.example.com/ doesn't work.
    Please ensure your host's network is configured correctly,
    or set BB_NO_NETWORK = "1" to disable network access if
    all required sources are on local disk.
 
Well the good news is that I complete the qemu OK, but now get fails on stb-kodi-vuultimo4k_18 and qtbase_git

I think I'll try from scratch again
 
I used 4.3, because, if I understand correctly, OpenViX 5.3 uses the OE-A 4.3 branch.
.
Is that why it's going wrong, I was just trying to build the current 5.3 image?
That would explain the qemu version differences - I was building 5.4.xxx.xxx.
The same patch (or at least its logic) should apply to v3 of qemu.
 
This is what I get using 4.4, the error happens soon after the build starts...

Code:
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    Fetcher failure for URL: 'https://www.example.com/'. URL https://www.example.com/ doesn't work.
    Please ensure your host's network is configured correctly,
    or set BB_NO_NETWORK = "1" to disable network access if
    all required sources are on local disk.

I got this back in March.
openembedded-core/meta/conf/distro/include/default-distrovars.inc includes a default setting for CONNECTIVITY_CHECK_URIS of https://www.example.com/ (which will never work). So something is supposed to set a usable value. But nothing ever does.

My comments at the time were:
Now, I can set this globally for my set-up in openembedded-core/meta/conf/conf/local.conf (which looks like a bug, as the local.conf.example file is in the first conf/, but the code only ever looks in the conf/conf/ location).

How do others set this?

The pathnames are as I gave them. However, having actually made that fix and started a build I can now remove that fix and the build still starts. Perhaps something has been added in that last few days that only gets used on building a specific, common part.

I've also done a completely fresh build of 4.4 since and not seen this problem.

None of which is really all that helpful....
 
Thanks again, I'm not see the filestore structure you're describing......
Code:
openvixbuilder@Unix:~/openvix/build-enviroment/openembedded-core/meta/conf$ ls -l
total 188
-rw-rw-r-- 1 openvixbuilder openvixbuilder   306 Aug  2 11:52 abi_version.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder   189 Aug  2 11:52 bblayers.conf.sample
-rw-rw-r-- 1 openvixbuilder openvixbuilder 35720 Aug  2 11:52 bitbake.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder    34 Aug  2 11:52 ccache.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder   463 Aug  2 11:52 conf-notes.txt
drwxrwxr-x 3 openvixbuilder openvixbuilder  4096 Aug  2 11:52 distro
-rw-rw-r-- 1 openvixbuilder openvixbuilder 52454 Aug  2 11:52 documentation.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder   501 Aug  2 11:52 image-uefi.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder  3080 Aug  2 11:52 layer.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder  7836 Aug  2 11:52 licenses.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder 10166 Aug  2 11:52 local.conf.sample
-rw-rw-r-- 1 openvixbuilder openvixbuilder 16299 Aug  2 11:52 local.conf.sample.extended
drwxrwxr-x 3 openvixbuilder openvixbuilder  4096 Aug  2 11:52 machine
drwxrwxr-x 2 openvixbuilder openvixbuilder  4096 Aug  2 11:52 machine-sdk
-rw-rw-r-- 1 openvixbuilder openvixbuilder    32 Aug  2 11:52 migrate_localcount.conf
drwxrwxr-x 2 openvixbuilder openvixbuilder  4096 Aug  2 11:52 multiconfig
-rw-rw-r-- 1 openvixbuilder openvixbuilder  1381 Aug  2 11:52 multilib.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder    22 Aug  2 11:52 prexport.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder    22 Aug  2 11:52 primport.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder   336 Aug  2 11:52 sanity.conf
-rw-rw-r-- 1 openvixbuilder openvixbuilder  1208 Aug  2 11:52 site.conf.sample
 
I commented out the last line CONNECTIVITY_CHECK_URIS ?= "https://www.example.com/" in ~/openvix/build-enviroment/openembedded-core/meta/conf/distro/include/default-distrovars.inc

The build has now got past that hurdle.
 

OpenViX Feeds Status

Back
Top