Description of problem: We recently did our regular mass rebuild of packages in Fedora, and open-vm-tools failed to rebuild. The errors appear to be connected to the introduction of GCC 6. https://koji.fedoraproject.org/koji/taskinfo?taskID=12846436 https://kojipkgs.fedoraproject.org//work/tasks/4316/12854316/build.log Version-Release number of selected component (if applicable): open-vm-tools-10.0.0-9.fc24 How reproducible: 100% Steps to Reproduce: 1. Rebuild the package in Rawhide.
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle. Changing version to '24'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase
*** Bug 1307816 has been marked as a duplicate of this bug. ***
This affects both Rawhide and F24, but it is now critical for Rawhide. open-vm-tools must be rebuilt for the bumped ICU that landed in Rawhide, but it cannot because of this bug. open-vm-tools-desktop is pulled into the Workstation live image, so this bug prevents the Workstation live image from composing on Rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=13759324 08:18:47,198 ERR anaconda: The following software marked for installation has errors. This is likely caused by an error with your installation source. nothing provides libfreerdp-client.so.2.0()(64bit) needed by vinagre-3.20.1-1.fc25.x86_64. nothing provides libicudata.so.56()(64bit) needed by open-vm-tools-desktop-10.0.0-8.fc24.x86_64 I'm dealing with the vinagre thing, but this bug is beyond me. Upstream report: https://github.com/vmware/open-vm-tools/issues/67 , where Debian are also hitting it. Apparently it's doing something clever with bitmasks and left shifts that GCC 6 is not a fan of. As this entirely prevents the compose of a release-blocking image for Rawhide, marking as an automatic F25 Alpha blocker.
Created attachment 1149970 [details] build.log Attaching build.log which disappeared from original build.
If you try building without -Werror, you get these errors: In file included from /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/hostinfo.h:35:0, from dndGuest/rpcV3Util.cpp:45: /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:912:51: warning: result of '(-2147483648 << 1)' requires 33 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=] #define VMW_BIT_MASK(shift) (((1 << (shift - 1)) << 1) - 1) ~~~~~~~~~~~~~~~~~~~^~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:916:34: note: in expansion of macro 'VMW_BIT_MASK' CPUID_##name##_MASK = VMW_BIT_MASK(size) << bitpos, \ ^~~~~~~~~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:292:1: note: in expansion of macro 'FIELD' FIELD( 0, 0, EAX, 0, 32, NUMLEVELS, ANY, FALSE) \ ^~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:870:4: note: in expansion of macro 'CPUID_FIELD_DATA_LEVEL_0' CPUID_FIELD_DATA_LEVEL_0 \ ^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:927:4: note: in expansion of macro 'CPUID_FIELD_DATA' CPUID_FIELD_DATA ^~~~~~~~~~~~~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:912:51: error: left operand of shift expression '(-2147483648 << 1)' is negative [-fpermissive] #define VMW_BIT_MASK(shift) (((1 << (shift - 1)) << 1) - 1) ~~~~~~~~~~~~~~~~~~~~^~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:916:34: note: in expansion of macro 'VMW_BIT_MASK' CPUID_##name##_MASK = VMW_BIT_MASK(size) << bitpos, \ ^~~~~~~~~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:292:1: note: in expansion of macro 'FIELD' FIELD( 0, 0, EAX, 0, 32, NUMLEVELS, ANY, FALSE) \ ^~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:870:4: note: in expansion of macro 'CPUID_FIELD_DATA_LEVEL_0' CPUID_FIELD_DATA_LEVEL_0 \ ^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:927:4: note: in expansion of macro 'CPUID_FIELD_DATA' CPUID_FIELD_DATA ^~~~~~~~~~~~~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:292:22: error: enumerator value for 'CPUID_NUMLEVELS_MASK' is not an integer constant FIELD( 0, 0, EAX, 0, 32, NUMLEVELS, ANY, FALSE) \ ^ John Reiser's VMW_BIT_MASK definition is: #define VMW_BIT_MASK(shift) (int)~((~0u << (shift - 1)) << 1) If you try that one, you get these errors: In file included from /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/hostinfo.h:35:0, from dndGuest/rpcV3Util.cpp:45: /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:916:53: error: left operand of shift expression '(-1 << 0)' is negative [-fpermissive] CPUID_##name##_MASK = VMW_BIT_MASK(size) << bitpos, \ ^ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:292:1: note: in expansion of macro 'FIELD' FIELD( 0, 0, EAX, 0, 32, NUMLEVELS, ANY, FALSE) \ ^~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:870:4: note: in expansion of macro 'CPUID_FIELD_DATA_LEVEL_0' CPUID_FIELD_DATA_LEVEL_0 \ ^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:927:4: note: in expansion of macro 'CPUID_FIELD_DATA' CPUID_FIELD_DATA ^~~~~~~~~~~~~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:292:22: error: enumerator value for 'CPUID_NUMLEVELS_MASK' is not an integer constant FIELD( 0, 0, EAX, 0, 32, NUMLEVELS, ANY, FALSE) \ ^ Kevin Kofler's definition is: #define VMW_BIT_MASK(shift) ((int)(long long)(((1ULL << (shift - 1)) << 1) - 1)) with that one you get similar errors to John's: In file included from /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/hostinfo.h:35:0, from dndUIX11.cpp:50: /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:916:53: error: left operand of shift expression '(-1 << 0)' is negative [-fpermissive] CPUID_##name##_MASK = VMW_BIT_MASK(size) << bitpos, \ ^ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:916:53: note: in definition of macro 'FIELD' CPUID_##name##_MASK = VMW_BIT_MASK(size) << bitpos, \ ^~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:870:4: note: in expansion of macro 'CPUID_FIELD_DATA_LEVEL_0' CPUID_FIELD_DATA_LEVEL_0 \ ^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:927:4: note: in expansion of macro 'CPUID_FIELD_DATA' CPUID_FIELD_DATA ^ /builddir/build/BUILD/open-vm-tools-10.0.0-3000743/lib/include/x86cpuid.h:292:22: error: enumerator value for 'CPUID_NUMLEVELS_MASK' is not an integer constant FIELD( 0, 0, EAX, 0, 32, NUMLEVELS, ANY, FALSE) \ ^ Even if we fix this crap, we're gonna run headlong into this one: https://github.com/vmware/open-vm-tools/issues/82 which requires changes to the code of the kernel modules, and I ain't doing that. So I'm going to drop open-vm-tools packages from F25 comps groups until this is solved.
For the record, VMware folks pointed out that we don't build any modules in the Fedora package, so #82 should not affect us. Just fixing the bitmask problem should be enough for Fedora (unless there are still other GCC 6 issues lurking). Even with the comps change, proposing as an F25 Beta blocker, as this breaks Workstation upgrade to F25: open-vm-tools is installed in the old release and so the ICU dependency problem prevents the upgrade from working. See e.g. https://openqa.fedoraproject.org/tests/14555 .
open-vm-tools-10.0.5-2.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-4e2c1cd9fb
open-vm-tools-10.0.5-2.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-0bd6a38cad
open-vm-tools-10.0.5-2.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-36485d53b0
Adam, I have submitted updates to address this issue. Could you please help us re-enable open-vm-tools packages wherever you got it disabled? Thanks!
Yup, doing it now. Thanks for the fix!
open-vm-tools-10.0.5-2.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-36485d53b0
open-vm-tools-10.0.5-2.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-0bd6a38cad
open-vm-tools-10.0.5-2.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-4e2c1cd9fb
open-vm-tools-10.0.5-2.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.
open-vm-tools-10.0.5-2.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
open-vm-tools-10.0.5-2.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.