Seafile Server 7.1.4 for Raspberry Pi is ready! 23.05.2020

you didnt realize that there is no symlink inside /home/pi/SeaFile/seafile-server-7.1.4/seafile/lib, did you?

Thank you for your very fast answer and sorry for writing to fast in this forum, because I see that with my Debian Stretch has Python 3.5.3 installed momentary. I now use this article https://linuxize.com/post/how-to-install-python-3-7-on-debian-9/ that is linked to your description above and will let you know about the outcome.

My suggestion is to use pyenv https://github.com/pyenv/pyenv

It is very straightforward. It will compile the python automatically. Use Python 3.6.10

Ah f*** it’s already doing “make -j 2” did you think it’s better to cancel before doing the make (alt)install and use the pyenv instead?

And now i got next problem, Error:Seahub failed to start…
Could it be that my python (on armbian stretch) is too old? (python3 -V says Python 3.5.3) ?

sure cancel it, and don’t worry. The compilation process will long about almost 4 hours with a raspberry pi 3b+ with the enabled-optimizations flag

Seems you have the same error like me (I use also an Debian Stretch but on a Cubietruck). We have to install like @jobenvil has suggested Python 3.6.10

@nihilistaX :cold_face: yes, i told you, please here:

FOR ALL OTHERS COMMING AFTER:

STRETCH USERS NEEDS EITHER TO UPGRADE THE OS TO BUSTER OR take the rpi-Stretch version AND INSTALL ADDITIONALLY PYTHON 3.6.10 :pray: :pray: :pray:

1 Like

OK, sorry for that, its hard work to collect all needed things and forget nothing :grin:

Hello,
You are true, I created the symbolic link in the wrong place. I just correct it and… the issue is still here.

ls -la /home/pi/SeaFile/seafile-server-7.1.4/seafile/lib give me :

(...)
lrwxrwxrwx 1 seafile nogroup 9 mai 24 02:44 python3.6 -> python3.7
(...)

Great! Thank you very much :wink:

After start seahub, I have this message :
File “/home/seafile/seafile-server-7.1.4/check_init_admin.py”, line 284, in init
seahub.sh[29214]: import ccnet
seahub.sh[29214]: ModuleNotFoundError: No module named ‘ccnet’
what’s going on ?

@jobenvil, the python modules for seafdav seem missing.
They are listed on github seafdav/requirements.txt.

Did you check all above?
I had this error, too, but i had to read much and upgrade my device to buster for newer python version (did you check yours?), set the python3.6 link and so on… i think you missed something.
And @jobenvil : Great work, all working good if step by step doing what you recommended above. :+1:
Bit tricky as a python-noob and i did buster upgrade instead of fiddling with python…but after several hours of work i get all working again, btw… :sweat_smile:

All we suffered with the Python3 stuff, not only you. :wink: but now, you are save until Python4 :laughing:

The following updates will be like the old good days. Don’t worry.

@axstet unless you want to install outdated packages I recommend you don’t do it. The mandatory dependences are already documented on the manual, like jinja2, sqlalchemy:

pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \    django-pylibmc django-simple-captcha python3-ldap

Others like PyYAML are optional and in fact, we don’t use it at all, since we don’t work at all with a yaml config file.

BUT, I realized that for lxml package, even if it is optional requirement, you will get follow WARNING, while starting SeafDAV:

2020-04-22 20:18:12.276 - <-1225219248> wsgidav WARNING : Could not import lxml: using xml instead (up to 10% slower)

And we don’t want be in any case 10% slower using WebDAV, do we? Absolutly not :muscle:

The point is that lxml depends on other dev libraries (libxml2-dev libxslt-dev ) to be compiled and they cause many MBs more for the rpi-packages. Anyhow, I put them on the rpi packages.

Either you can download the new packages or do it yourself. I recommend to avoid pip if these packages are for your OS available. Try:

sudo apt-get install libxml2-dev libxslt-dev

and then sudo apt install python3-lxml python3-jsmin python3-defusedxml python3-pam

These will install your native libraries from your OS and the adventage, they will get updated every time with your OS and not manually by using pip

Thanks for reporting.

Did you get any errors when you try to run seahub.sh? You must go to the $INSTALLDIR/seafile/lib/ and then execute ln -s python3.7 python3.6 so that you get a symlink in the library directory
blablub@hostname:/mnt/daten/seafile/seafile-server-7.1.4/seafile/lib# ls -ald python*
lrwxrwxrwx 1 root root 9 Mai 24 16:44 python3.6 -> python3.7
drwxr-xr-x 3 seafile seafile 4096 Mai 21 17:58 python3.7

Same for you herve:

You must go to the "$INSTALLDIR/seafile/lib/" and then execute "ln -s python3.7 python3.6" so that you get a symlink in the library directory

Hey, thank you very much for all the great work here!!
But regarding the specific points you made here, I have to disagree: on my installation, SeafDAV did only start after installing jsmin, defusedxml and pyyaml via pip. Otherwise, it failed when trying to import these modules.

I decide to do an in place distribution upgrade from Debian Stretch to Debian Buster. All the necessary commands I was using are listed here:

Do a update from the momentary installed Debian Stretch:
apt update -y
apt upgrade -y

Edit the packages sources:
apt edit-sources OR edit /etc/apt/sources.list

deb http://httpredir.debian.org/debian buster main contrib non-free
#deb-src http://httpredir.debian.org/debian buster main contrib non-free

deb http://httpredir.debian.org/debian buster-updates main contrib non-free
#deb-src http://httpredir.debian.org/debian buster-updates main contrib non-free

deb http://httpredir.debian.org/debian buster-backports main contrib non-free
#deb-src http://httpredir.debian.org/debian buster-backports main contrib non-free

deb http://security.debian.org/ buster/updates main contrib non-free
#deb-src http://security.debian.org/ buster/updates main contrib non-free

apt edit sources armbian.list OR edit /etc/apt/sources.list.d/armbian.list

deb http://apt.armbian.com buster main

Do the in place distribution upgrade:

apt update -y
apt clean
apt dist-upgrade -y

Maybe some questions about how to proceed with configuration files will be shown where the user has to decide what to do, to override with new version or to leave the original one

Restart the server after the upgrade is finished:

reboot

After reboot obsolete unncessary packages can be deleted with:
apt autoremove -y

I set the symbolic link:
cd $INSTALLDIR/seafile/lib/
ln -s python3.7 python3.6

Then I did a restart from the services with:

systemctl restart seafile.service seahub.service

1 Like