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
Can't build NodeJS v4.*, missing libuv #219
Comments
You need to build the dependencies
Let me know how this works for you! You maintaining a There has been no additional repo for Termux except the official one at https://termux.net, so it would be very interesting to have one setup! I guess https://bintray.com/ could be a nice way to maintain an external apt repo with .deb packages for most people (if you don't want to do it manually on a server of your own). |
A-ha! I'll give this a try tomorrow. I wasn't aspiring to start my own repo... I was thinking more along the lines of submitting it (and every other update to the LTS package) as a pull request. Or perhaps you want to keep your repo to only contain packages ported/compiled by you? I'll also give BinTray a look, maybe that's also good enough 👍 |
As the number of packages starts to grow, it would be great as a way forward to start having third-party repos for Termux if people are interested in maintaining them! This would increase scalability by distributing code, issue and builds across multiple maintainers. Hopefully a small "how to setup a third-party apt repo for Termux" could be written, and scripts be added to easily upload a locally built deb do bintray (I started with https://github.com/termux/termux-packages/blob/master/scripts/bintray-upload-deb, but it's not yet tested). You are of course also welcome to submit a pull request for a package without hosting it yourself! For big packages you can start by adding it to the |
Okay so I managed to actually go all the way through, readjust all the patches for Node v4.4.3 and build the package. Now, however, I am producing ARM 32 bit packages. Also when I looked in the build script, it says that 64 bit builds are not supported for now. Is that really so? I saw that in your repos I'm getting proper 64 bit packages in my OnePlus Two... is there any trick to build the ARM64 packages? |
@etiago Thanks, I've updated the comment in the build script! The three supported arches in Termux for now are Just export |
@fornwall thanks for the quick response! I've followed your suggestion and managed to build the package for aarch64... however... when I try to install it in my phone, I get the following:
Any idea what am I doing wrong? The file has the right user and I've even chmod'ed it to 777 just to be sure but still no dice... |
Can you upload the |
Here it is. Interestingly enough when I try to manually download the nodejs v5 deb from your repos and manually install it, I get the same error... I wonder if it's something with dpkg...? |
Update: the issue seems to be with permissions... I used some hacks to download the file and then copy it into Termux's space and that seems to have messed with the file. I can now install it :D now I just need to fix an additional reference to /tmp and it should be good to go! |
Hey @fornwall! I managed to get nodejs compiled and good to go. The only thing with nodejs is that even though I patched the install.sh script, because nodejs comes by default with npm v2, when we update to npm v3 we have again hardcoded references to /tmp which Android doesn't agree with. This is easily mitigated though by setting the env var TMPDIR to point to Termux's tmp path. In any case, I've given bintray a try and just when I was trying to upload the deb files I got a message saying that perhaps they are malformed... so I'm inclined to give up on having my own repo due to too much hassle just to maintain one package 😄 If you are interested, I uploaded the .sh file and the patches to a repo of my own. You can find it here: https://github.com/etiago/termux-nodejs-lts . If you like you can just download it and use it directly, feel free to do with it whatever you want 😉 in the future I will probably keep updating it with the LTS versions of node, so you could also add it as a submodule of this repo if you feel like it. It's nice to be able to use Node v4 😄 now feel free to provide it as part of Termux as well! |
Hi @fornwall ,
Thanks for the great work you're doing with Termux!
I've been trying to get NodeJS's LTS version (v4 branch) to compile under the provided Docker image but unfortunately I've hit a roadblock.
To start with I made a copy of the current NodeJS folder and I changed the version to 4.4.3 in the TERMUX_PKG_VERSION, plus I removed all the patches since they were probably going to fail anyway. I was planning on manually readjusting the patches to match the 4.4.3's sources.
However, after starting the compilation via the build-package.sh as instructed, here's what I eventually get:
Basically it seems I'm missing the libuv package... I tried to apt-get it (libuv-dev) but I keep getting the same thing, which I think it makes sense since we're cross-compiling.
Maybe you have some ideas to set me off in the right direction? I would be more than happy to maintain this package going forward as it's nice to have a package for the LTS releases of Node. I need it myself and maybe others find it useful too 😄
Thanks in advance!
The text was updated successfully, but these errors were encountered: