[Bug 245997] emulators/qemu emulators/qemu-devel sysutils/dtc devel/valgrind [patch] use system dtc in qemu builds + additional updates
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Apr 28 09:55:16 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245997
Bug ID: 245997
Summary: emulators/qemu emulators/qemu-devel sysutils/dtc
devel/valgrind [patch] use system dtc in qemu builds +
additional updates
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: ports-bugs at FreeBSD.org
Reporter: lab+bsd at thinkum.space
CC: bofh at freebsd.org
CC: bofh at freebsd.org
Created attachment 213883
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=213883&action=edit
Patch for emulators/qemu emulators/qemu-devel sysutils/dtc devel/valgrind
In synopsis: When building devel/qemu under poudriere, on a FreeBSD 12.1 amd64
machine I was encountering a persistent build failure with devel/qemu during
staging - an excerpt from the build log
~~~~
mkdir: dtc/libfdt/libfdt.h: File exists
gmake[1]: *** [Makefile:488: dtc/libfdt/libfdt.h] Error 1
gmake[1]: Leaving directory '/wrkdirs/usr/ports/emulators/qemu/work/qemu-4.1.1'
~~~~
After taking a look at the qemu configure script, I discovered that it may be
possible to build with an existing libfdt.so. In order to do so, I've had to
update sysutils/dtc to version 1.6.0, as well as updating how the extra ldflags
are provided to the qemu configure script.
The qemu build now succeeds, locally. The additional testing now available for
sysutils/dtc also succeeds under make(test). For purpose of usability, I've
made some additional changes in the update - as detailed, in the following.
Summary of changes:
devel/valgrind: Update vki-freebsd.h patch for changes recommended in
http://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239669
emulators/qemu-devel: Add dtc dependency; move debug support into a
DEBUG port option, also setting WITH_DEBUG in this situation, enabling
the option by default; allow build with ncurses from ports, similar to
the emulators/qemu port; Upate how extra-ldflags are provided to the
configure script - providing the value only once, with no quote marks,
to ensure that the system dtc is detected during configure
emulators/qemu: Update in parallel to emulator/qemu for dtc from ports
and debug support
sysutils/dtc: Update to upstream release 1.6.0 - in which, the
function fdt_check_full() is now defined differently, to a side effect
as that the function should not be stripped from libfdt.so during normal
pkg staging. The function is used during qemu configure, for detecting
the presence of a system dtc. Add port option for building with yaml
support for dtc (not enabled by default); Add port option for valgrind
support during make(test), for amd64, i386 architectures; Add
post-patch hacks for ensuring that the build will not fail when yaml.h
and valgrind/memcheck.h cannot be located under wrksrc - these were
being added to make dependencies under generated *.d files, in local
build, should otherwise be unused in the build; Add subst vars for
port version in distinfo, as a convenience for port maint.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list