uxmal / reko

Reko is a binary decompiler.
https://uxmal.github.io/reko
GNU General Public License v2.0
2.13k stars 252 forks source link

Unable to build decompiler (missing dependencies; Win 10 x64, VS 2022) #1189

Open FuryoftheStars opened 2 years ago

FuryoftheStars commented 2 years ago

Hi, I'm trying to build the decompiler following the instructions on the main page under the "Hacking" section using Visual Studio 2022 (v17.2.5) on a x64 Windows 10 (21H2) machine, but there appear to be a lot of dependencies that are missing and thus obviously won't build. Full list is in the attached .docx file (VS is reporting 182 errors and 3 warnings).

I've confirmed that .NET 5.0 SDK/Runtime is installed (used both the VS Installer and even manually downloaded and installed it from MS), and even rebooted my computer to be sure that wasn't the issue. I've also attached the exported config from my VS Installer to show which components I have installed (it's the vsconfig.txt file).

What components am I still missing?

Build errors.docx vsconfig.txt

uxmal commented 2 years ago

Thanks for the issue report. The build errors are consistent with a dotnet restore command missing. Try entering this on the command line in the ~/src directory -- that directory contains the Reko-decompiler.sln solution file. Or, if you prefer running inside of VStudio, right-click on the top node in the Solution Explorer and select Restore NuGet Packages.

Let me know how this works, either way.

FuryoftheStars commented 2 years ago

Thanks for the suggestion, but I get a bunch of "Failed to restore" errors for what appears to be everything. Tried both cmd and via VS.

uxmal commented 2 years ago

Can you add nuget.org as a repository source then? It seems as if the build tools aren't fetching packages from nuget.org they way they're supposed to

FuryoftheStars commented 2 years ago

Thanks. As I don't normally have to do this kind of stuff, I want to confirm I did the right thing (based on online research):

  1. In VS 2022, Tools menu -> Options
  2. Scroll down through for NuGet Package Manager and select the sub-item Package Sources
  3. Add a new source of: https://api.nuget.org/

This appears to have cleared the 180+ errors. A reattempt at running a build still failed, though it generated less errors (3, about metadata files not being found). I decided to close out of VS, completely deleted what it downloaded, and then reopened VS and had it reclone your repository and tried again. This time it mostly worked. 1 error (still about an unfindable metadata file), and the build results were 124 succeeded, 1 failed, 6 skipped.

It seems that the nuget issue at least may be related to VS 2022, but MS may be considering it as Not a Bug? I really don't know. This computer is a fresh reinstall of Win 10 with VS 2022 being the first VS ever being installed on it.

All of this said, I'm still unclear how to start/use it? I'm not finding any executables. Tbh, the only reason I was going the build route was because from the main page:

After installation, you can proceed by either downloading binaries directly from the integration build server, or by building Reko from sources (see Hacking below).

I have no idea what, or where, "integration build server" is?