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

It's not support mips64le #523

Closed
cheungxi opened this issue Nov 12, 2020 · 5 comments
Closed

It's not support mips64le #523

cheungxi opened this issue Nov 12, 2020 · 5 comments

Comments

@cheungxi
Copy link

cheungxi commented Nov 12, 2020

Please support mips64le, Thank you very much. If will not offically support mips64le, can you provide me document to build, please?

@evanw
Copy link
Owner

evanw commented Nov 13, 2020

Can you say more about your use case? I'm unfamiliar with the MIPS ecosystem. Some Google searches said that it's mainly used in embedded scenarios such as router hardware. Are you trying to run esbuild on a router?

Also, are you also running node on MIPS? I found a thread that says node no longer has MIPS builds. I'm trying to figure out if it makes sense to publish builds for this architecture to npm or not.

Regardless, this is how to build esbuild for mips64le. Clone this repo and then run this command:

GOOS=linux GOARCH=mips64le go build "-ldflags=-s -w" -o esbuild-linux-mips64le ./cmd/esbuild

@cheungxi
Copy link
Author

cheungxi commented Nov 16, 2020

Can you say more about your use case? I'm unfamiliar with the MIPS ecosystem. Some Google searches said that it's mainly used in embedded scenarios such as router hardware. Are you trying to run esbuild on a router?

Also, are you also running node on MIPS? I found a thread that says node no longer has MIPS builds. I'm trying to figure out if it makes sense to publish builds for this architecture to npm or not.

Regardless, this is how to build esbuild for mips64le. Clone this repo and then run this command:

GOOS=linux GOARCH=mips64le go build "-ldflags=-s -w" -o esbuild-linux-mips64le ./cmd/esbuild
GOOS=linux GOARCH=mips64le go build "-ldflags=-s -w" -o esbuild-linux-mips64le ./cmd/esbuild 
go: github.com/kylelemons/godebug@v1.1.0: Get "https://proxy.golang.org/github.com/kylelemons/godebug/@v/v1.1.0.mod": dial tcp 34.64.4.17:443: i/o timeout

Always timeout. I want to cry 😢

I am using Loongson 3A4000 CPU (It is based on mips64le architecture) . I use it for daily office and development. On this PC, the node version is v10.21.0

Because vite uses esbuild
Thank you very much !

@evanw
Copy link
Owner

evanw commented Nov 16, 2020

Always timeout

I just removed that package since it was unnecessary. It's strange that it tried to download that package because it was only used for tests. The build still depends on golang.org/x/sys though so the build won't work if https://proxy.golang.org is blocked for you.

On this PC, the node version is v10.21.0

What does node -p process.arch say for you on that machine?

@cheungxi
Copy link
Author

cheungxi commented Nov 16, 2020

Always timeout

Thank you! when I use these commands. go build work!

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

What does node -p process.arch say for you on that machine?

mips64el

GOOS=linux GOARCH=mips64le go build "-ldflags=-s -w" -o esbuild-linux-mips64le ./cmd/esbuild

Now, It's OK.

./esbuild-linux-mips64le --version
0.8.8

But GOOS=linux GOARCH=mips64el go build "-ldflags=-s -w" -o esbuild-linux-mips64el ./cmd/esbuild, it's wrong

Others

  1. About mips64el and 'mips64le'
    They all represent mips64 little endian. The name distinction is a historical issue. I think so.
  2. Can mips64el be integrated into the master branch? & Upload to npm server

@evanw evanw closed this as completed in 4c72292 Nov 16, 2020
@evanw
Copy link
Owner

evanw commented Nov 17, 2020

Support for mips64le was just released as version 0.8.9. Let me know if you encounter any problems.

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

2 participants