Giter VIP home page Giter VIP logo

Comments (29)

alexAubin avatar alexAubin commented on May 23, 2024 3

Some update on this. We discussed this topic a few weeks ago IRL with @Gredin67. What we found is that :

  • Nowadays, Wekan officially requires Mongodb 3.2. We could try to use previous mongodb version, but considering that Wekan evolves very quickly and that Mongodb 3.2 is already old (Mongodb is at 4.x on their website) this is very risky on the mid-term
  • There is a weird website which apparently heavily use Mongodb on RPi : https://www.mongo-pi.com/resources - they apparently have builds for 3.0 and 3.4 (but not 3.2 lol) ... though I'm not even sure how to use those apart from extracting the bin in /usr/bin or so ...
  • Mongodb only supports 64bit starting from 3.4. So no Wekan (in the future at least..) on 32 bit, which means no i386 and no armhf.
  • Digging into this a bit today, I found that Mongo decided to support arm64 by somehow switching their stuff from Debian Jessie to Ubuntu Xenial ... which, doesn't make much sense to me but anyway (c.f. https://github.com/docker-library/mongo/pull/ 275). Anyway I was not able to find a proper/easy way to install Mongodb on Stretch ARM64...
  • Also today, I found that there are some plan on Wekan's side to support ARM, or at least ARM64/AARCH64 here : https://blog.wekan.team/2018/01/wekan-progress-on-x64-and-arm/index.html

So to summarize : it's a complete mess, but there is hope ..?

Seeing how this is complicated, honestly right now I would say : let's just add a check at the beginning of the install script that the architecture is amd64 (or i386 as long as we use Mongo 3.2) and cancel the install otherwise... This is clearly disappointing but except if we have mongo wizards somewhere ready to help us, we can't maintain support on ARM just ourselves on the long run I think :/

Then once Wekan announce some support for ARM64/AARCH64 we can see if that works, provided we have people to test it. But in any case I would consider supporting ARMHF a dead end :|

from wekan_ynh.

alexAubin avatar alexAubin commented on May 23, 2024 1

I think it could work yes, but we need to find a fix for the mongodb thing. I looked it up quickly the other day and saw that there might me ARMhf deb repo somewhere that could be used ... but I did not dig that further for now.

Feel free to have look, basically it's a matter of finding out what to put in the /etc/apt/sources.list thing to get mongodb to install on an ARM device, so thats ~relatively easy to test I guess :s

from wekan_ynh.

Gredin67 avatar Gredin67 commented on May 23, 2024 1

From what I've seen 64bits ARMv8 and greater are now officially supported by mongo as stated in
https://github.com/Barryrowe/mongo-arm
https://jira.mongodb.org/browse/SERVER-1811
But I think ARM64 is quite recent, and I know olimex Lime 1 with ARM Cortex-A8 is 32bits.
On archlinux for ARM the depository holds a version 3... that does not support ARM32. It could however be used for ARM64.
On raspbian depository, it seems like there are several versions including a
mongodb_2.4.14-4_armhf.deb
that could fit.
https://archive.raspbian.org/raspbian/pool/main/m/mongodb/

If any later version is required, there are several tutorial and links listed here
https://stackoverflow.com/questions/34569404/install-mongodb-version-3-raspberry-pi-2
including this tutorial
https://www.clarenceho.net/2015/12/building-mongodb-30x-for-arm-armv7l.html
ITs author later said

Arch Linux ARM latest build of MongoDB 3.2.0 seems to be working fine. Except that the default storage engine was compiled as WiredTiger although there is no 32-bit support from WiredTiger. You will need to add parameter --storageEngine=mmapv1

So first I'll try to install mongoDB from RaspBian
Second I'll try to install mongoDB from arch linux ARM depository with the parameter --storageEngine=mmapv1
And third with the above cited tutorial.

from wekan_ynh.

alexAubin avatar alexAubin commented on May 23, 2024

Is this issue still relevant now that we used "pre-built" archives ?

from wekan_ynh.

frju365 avatar frju365 commented on May 23, 2024

Depend... is wekan for ARM ? Is there enough RAM and CPU for such app ? Perhaps add condition to prevent it from being installed on ARM, or at least warn the user.

from wekan_ynh.

frju365 avatar frju365 commented on May 23, 2024

Moreover, you added Enh tag... not sure it's only enh but perhaps bug.

from wekan_ynh.

alexAubin avatar alexAubin commented on May 23, 2024

That's a tough choice 🤔

bug_or_feature

from wekan_ynh.

alexAubin avatar alexAubin commented on May 23, 2024

cnxk6ev

from wekan_ynh.

Gredin67 avatar Gredin67 commented on May 23, 2024

How is the status of wekan for ARM? I try to install it but it says that mongodb-org stuff is not installed.
Could it work properly on a Olimex lime1 (512Mb Ram)?

from wekan_ynh.

