-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HHVM Installation in windows #5460
Comments
The easiest way is to install an Ubuntu VM and run HHVM inside that. There's no Windows version of HHVM available and it doesn't currently compile on it at all. |
It's nowhere close to being able to compile it properly from windows. I've been working on adding MSVC support for a few weeks now, and I've only just gotten through adjusting the build system and most of its dependencies. Currently I'm also waiting on the RTM for VS 2015 to be released to fix a number of constexpr limitations (all but 1 that I know of are fixed in the RTM version) that are present in the RC, and are heavily used in HHVM's source code. |
hmm. your saying that there's no way to install or run HHVM in windows? :( On 9 June 2015 at 19:43, Orvid King [email protected] wrote:
|
Not currently. I'd do what @simonwelsh is suggesting for now. |
+100 for this. I've been waiting for Windows version for about a year now. A build for development would be good enough. |
@raeesiqbal Same here +1 |
There's a lot of ongoing work here (thanks @Orvid!), my understanding is that it can now be built (perhaps with some outstanding patches to master?) but still isn't stable enough to run on windows yet. |
I see that Building and Installing HHVM on Cygwin and Building and installing HHVM on Windows with MSVC have been updated recently and there are a lot of outstanding PRs. So, there has been a lot of progress, lets pray that they make it work soon. I had spent about a week trying to get the typechecker to work on CYGWIN a few months back but it didn't, so, wont make the same mistake again 😄. |
A first pass at a windows build system for Hack is up for review at #5775. |
With some outstanding patches to a version of HHVM from the start of June, MSVC 2015 can build HHVM, it is not however functional, as there is still some work I need to do in the startup process. My intention, once I finish putting up the PRs to Folly, is to start again, merging all my outstanding PRs, and see where that puts me in terms of what still needs to be submitted, what bits are temporary hacks that need to be implemented properly, and what changes are no longer needed in the master version. I know there are also some changes that have to be made to the way some of the external dependencies are built by default, due to wanting to not try to ship a massive number of external dlls, primarily needing to have them target the static runtime rather than the dynamic one. There are even some changes needed to Boost (0.58.0) to make it compatible with MSVC 2015, although, if I were to build from the HEAD version, I don't believe those changes are needed due to a refactoring that was done for WinRT support. Also, there's a reason the MSVC page isn't linked to in the normal instruction list, and that is that I've barely touched it. I started writing it up at one point, but ended up stopping before I got too far due to the fact there would have to be changes once the RTM version of VS 2015 was finally released. The typechecker does not currently work on Windows, although I did have a version that compiled with a bit of work, it was not done in a way that was viable to build normally. The build system that's currently up for review is significantly more viable than the way I was doing it. (I had to call the build script 5-8 times to get it to compile with my method, and that wasn't exactly fast :D) |
@Orvid any updates on typechecker? |
@OCamlPro-Henry has been doing a lot of work towards the typechecker, I've not really touched it since my initial attempt. He can probably comment on what currently works much better than I can. As far as support for Windows in the core of HHVM, I have a (very) large number of open PRs dedicated to making that happen. |
@raeesiqbal We (I and @OCamlPro-Bozman) have a working typechecker. It passes the testsuite and, for instance, it is able to typecheck https://github.com/Titon/framework. Though, we still have to implements file watching and a proper timeout handling. While, not everything has been merged yet, the pending PRs should be sufficient for running the typechecker. I will add a message here when |
@OCamlPro-Henry, @Orvid and @OCamlPro-Bozman thanks a ton to all of you for your work. Going to try to build it with your PRs. Will keep you updated |
For the typechecker, you actually don't need Visual Studio. You do need the MinGW edition of OCamlPro though. With HHVM itself, I still have a few more changes locally that I need to create PRs for, and there are 17 external libs you'd have to compile, all but 2 of which have to be done specially with non-default options, due to the need to link against the static version of the runtime, there are also a couple that needed a bit of prodding to compile with VS 2015. My eventual intention is to put the compiled version of these, along with the source and instructions to build, especially for openssl and libcurl, up somewhere. I can put them up locally (I love my Google Fiber :P) temporarily if you really want to try. (poke me on the IRC and I can stick them in an archive an pass you a download link) |
Hey everyone, I've just tested the typecheker binaries sent by @OCamlPro-Henry to be working fine. If anyone else's interested in early access, here is the link, http://ge.tt/610q6dM2/v/0 . These are native binaries, so, you dont need to install MS Visual Studio or Cygwin. Here is their branch, if you want to build them yourself https://github.com/OCamlPro/hhvm/tree/hh-bin-20150822 . And here are the build instructions, https://github.com/OCamlPro/hhvm/blob/hh-bin-20150822/hphp/hack/README.win32 |
Are we gonna have this option any soon? |
You can check with @Orvid on how the port is going. I'd stress that it's not officially supported, but we are hoping to have some CI testing for it once it's ready. |
I'm working on getting the rest of the dependencies setup for GD, mcrypt, and memcached, but I do have a build of HHVM compiling under MSVC with most of the extensions enabled, working in interpreter mode for the most part. The single biggest thing to know about the MSVC port is that MySQL will not be supported until it is possible to compile MySQL itself under MSVC 2015. The proxygen server is also known to currently be broken, so it only supports command line invocation currently. At the moment, due to mmap being finicky about allocations at specific addresses, a couple of asserts in |
bump |
There's still a lot of stuff upstream to get merged, and some large PRs to HHVM itself that are needed. |
@Orvid any updates? |
Still quite a bit more to get merged, and the large PRs are still open. |
bump... |
1 similar comment
bump... |
I'm very very interested in this as well, been following it for a long time now... Unfortunately, unless the HHVM core team specifically assigns resources to having this feature, I don't think it's going to happen... |
@Orvid is now working on this for Facebook |
@Orvid do you have it working as fastcgi server? If so, any binaries we can test? @OCamlPro-Henry Any new typecheker binaries for us? The ones I have are about a year old and are very prone to crashing for larger projects. |
I don't have it working as a FastCGI server yet. I've mostly been getting all of the changes required upstream in Folly and elsewhere. The portability headers are starting to make their way into Folly, and I have diffs up internally for the rest of them. Once those are in Folly, there are only a couple of changes needed in order to get Folly compiling under MSVC. As-to the typechecker, other than my initial attempt, I've never compiled hh_client on Windows, however it should be possible to do yourself. #6137 is open to allow multi-threaded checking, but I have no idea what the current state of that is. |
The error that was being hit in #6968 was due to an issue in 3.13.0. I don't know if it has been tested since then though. As far as I know, the subsystem is only available in insider preview builds, so it's probably not worth upgrading to Windows 10 just for that. |
Any updates? Please... it has been years! |
@Orvid is still very actively working on this, but it's a very large project. The biggest update to date is that folly (one of HHVM's most critical dependencies) now builds under windows and work is ongoing to enable windows CI. Orvid can offer a more detailed update, but we absolutely haven't forgotten about or stopped working on this issue. You can see some of the work required to get folly building under windows here: https://github.com/facebook/folly/commits/master?author=Orvid |
@paulbiss Thank you for the explanation. I've been keeping an eye on Orvid's work too and he sure has done a lot of work. I run HHVM inside an VM (Docker for Windows) like many others, but most of my projects are in Hack, so, I need native |
Has anyone thought of using Clang on Windows? |
@RaeesBhatti are you using nuclide in atom by any chance? https://github.com/fredemmott/nuclide-customization is what I use for nuclide + docker |
@DemiMarie Most of the issues are not because of the compiler, rather, it's because of standard library support. Clang on Windows still uses the VC++ standard library. |
@fredemmott That was an excellent idea you gave me. So, I built a thing 😄 I've tested them to be working with Docker on Window and macOS. Haven't tested with Windows Subsystem for Linux, but should work. PS: And no, I'm using Atom-Hack plugin. I tried Nuclide when it first came out, and it was super slow, so, never tried it again 😁 |
I've just updated HackLang Tools to add support for path translation between Docker and Windows. Just download |
Now Is there any way to install HHVM in windows Server,Xp,7,8,10? @alexchow @RaeesBhatti @DemiMarie @fredemmott @Orvid @paulbiss |
I've migrated to macOS but the last time I checked, you could install HHVM on Windows Subsystem for Linux (WSL). The typechecker worked fine and that time but the server didn't work. But that was about 6 months ago. |
Well.. almost 2 years.. any progress on this? |
@itskevinsam I don't think anyone is working on this anymore. I am quite happily using official Windows builds of PHP and the performance is good enough. I think there are many other programming languages available to write performance critical code, which makes using hhvm unnecessary. |
@itsnotvalid Yep.. i am kinda leaning on that side. (it seems several high profile php projects are dropping hhvm support). |
In general I've been focusing on getting other upstream projects fully supported on Windows (Folly now is) and haven't done very much recently towards getting HHVM itself working on Windows. In theory I've already done most of the work to make it happen, but there is still quite a lot that still needs to be done to get it all the way there. |
I agree with @itsnotvalid : PHP7 performance is now quite close to what HHVM offers, which makes the complexity of using HHVM not really worth it anymore. This is quite ironic because most great stuff that were introduced in PHP7 were actually inspired from HHVM. Because of all this, in my opinion, it's unlikely we'll ever see a significant adoption of HHVM. Unless of course some big factor of the entire story changes. Sorry that I was somewhat offtopic :( . |
@SoboLAN true on that, competition drives improvement. As @itskevinsam mentioned, some projects dropped hhvm support because hhvm is playing the catching-up game with PHP7. As long as there is no external standard for PHP (like ECMAScript per se), I am not betting on hhvm to run my production code anymore, especially my code now uses PHP7.1 features. |
Hi guys, just to let you know that I've reach to make HHVM work in Nuclide on Windows based on Docker and the Remote Project functionality. You can check my repo in order to make it work you too: https://github.com/nahuelhds/nuclide-hhvm-windows You only need to have Docker and then use the docker commands Regards |
I think that HHVM is still great to give performance to old PHP projects as moving forward to PHP 7 requires deprecation work (specially in big projects) while by using HHVM just works with the same codebase. |
@nahuelhds I tried to build but got following erro: /bin/sh: 1: node_setup_7.x: not found Following is the execution log. Sending build context to Docker daemon 145.9kB |
@faisalkaleem write an issue here https://github.com/nahuelhds/nuclide-hhvm-windows/issues |
+1 |
Is there any way to install HHVM in windows 7, because i read about the new programming language by facebook and it requires HHVM for development. thanks in advance for an answer.
The text was updated successfully, but these errors were encountered: