I’m a user of the Windows 10 WSL feature, where I run the Ubuntu distribution and always install the latest versions. I like to keep my packages up to date. Unfortunately, the latest Ubuntu release, 21.04 was not installed correctly and whenever I tried to update the system packages, it would error out when setting up systemd.
The solution to this seem to be a quick one. Turns out, the file libsystemd-shared-247.so was there, in the /usr/lib/systemd folder:
It seems that we can get around this issue by copying that file to the previous folder (/usr/lib, so the following command should be used:
Let’s set the distro to eoan, the current stable Ubuntu version: DISTRO="eoan"
Now, we need to add the repository to our Linux installation: echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list
The commands should like this in the terminal:
We can now run sudo apt update to update the repository information:
We will now attempt to install the nodejs package by running sudo apt install nodejs:
As you can see above, following the manual installation steps fails as well because there is no python-minimal package in Ubuntu 20.04. To solve this, we will manually download the Node.js Debian package and modify it to have it refer to python2-minimal instead of python-minimal.
Manually downloading, modifying and installing Node.js 10.x
From there, just copy the desired Node.js package link to the clipboard. Then, use wget to download it on the terminal. I recommend downloading it to a clean directory since we will run some commands to extract and perform some modifications to it:
Once the download finishes, we need to extract the downloaded debian package with the ar utility: ar x nodejs_10.19.0-1nodesource1_amd64.deb
We need to extract the control.tar.gz file: tar -xzf control.tar.gz
Using nano or your favorite text editor, we will edit the control file. Look for python-minimal: nano control
Change python-minimal to python2-minimal:
Save the file. On nano, press CTRL + O, then exit pressing CTRL + X.
We now need to recreate the control.tar.gz tar package to include the modified control file. To do this, we will run the following command: tar -czf control.tar.gz control md5sums postinst pr einst prerm
Finally, we will replace the control.tar.gz in the debian package file. We will run the following command to do so: ar -r nodejs_10.19.0-1nodesource1_amd64.deb control.tar.gz
We can now install the package with dpkg. We’ll run the following: sudo dpkg -i nodejs_10.19.0-1nodesource1_amd64.deb
After following the above steps, we should have Node.js installed on our operating system. We can confirm this by running node -v and npm -v:
And that’s it! We have successfully installed Node.js on our Ubuntu Focal installation.
How To Install and Configure BOINC in the PINE 64 Single Board Computer
Next think I did was to boot up the PINE 64, and the first think I did once it booted up was to install BOINC:
However, after installing BOINC and adding some projects, I noticed they all returned a message saying there are no tasks for my current platform. The problem? The Ubuntu Xenial image is 64bit, meanwhile the projects available for the ARM architecture are made 32bit. Since BOINC reported the platform as 64bit (specifically the platform being reported is aarch64-unknown-linux-gnu), the projects didn’t recognized this and returned a no work available message (because they only send work to the platform type of arm-unknown-linux-gnueabihf). Ok, so how do I make my PINE 64 get those 32bit ARM tasks? It involved using the alt_platform option and doing some stuff in ubuntu:
Ok, so now I have the projects receiving tasks and the PINE 64 is crunching them as expected, except for [email protected] Hmmm, seems strange that all projects I added works except [email protected], so lets take a look at the workunit result:
../../projects/wuprop.boinc-af.org/data_collect_v4_4.19_arm-unknown-linux-gnueabihf__nci: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
So as you can see, WUProp can’t find libstdc++.so.6. The thing is that it IS installed, but only for the 64bit architecture and we must add the library for the 32bit architecture:
So there you go! We made our PINE 64 receive tasks and crunch them without any issues at all. Every task is being validated successfully 😉 So now, to enjoy our PINE 64 and let it crunch.
P.S. The PINE 64 is bigger than the Raspberry Pi’s:
Privacy & Cookies Policy
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.