alexAubin avatar alexAubin commented on May 23, 2024

(Maybe @zamentur has more info, I think he had a look at this at some point)

from wekan_ynh.

Gredin67 avatar Gredin67 commented on May 23, 2024

I did some testing. In fact mongoDB on raspbian repo is the same than that of debian repo : version 2.4.10 for armhf. The meta-package is called mongodb
Installation of wekan_ynh fails because it defines dependency to mongodb-org packages that correspond to version 3.2 that is not available for arm 32 bits (armhf?) :
http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.2

I have some questions :

  • Is it possible to use archlinuxarm repo/packages on debian? I heard about pacapt but I don't understand what it's able of.
  • Where can I see if the version 3.2 is necessary to run wekan 8.9? If 3.2 is necessary I think it's dead for ARM 32bits architectures
  • If version 2.4 is fine, then can I simply remove the lines of the installation script adding the repo http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.2 ? And change the dependency from mongodb-org packages to mongodb packages? Then I guess we would have to change the remove script accordingly.
  • How to add a condition on the architecture : keep the current script if ARM x86/64 architectures and use mongodb 2.4 for ARM32 bits architectures.
  • If 3.0<=version<3.2 is fine, then there is no repo available but some guys build packages

from wekan_ynh.

alexAubin avatar alexAubin commented on May 23, 2024

Closing the issue, because Wekan doesn't support ARM so far :s

Added a PR to propose an arch check at the beginning of the install : #27

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024

Hey @frju365 @alexAubin @Gredin67 @zamentur,

it seems like Wekan now supports ARM (at least Raspberry Pi). I believe we should update the script to remove the check, if it does work ?

from wekan_ynh.

yalh76 avatar yalh76 commented on May 23, 2024

Install script is already updated:

architecture=$(ynh_detect_arch)
# Check machine architecture (in particular, we don't support ARM and 32bit machines)
if [ $architecture == "i386" ] || [ $architecture == "arm" ]
then
ynh_die --message="Sorry, but this app can only be installed on a x86, 64 bits machine :("
fi

Wekan is only provided for arm64

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024

Wekan is only provided for arm64

(You mean x86) But now it seems it has support for arm, see the link I provided

from wekan_ynh.

Gredin67 avatar Gredin67 commented on May 23, 2024

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024

Oh ok, I understand. But can't we update the script to have it work on arm64 ?

from wekan_ynh.

yalh76 avatar yalh76 commented on May 23, 2024

Oh ok, I understand. But can't we update the script to have it work on arm64 ?

Done since #44 9 july 2019

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024

Hm, i have a pi 3 and it does not seem to work. I'll find if there is a way to update the apps list.

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024

Still getting "Sorry, but this app can only be installed on a x86, 64 bits machine :("

from wekan_ynh.

yalh76 avatar yalh76 commented on May 23, 2024

Can you provide the full installation logs ?

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024

https://paste.yunohost.org/raw/coruzohiyo

from wekan_ynh.

yalh76 avatar yalh76 commented on May 23, 2024

OK, what is the result for uname -a ?

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024
Linux locness.hopto.org 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024

But I think the problem comes from here :

if [ $architecture == "i386" ] || [ $architecture == "arm" ]

It's checking if the architecture is arm, which is arm64 AND armv7 I guess ? So I'm pretty sure we should just detect armv7 isntead of arm

from wekan_ynh.

yalh76 avatar yalh76 commented on May 23, 2024

$architecture is initialized with https://github.com/YunoHost-Apps/wekan_ynh/blob/master/scripts/ynh_detect_arch__2

So your YunoHost is detected as arm not arm64. So maybe your YunoHost is 32 bits instead of 64 bits.

What is the result for: lscpu

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024

Wait, just saw "armv7l" in the previous comment input. But it's a raspberry pi 3, and seeing your comment raspberry pi 3s are arm64..

Anyway, lscpu :

Architecture:          armv7l                                                                                                 
Byte Order:            Little Endian                                                                                          
CPU(s):                4                                                                                                      
On-line CPU(s) list:   0-3                                                                                                    
Thread(s) per core:    1                                                                                                      
Core(s) per socket:    4                                                                                                      
Socket(s):             1                                                                                                      
Model:                 4                                                                                                      
Model name:            ARMv7 Processor rev 4 (v7l)                                                                            
CPU max MHz:           1200.0000                                                                                              
CPU min MHz:           600.0000                                                                                               
BogoMIPS:              38.40                                                                                                  
Flags:                 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32                

from wekan_ynh.

yalh76 avatar yalh76 commented on May 23, 2024

Seems that arm 7 is 32 bit, it's why you can't install wekan_ynh

BTW: I'm not a Raspberry Pi nor Linux specialist

from wekan_ynh.

locness3 avatar locness3 commented on May 23, 2024

Well, ok :/

from wekan_ynh.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.