Skip to content
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

Support for windows 32 #3438

Closed
vixalien opened this issue Dec 4, 2019 · 18 comments
Closed

Support for windows 32 #3438

vixalien opened this issue Dec 4, 2019 · 18 comments

Comments

@vixalien
Copy link

vixalien commented Dec 4, 2019

Could you please support windows 32 bit machines for the build.

I'm using Windows NT 10 15063

Building the app is quite a sassle for me (as win32 users) because:

  • My windows version does not support symlinks even though I enabled developer options.
    Image attached
  • Installing MSVC is quite a sassle (I tried 5 times; the download can't finish)

By the way, I have very limited resources; RAM, CPU even Storage
Needed requirements

I think anyone with the listed above resources .
can build it NOW and send it because I think it is not a difficult task and
I'm not even trying to go into node and I NEED it desperately. PLEASE HELP.

@vixalien vixalien closed this as completed Dec 4, 2019
@vixalien vixalien reopened this Dec 4, 2019
@Akimotorakiyu
Copy link

Akimotorakiyu commented Dec 4, 2019

I think, it's easy to install windows x64.

Your CPU architecture is unlikely to be 32-bit, it's hard to get a pure 32-bit cpu for windows pc now.

@Soremwar
Copy link
Contributor

Soremwar commented Dec 4, 2019

I think, it's easy to install windows x64.

Limited resources bro, that's not an option for many people.

@ry
Copy link
Member

ry commented Dec 4, 2019

I'd be happy to take a patch for an x86 build.

It will take a while before we remove the usage of symlinks. That will happen when libdeno is replaced with rusty_v8 - which I expect to happen in the coming weeks.

@vixalien
Copy link
Author

vixalien commented Dec 4, 2019

Okay, my os version stuff looks like:
32bit windows x86 PC architecture
Can I upgrade to a windows version that
Support the x64 binary.
Can't someone cross-compile for x32?
Seeking.

@ry
Copy link
Member

ry commented Dec 4, 2019

@vixalien You can try submit a patch so that the CI produces the build. It's likely not as trivial as you're imagining tho.

@vixalien
Copy link
Author

vixalien commented Dec 4, 2019

@ry, Great.
Let's get started, How do I do that?

@ry
Copy link
Member

ry commented Dec 4, 2019

@vixalien It's non-trivial but here's a start:

Here is where "cargo build" is executed in CI:

run: cargo build --release --locked --all-targets

You want to add a new build by specifying --target there...

But this is only the tip of what is likely a large iceberg of changes.

@vixalien
Copy link
Author

vixalien commented Dec 5, 2019

Well, it seems like Travis does not support 32 bit windows architectures
(It does not provide to choose 32bit or 64 bit).
The only one solution will be when you remove the symlinks by
upgrading to rusty_v8 then I can (myself) build deno for 32 bit
architectures

@ry
Copy link
Member

ry commented Dec 5, 2019

We don't use travis - we use github actions and build windows binaries there. But yes, this will be easier to undertake in the future.

@piscisaureus
Copy link
Member

@vixalien I have a strong suspicion the problem is not that symlinks don't work on your version of windows, but rather that the tool you used to extract the tarball doesn't know how to create symlinks.
I would suggest to use git. Make sure to enable symlink support git config --global core.symlinks true.

@vixalien
Copy link
Author

vixalien commented Dec 5, 2019

@piscisaureus It may be so, I used 7zip and when I see the files, I see they have 0 bytes.
symlinks zero
I'm trying to use the command git config --global core.symlinks true and also checking github actions for automating the build.
Thanks.

@Akimotorakiyu
Copy link

Akimotorakiyu commented Dec 6, 2019

I would suggest to use git.

@vixalien, piscisaureus said, " I would suggest to use git". Maybe that's meaning use git command tool - gitbash, not windows command tool - powershell or cmd.

There are some confusing operations with powershell or cmd, maybe gitbash would be better.

@vixalien
Copy link
Author

vixalien commented Dec 6, 2019

@Akimotorakiyu, I'm going to use git, Thank you.

The problem was 7-zip did not know how to use symlinks.

I tried using git bash tar (without submodules) and It worked well, it only reported the lack of symlink targets because I had not fetched the submodules (chromium build, etc). Currently, I'm going to work on it and then maybe this issue will be closed.
Thanks.

@hazae41
Copy link
Contributor

hazae41 commented Dec 16, 2019

I think, it's easy to install windows x64.

Your CPU architecture is unlikely to be 32-bit, it's hard to get a pure 32-bit cpu for windows pc now.

Windows ARM, for example, can only emulate 32-bit programs for the moment

@vixalien
Copy link
Author

Has we already switched to rusty v8, @ry, @Akimotorakiyu, @Soremwar , @piscisaureus , anybody knows?
For those wondering, I think libcore do stuff of making the deno rust Isolate, or sandbox to access the v8 javascript machine, libcore uses symlinks which windows doesn't support. @ry had talked about moving over to rusty_v8 which won't have symlinks.
Anybody with brains can make deno switch over to rusty_v8 or
find out the magic that can make github make builds for 32 bit windows, too

@vixalien
Copy link
Author

We have switched to rusty_v8, now deno binaries for windows 32bit are available, thanks @ry @Akimotorakiyu @Soremwar @piscisaureus and anyone that have participated in making this possible, download links available: deno-x86_64-pc-windows-msvc.zip.

Closing this.

@vixalien
Copy link
Author

Whoa! the actual releases I thought are i686 are actually 64bit. Since this is still an issue, re-opening it.

@lucacasonato
Copy link
Member

lucacasonato commented Aug 22, 2020

i686 windows targets for rusty_v8 are not currently supported, and never will be. Because of this Deno will not support i686 windows targets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants