humanify icon indicating copy to clipboard operation
humanify copied to clipboard

Can not get it run on windows

Open aaronegger opened this issue 2 years ago • 13 comments

Hi there,

i can't get this run on windows. I am stuck at this: "Error: No native build was found for platform=win32 arch=x64 runtime=node abi=120 uv=1 libc=glibc node=21.7.1 loaded from: G:\AIZeug\humanify-main\node_modules\zeromq"

Is there any chance to get this running on windows without using wsl? There was also an issue with the current node version and i had to change the start script to "tsx src/index.ts", otherwise it complained about not knowing the file extension ".ts".

aaronegger avatar Mar 21 '24 14:03 aaronegger

Unfortunately I don't have any good way to develop on Windows at the moment, so cannot guarantee any support for that platform.

Zeromq does claim it should work on Windows too, so not sure what the issue here is 🤔

jehna avatar Jun 19 '24 18:06 jehna

I'll mark this as wonrfix for now, but I'll be happy to accept any pull requests that fix the windows support

jehna avatar Jun 19 '24 18:06 jehna

@jehna While it wouldn't make for the best dev workflow, I wonder if adding some basic cross-platform build tests on GitHub actions would help highlight/protect against these sorts of issues?

0xdevalias avatar Jun 19 '24 23:06 0xdevalias

Zeromq does claim it should work on Windows too, so not sure what the issue here is 🤔

Unsure if this is relevant, since theoretically it should have binaries from prebuild:

  • https://github.com/zeromq/zeromq.js/tree/5.x#installation---users
    • windows users: do not forget to set msvs_version according to your visual studio version 2013,2015,2017 npm config set msvs_version 2015 Now, prepare to be amazed by the wonders of binaries.

      To use your system's libzmq (if it has been installed and development headers are available):

      npm install zeromq@5 --zmq-external
      

0xdevalias avatar Jun 19 '24 23:06 0xdevalias

I think that explains it: https://unpkg.com/browse/[email protected]/prebuilds/win32-x64/ The prebuilt binaries only exist up to node v18

zeromq.js v6 uses N-API and should fix the issue

j4k0xb avatar Jun 19 '24 23:06 j4k0xb

The prebuilt binaries only exist up to node v18

Yeah, I was just about to say, the script in the package.json lists the following:

0xdevalias avatar Jun 19 '24 23:06 0xdevalias

I'm having this too on macos, did anyone fix this?

JxxIT avatar Jul 13 '24 18:07 JxxIT

did anyone fix this?

@JxxIT I believe the solution is probably "use an older version of node that the zeromq.js binaries are built for"

And maybe when upstream releases v6 it will solve it more specifically:

Status update

Zeromq is in a much better status as of the recent release. We have prebuilt binaries for many platforms. Most of the tests are passing. The remaining failing tests are related to Proxies and some GC tests, which I don't consider a blocker. But I appreciate contributions. Given that curve security is optional upstream, we don't have issues regarding Libsodium for now. So we can probably go for the v6 release soon.

Originally posted by @aminya in https://github.com/zeromq/zeromq.js/issues/529#issuecomment-2174252859

So perhaps you could try one of the v6 betas (though there might be other breaking changes required to do so):

  • https://github.com/zeromq/zeromq.js/releases

It looks like the latest version of node has been supported in the build scripts since v6.0.0-beta.9:

  • https://github.com/zeromq/zeromq.js/releases/tag/v6.0.0-beta.9
    • fix: fix the Win x86 prebuild script by @aminya in https://github.com/zeromq/zeromq.js/commit/e30b162286efaa56de239fc9454e9d7a5071d562

Or maybe even v6.0.0-beta.8:

  • https://github.com/zeromq/zeromq.js/releases/tag/v6.0.0-beta.8
      • feat: rewrite the build script by @aminya in https://github.com/zeromq/zeromq.js/pull/519
      • feat: add support for macOS Arm + Windows 32 bit by @aminya in https://github.com/zeromq/zeromq.js/pull/522
      • feat: improve the architecture handling the build system by @aminya in https://github.com/zeromq/zeromq.js/pull/522

0xdevalias avatar Jul 15 '24 02:07 0xdevalias

@0xdevalias Wow, thanks! It worked for me.

JxxIT avatar Jul 15 '24 09:07 JxxIT

I recommend using the latest beta version of zeromq until we fully release v6

aminya avatar Jul 15 '24 16:07 aminya

@aminya Sorry for this stupid question: Do you have an eta for v6?

JxxIT avatar Jul 15 '24 19:07 JxxIT

Zeromq not needed anymore since v2 was released, should work now on Windows.

I think I could add some e2e test for running on Windows, as GH runners have a windows host too 🤔

jehna avatar Aug 12 '24 19:08 jehna

If anyone still cannot make it work in Windows then my suggestion is to use WSL, it works with a couple of tweaks (I didn't test with GPU yet)

neoOpus avatar Sep 18 '24 22:09 neoOpus