rohit-px2 / nvui

A modern frontend for Neovim.
MIT License
1.73k stars 50 forks source link

Can't build on Windows #144

Open firai opened 2 years ago

firai commented 2 years ago

Since the versions of binutils, libwinpthread and other packages referenced from the branch of vcpkg referenced (vcpkg @ 03ca9b5) in the current main have been removed from MSYS2 repos (i.e. https://github.com/rohit-px2/nvui/issues/131 but with more packages removed since due to MSYS2's rolling release), I tried rebuilding with an updated vcpkg. I initially tried updating my local copy to the latest release (vcpkg @ 14e7bb4). However, the build failed with the following error:

-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE  
CMake Error at C:/Program Files/CMake/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Boost (missing: thread) (found version "1.79.0")

I then tried to build using Github actions with a fork, where vcpkg was updated to the latest master (vcpkg @ d953973), but the Github action failed with the same error.

Do you have any suggestions on how to make the build work? I figured I'd ask here before I tried to find the problem upstream in vcpkg or even CMake.

The full log from the Github action, which is essentially identical to the one from my local build, is at https://github.com/firai/nvui/runs/6640731825?check_suite_focus=true#step:5:1716.

P.s. Can you consider increasing the retention period for action artifacts? I am only trying to build from scratch because I'm trying to get my hands on the latest main, but the artifacts have already been deleted.

dseeni commented 2 years ago

Same here...I'd like the artifact as well...current having issues with cmake https_proxy environment variable... fails to download open ssl...so I manually inserted it

Now I'm running up against this..not sure where to get old MYS packages for libwinpthread, etc...

austinthresher commented 2 years ago

I'm also hitting this wall. I'm really enjoying using the release build and wanted to try contributing, but this is preventing me from building. Is there a way to specify these libraries manually?

dseeni commented 2 years ago

Are you on windows? rakanzaidm seemed to have got things working: https://github.com/rakanzaidm/nvui Been busy, still need to figure out what he did so I can incorporate some of the fixes on here into a fork :)

firai commented 2 years ago

See the issue I referred to in the OP, which details the manual hack rakanzaidm did back in March for binutils. However, using the manual modification for multiple packages is unsustainable, as more packages are becoming deprecated with MSYS2's rolling release. These updated packages in turn have dependency implications. Ultimately, manually modifying the list of package versions would defeat the point of using vcpkg, which is supposed to help solve dependency hell.

In order to get this working, I think we need to figure out whether the issue is an upstream issue between vcpkg and boost, or whether there's something we need to change in the nvui build system. @rohit-px2, since you set up the build system, do you have any guesses or suggestions?