[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