moby/hyperkit

error: implicit conversion changes signedness: 'enum vm_reg_name' to 'int'

jarrodconnolly opened this issue · 10 comments

Issue #246 was not fixed by the e499d90 commit referenced in marking it closed.

I am seeing this error on the latest master (c0dd463).

gen src/lib/dtrace.d
cc src/lib/vmm/intel/vmcs.c
cc src/lib/vmm/intel/vmx.c
src/lib/vmm/intel/vmx.c:1368:34: error: implicit conversion changes signedness: 'enum vm_reg_name' to 'int' [-Werror,-Wsign-conversion]
        error = vmx_getreg(vmx, vcpuid, reg, &val);
                ~~~~~~~~~~              ^~~
src/lib/vmm/intel/vmx.c:1419:40: error: implicit conversion changes signedness: 'enum vm_reg_name' to 'int' [-Werror,-Wsign-conversion]
        error = vmx_getdesc(vmx, vcpuid, vis->seg_name, &vis->seg_desc);
                ~~~~~~~~~~~              ~~~~~^~~~~~~~
2 errors generated.
make: *** [build/lib/vmm/intel/vmx.o] Error 1

λ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G87

λ xcodebuild -version
Xcode 11.0
Build version 11A420a

λ cc --version
Apple clang version 11.0.0 (clang-1100.0.33.8)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Interesting, I am not seeing that, but I have an older cc, will try updating XCode.

Yes, this seems to error in XCode 11 only.

This is really strange as enums are always signed...

rn commented

over on xhyve this was fixed via machyve/xhyve@bbf81ef

However in hyperkit there are a few more issue in the vsock implementation. For some reason, I don't quire under stand (yet) the CID is 64bit in some place.

@justincormack Just a ping, any thoughts on getting #261 merged in to get building on OSX working again?

I don't understand why this is still an issue. There are 2 PR's open (#261 & #266) that fixes this (#261 has been open for over 2 months now), yet it still remains an issue. I mean this in the most respectful manner, but is hyperkit still an active project?

djs55 commented

Hi, this is still an active project. Since it's heavily used on lots of machines we have to be a bit careful with changes, especially to core code. Hopefully we'll have time to do some review and testing soon!

hi @djs55,

Thanks so much for the reply! Then I'll just wait and be patient 😁

Hello, any update on this? Builds are broken on master right now.

For anyone who is stuck, to build from PR #266 (assuming you already have a clone of moby/hyperkit:

  1. git remote add fix git@github.com:amaumene/hyperkit.git
  2. git fetch --all
  3. git checkout fix/fix-issue-260
  4. make
  5. ./build/hyperkit -v
djs55 commented

Fix has now been merged, thanks for your patience.