Page MenuHomePhabricator

Use mingw to rebuild xhpast.exe on Windows
Closed, ResolvedPublic

Description

Unable to build xhpast on Windows.
Getting this message when running arc liberate:

EXCEPTION: (Exception) Your version of 'xhpast' is unbuilt or out of date. Run this script to build it: $ C:\Phabricator\libphutil\scripts\build_xhpast.sh

Tried to run the script but get this error then ./support/xhpast: No such file or directory

Any chance you can help me solve this?
I've managed to still use arc by adding to my path the location of a working xhpast.exe and manually writing the init and map files.
But its bad not be able to use arc liberate if I need to update stuff.

Thanks.

Event Timeline

titico assigned this task to epriestley.
titico raised the priority of this task from to Needs Triage.
titico updated the task description. (Show Details)
titico added a subscriber: titico.

We don't currently have a way to rebuild xhpast.exe (a contributor who isn't very active anymore was maintaining it), and xhpast has updated since then, so there's no easy option here. Some possible options are:

  • Figure out how to rebuild xhpast.exe yourself (D3950, D3824). It looks he was able to build it under mingw without much difficulty. This is probably the best approach, and we'd be happy to upstream it. If you figure this out and can walk me through it, I can get this building in the upstream going forward.
  • Change the expected version number in the source to match the last version of xhpast.exe, which will let the existing xhpast.exe run. We haven't made any huge updates since then, just some minor fixes.
  • T1534 / D3289 started exposing this over Conduit so you wouldn't need a local copy of xhpast.exe, but we got a build before completing that work. Given the relative ease of producing a build and the messiness of using Conduit, I'd prefer not to pursue this option.
  • Generally, developing Phabricator itself (and using some of the developer tools) under Windows enjoys less support than on OSX/Linux. It's definitely possible, but currently the entire core team is OSX or Linux.

Thanks.

I will see what I can manage and get back to you if I have any luck!!

Edit: the version of the xhpast I have is 0.62 which I believe is the same needed. (I did not change anything in the source). So, in theory something should work right?

I will try and see if the mingw approach works.

I got something a bit better.

Installed mingw. Then using it nagivated to Phabricator\libphutil\support\xhpast and ran make; make install. That built xhpast correctly and now arc liberate does not complain.

Ah, nice! That sounds pretty easy. I'll see if I can do the same and get an upstream build.

epriestley renamed this task from xhpast on Windows to Use mingw to rebuild xhpast.exe on Windows.Mar 12 2014, 3:16 PM
epriestley triaged this task as Normal priority.
epriestley added projects: XHPAST, Windows.

Thanks.

I will get back at you if I come up with a better solution.