LeonardLaszlo / nw.js-armv7-binaries

NW.js ARMv7 and ARMv8 binaries and the scripts for building and running the executable.
145 stars 22 forks source link

How to compile the nw binary file so that the interpreter of this file is /lib/ld-linux-aarch64.so. #46

Closed buqulinghun closed 3 years ago

buqulinghun commented 3 years ago

Hello! I directly use the binary nw file you released to test on my arm64-based computer. But the test result is not normal operation. The reason is that nw interpreter needs to be /lib/ld-linux-aarch64.so.1 instead of /lib/ld-linux-armhf.so.3 on Linux version 4.19.172 for arm64. How to compile the nw binary file so that the interpreter of this file is /lib/ld-linux-aarch64.so.

$ file ./nwjs-chromium-ffmpeg-branding/nwjs-v0.52.3-linux-arm/nw $ ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[xxHash]=4c8a98c5d541ac00, stripped

But, I want to get a binary executable file like this: $ file ./nwjs-chromium-ffmpeg-branding/nwjs-v0.52.3-linux-arm/nw $ ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.2.0, BuildID[xxHash]=4c8a98c5d541ac00, stripped

LeonardLaszlo commented 3 years ago

Hi @buqulinghun this is a 32-bit binary (only ARMv7), it won't work on 64-bit processors. https://en.wikipedia.org/wiki/ARM_architecture

You can try to use this building script as a base for building the 64 bit version. Somebody succeeded in the past, but it's a long way. https://github.com/LeonardLaszlo/nw.js-armv7-binaries/issues/16