Wekan progress on x64 and ARM

Done: Version upgrades

  • Meteor from 1.4 to – latest
  • Node from 4.6.7 to 8.9.3 – latest that Meteor uses
  • NPM from 4.6.1 to 5.1.1 – latest that Meteor uses
  • fibers from 1.0.15 to  2.0.0
  • etc

x64 platforms status

ARM platforms status

  • I did get ARM etc bare metal access from CNCF, see FLOSS Weekly 452 for more info about CNCF.
  • Server ARM 64bit, more specifically arm64 / aarch64 with about 125 GB RAM and 300GB harddisk.
  • Server has Debian 9.
  • Currently I’m stuck at building fibers.
  • ARM platforms are different. Most Raspberry Pi OS’s are 32bit distros like Raspbian are 32bit, so it would still need cross-compiling for armhf from x86, or compiling in emulator like qemu. There are 64bit arm64 distros for Raspberry Pi 3: Hypriot based on Debian 9, FreeBSD , LinuxKit. Also Wekan usually needs some hardware with at least 1 GB RAM.
  • Docker is available for RasPi:  blog post1 and blog post 2.

Getting locale working:

locale-gen en_US.utf8

Having fast global search for filenames working:

apt install mlocate
locate somefilename-here | xargs grep 'some text to search'

Another slower way to search recursively in current directory is, for example searching for some text in wekan code directory:

cd wekan
find . | xargs grep 'some text here to search' -sl | less

That shows only filenames where it is. If you want to also see file content, leave out -sl . If you don’t want pagination with less command, leave out | less .

I added new user so I can compile as normal user, and also installed sudo, git, etc.

useradd wekan
passwd wekan
apt install sudo
export EDITOR=nano

and there added access to all for wekan user:

wekan   ALL=(ALL:ALL) ALL

Using normal user account (non-root) is better, because without it you would need all kinds of workaround with npm packages and meteor like this:

npm -g install --unsafe-perm fibers

Node versions with NVM:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
nvm install 8.9.3


git clone https://github.com/npm/npm.git
cd npm
make install

MongoDB 3.2.x:

sudo apt install mongodb mongodb-server mongodb-clients
sudo systemctl start mongodb
sudo systemctl enable mongodb

Building Meteor 1.4 ARM version, I did not find newer version yet:

git clone https://github.com/4commerce-technologies-AG/meteor.git
git checkout release-1.4-universal-beta
sudo apt-get install build-essential debian-keyring autoconf automake libtool flex bison scons git mongodb gcc python
cd meteor

Wekan related:

sudo apt install build-essential capnproto git curl

Fibers, currently stuck building it:

git clone git://github.com/laverdet/node-fibers.git
cd node-fibers
node ./build.js

It complains about ld-linux.so.2 that’s for x64 when correct one would be ld-linux-aarch64.so.1.

There could be fibers patch here but I did not get it working yet, maybe with some of these:

git clone https://github.com/4commerce-technologies-AG/node-fibers.git#v1.0.13-patch-arm64
sudo npm -g install [email protected]://github.com/4commerce-technologies-AG/node-fibers.git#v1.0.13-patch-arm64

Plans what next

On behalf of Wekan Team