nodejs / unofficial-builds

Unofficial binaries for Node.js
https://unofficial-builds.nodejs.org
227 stars 47 forks source link

Add recipe definition for building on loong64 #89

Closed shipujin closed 1 year ago

shipujin commented 1 year ago

Configuration to allow building for LoongArch as an unofficial build platform.

Since this is my first contribution to here and I don't have access to the box used for cross-compilation I cannot verify for certain that it will work properly, but the setup seems adequate for building the latest versions for LoongArcch.

(If there are problems with the "loong64 nodejs" build, please let me know, thank you very much)

Cheers~

shipujin commented 1 year ago

I executed run.sh locally and it seems to be successfully building "' loong64 nodejs'"

...
installing /home/node/node-v20.4.0-linux-loong64/include/node/zconf.h                                                                   
installing /home/node/node-v20.4.0-linux-loong64/include/node/zlib.h                                                                    
cp README.md node-v20.4.0-linux-loong64
cp LICENSE node-v20.4.0-linux-loong64
cp doc/changelogs/CHANGELOG_V20.md node-v20.4.0-linux-loong64/CHANGELOG.md                                                              
tar -cf node-v20.4.0-linux-loong64.tar node-v20.4.0-linux-loong64
rm -f -r node-v20.4.0-linux-loong64
gzip -c -f -9 node-v20.4.0-linux-loong64.tar > node-v20.4.0-linux-loong64.tar.gz                                                        
xz -c -f -9e node-v20.4.0-linux-loong64.tar > node-v20.4.0-linux-loong64.tar.xz                                                         
rm -f node-v20.4.0-linux-loong64.tar
+ mv node-v20.4.0-linux-loong64.tar.gz node-v20.4.0-linux-loong64.tar.xz /out/    
richardlau commented 1 year ago

Going to merge this. We have a Node.js 18 and 20 release planned (hopefully today) so I'm not going to request rebuilds of existing releases -- we'll wait and pick up the new ones.

richardlau commented 1 year ago

@shipujin This has failed to deploy: https://unofficial-builds.nodejs.org/logs/github-webhook.log

stderr: 
stderr: #8 [4/5] RUN curl https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz | tar xJf - -C /opt
stderr: #8 0.488   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
stderr: #8 0.488                                  Dload  Upload   Total   Spent    Left  Speed
stderr: #8 0.488 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
stderr: #8 0.633 xz: (stdin): File format not recognized
stderr: #8 0.633 tar: Child returned status 1
stderr: #8 0.633 tar: Error is not recoverable: exiting now
stderr: #8 ERROR: process "/bin/sh -c curl https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz | tar xJf - -C /opt" did not complete successfully: exit code: 2
stderr: ------
stderr:  > [4/5] RUN curl https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz | tar xJf - -C /opt:
stderr: -:--     0
stderr: #8 0.633 xz: (stdin): File format not recognized
stderr: #8 0.633 tar: Child returned status 1
stderr: #8 0.633 tar: Error is not recoverable: exiting now
stderr: ------
stderr: Dockerfile:24
stderr: --------------------
stderr:   22 |              xz-utils
stderr:   23 |     
stderr:   24 | >>> RUN curl https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz | tar xJf - -C /opt
stderr:   25 |     
stderr:   26 |     COPY --chown=node:node run.sh /home/node/run.sh
stderr: --------------------
stderr: ERROR: failed to solve: process "/bin/sh -c curl https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz | tar xJf - -C /opt" did not complete successfully: exit code: 2
sxa commented 1 year ago

Seems to needs -L on the curl command as there is presumably an HTTP redirect in there.

richardlau commented 1 year ago

Seems to needs -L on the curl command as there is presumably an HTTP redirect in there.

Fixup PR: https://github.com/nodejs/unofficial-builds/pull/90

shipujin commented 1 year ago

I'm sorry. This is my mistake.