Solved Building bhyve with HDA patch

wearesix

New Member


Messages: 9

Hello all,

i've tried to build bhyve separately, not the whole base, but with hda-patch applied.
is this possible?
Or do i have to build the whole base including bhyve?

i've done the following:
1.) /usr/src was clean
2.)
svn checkout https://svn.freebsd.org/base/projects/bhyve /usr/src

3.)
patch -d bhyve/ < bhyve_hda.patch

4.)
make buildworld
runs into an error after several minutes with...
Code:
/usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/lib/Analysis/LazyValueInfo.cpp:998:14: error:
      no matching member function for call to 'insert'
    worklist.insert(worklist.end(), succ_begin(ToUpdate), succ_end(ToUpdate));
and finally:
Code:
c++: error: no such file or directory: '/usr/obj/usr/src/tmp/usr/src/usr.bin/clang/clang/../../../lib/clang/libllvmlinker/libllvmlinker.a'
c++: error: no such file or directory: '/usr/obj/usr/src/tmp/usr/src/usr.bin/clang/clang/../../../lib/clang/libllvmarchive/libllvmarchive.a'
who can help?
Thank you!

P.S.: also in LoopInfo.cpp:
Code:
In file included from /usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/lib/Analysis/LoopInfo.cpp:21:
/usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h:389:26: error:
      no matching member function for call to 'insert'
      ReverseCFGWorklist.insert(ReverseCFGWorklist.end(),
 
Last edited:

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 9,283
Messages: 33,826

i've tried to build bhyve separately
The source you are fetching hasn't been updated in about 4 years. There's no reason to fetch it separately, it's been integrated in the base OS and is being developed from there.
 

grehan@

Member
Developer

Reaction score: 85
Messages: 84

You can do this without having to rebuild world, and instead just rebuilding the bhyve executable.
  1. Make sure the version of source checked out into /usr/src is the same version as what is running
  2. Create a directory to hold the bhyve sources (e.g. ~/proj/bhyve_hda) and copy /usr/src/usr.sbin/bhyve/* into that directory.
  3. Verify that you can build the executable cleanly from within the directory, using make -m /usr/src/share/mk
  4. Apply the patch, and rebuild
 

free-and-bsd

Aspiring Daemon

Reaction score: 110
Messages: 802

You can do this without having to rebuild world, and instead just rebuilding the bhyve executable.
  1. Make sure the version of source checked out into /usr/src is the same version as what is running
  2. Create a directory to hold the bhyve sources (e.g. ~/proj/bhyve_hda) and copy /usr/src/usr.sbin/bhyve/* into that directory.
  3. Verify that you can build the executable cleanly from within the directory, using make -m /usr/src/share/mk
  4. Apply the patch, and rebuild
Doesn't seem to work this way now, does it?
 
Top