mumble-voip / mumble-releng

Mumble Release Engineering
Other
17 stars 21 forks source link

libogg now requires Windows 8 SDK #54

Closed Kissaki closed 6 years ago

Kissaki commented 7 years ago

I just updated to after the libogg update in 4e05efffbacd68aebed2fe7dc5376afd97887024, and the build fails with

Project "C:\MumbleBuild\win64-static-no-ltcg-1.3.x-2017-04-14-ae22412-856.build\libogg-1.3.2\win32\VS2010\libogg_static.sln" (1) is building "C:\MumbleBuild\win64-static-no-ltcg-1.3.x-2017-04-14-ae22412-856.build\libogg-1.3.2\win32\VS2010\libogg_static.vcxproj" (2) on node 1 (default targets).
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\x64\PlatformToolsets\v140\Toolset.targets(36,5): error
 MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:\MumbleBuild\win64-static-no-ltcg-1.3.x-2017-04-14-ae22412-856.build\libogg-1.3.2\win32\VS2010\libogg_static.vcxproj]
Kissaki commented 7 years ago

I am on Windows 10, so I have the Windows 10 SDK installed, and the Windows 7 SDK for Overlay x86 XP support (which we require).

mkrautz commented 7 years ago

I didn't see this because the builders and my own machine both have old(er) Windows 8 SDKs...

Kissaki commented 7 years ago

I tried some stuff out, but couldn't figure out how to make it use the Windows 10 SDK.

When I revert the change from 4e05efffbacd68aebed2fe7dc5376afd97887024 (changed --host on ./configure), it fails with error

checking for non-GNU ld... no
configure: error: no acceptable ld found in $PATH

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.WindowsSDK.props

defines the Windows 8 SDK as a fallback DefaultWindowsSDKVersion, but SDKVersion to 10.0 later. So I don't really see why it wouldn't (be able to) use the installed Windows 10 SDK.

No MSDN library article on the error MSB8036. Didn't find specific info on specifying the SDK version (without Visual Studio GUI).

Kissaki commented 7 years ago

My Windows SDK switcher displays the 8 SDK, even tho it is not installed. I had uninstalled it, but still had a Windows 8 SDK directory, which I removed manually (before I uninstalled all of them and all VS).

Kissaki commented 7 years ago

Setting the SDK in the project with VS 2017 sets the property

<Project …>
<PropertyGroup Label="Globals">
    <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
# Set Windows SDK Version to prevent use of version 8 when it is not installed
sed -i -e "s,<Keyword>Win32Proj</Keyword>,<Keyword>Win32Proj</Keyword>\n    <WindowsTargetPlatformVersion>${WindowsSDKVersion}</WindowsTargetPlatformVersion>,g" libogg_static.vcxproj
Kissaki commented 7 years ago

I think my installation is broken. It seems my setting is set to use the Windows 8 SDK that no longer exists, but I can't change it with the "Windows SDK Configuration Tool" because that requires an old VS installed.

Although that probably wouldn't even fix it, as I'm using the CLI tools. Dog knows where it chooses the 8 SDK.

Fuck all these Windows installer shits. 😠

Kissaki commented 7 years ago

I installed the 8.1 SDK, but it still won't find it. Also, it does not show up in the list of installed applications.

/e: I actually found it (it seems they removed the old program with the Win10 creators update. The new one is not very good UI wise, wasting space…).

Kissaki commented 7 years ago

Not sure if this is because of an utterly broken system now. Guess I'm gonna be using my last buildenv for a while again.

A test on a clean(er) system should answer that…

mkrautz commented 6 years ago

I'll close this as "out-of-date" for now. If the problem persists, we can open it again.