After Upgrade to 6.3.4: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.15' not found

Hi,
im running seafile on a cubietruck with cubian installed, which is basically a Debian 7.11.

After upgrading the server to 6.3.4 I get the error GLIBC_2.15 (up to 2.17) is not found.

I understand that this means that my libc6 is too old and needs updating. However I couldn’t manage to update libc6.

How can I get my seafile running again?

Here is the exact error output:

/home/USER/seafile-server-6.3.4/seafile/bin/seafile-controller: /lib/arm-linux-gnueabihf/libc.so.6: version GLIBC_2.15' not found (required by /home/USER/seafile-server-6.3.4/seafile/lib/libevent-2.0.so.5) /home/USER/seafile-server-6.3.4/seafile/bin/seafile-controller: /lib/arm-linux-gnueabihf/libc.so.6: versionGLIBC_2.17’ not found (required by /home/USER/seafile-server-6.3.4/seafile/lib/libevent-2.0.so.5)
/home/USER/seafile-server-6.3.4/seafile/bin/seafile-controller: /lib/arm-linux-gnueabihf/libc.so.6: version GLIBC_2.15' not found (required by /home/USER/seafile-server-6.3.4/seafile/lib/libglib-2.0.so.0) /home/USER/seafile-server-6.3.4/seafile/bin/seafile-controller: /lib/arm-linux-gnueabihf/libc.so.6: versionGLIBC_2.17’ not found (required by /home/USER/seafile-server-6.3.4/seafile/lib/libglib-2.0.so.0)

dpkg -l libc6 gives:
||/ Name Version Architektur Beschreibung
++±====================-===============-===============-=============================================
ii libc6:armhf 2.13-38+deb7u12 armhf Embedded GNU C Library: Shared libraries

installing libc6 from sid or testing repos is not working for some reason. The error says the ***.deb is no valid DEB-package.

Installing manually from packages.debian. org/testing/libs/libc6-armhf-cross
results in:
Subprocess dpkg-deb --control gave error value 2

Hello Hans-Dieter,

until yesterday I had a very similar setup:

Cubietruck + Cubian (Debian 7.11 with kernel version 3.4.113) + Seafile 6.2.5 with nginx https proxy (fastcgi)

Since Debian 7 LTS is end-of-life since May I decided to finally update to a recent Debian and Seafile-Server (and using wsgi istead of fcgi). It worked without bigger issues, I only had two slight problems (both solved), because

  • I use a non-default https-Port with nginx and
  • I want seahub to only listen to localhost (as I use nginx as https proxy)

Here is what I basically did:

Backup your data (at least seafile, list of installed packages, /etc folder), for seafile it is:

  • Backup complete seafile home directory
  • Backup complete seafile data directory (if its not within the folder above, I recommend doing a seafile garbage collection before: https://manual.seafile.com/maintain/seafile_gc.html to remove unused blocks, can really free a lot of disk space)
  • Backup the 3 seafile databases (if you are on mysql)

Do transfer it via rsync or tar and upload or if you have a harddisk left you could also transfer it directly. Or even better: leave the currently used disk untouched (as a perfect backup) and install the new Debian on the new harddisk.

Install new Debian (I chose Armbian based on Debian Stretch, it’s a nice image, it seems to be actively maintained and offers community support: https://forum.armbian.com/forum/7-allwinner-a20/ ):

  • Download Armbian from https://www.armbian.com/cubietruck/ (Debian Stretch Next)
  • Important: You permanently need a microSD-Card (2 GB should be enough, doesn’t need to be fast) to boot the cubietruck (and for initial installation), even if you use hdd as system drive as the NAND memory isn’t supported by mainline kernel. Well, the newest mainline kernel seems to have experimental NAND-support (https://www.robert-sperling.de/mainline-kernel-fuer-cubietruck/), so maybe it will work without mSDcard in future
  • Write image to mSD-Card, boot the cubietruck, login (locally or via ssh) and execute nand-sata-install
  • reboot, check HDD partitions (I think the script automatically expended the root partition to hdd size, otherwise do it manually)
  • install updates and packages you need and the ones wich are required for seafile (nginx, mariadb/mysql, python, …).
  • install seafile (same version as it was on the old system, for me: 6.2.5), I chose to do a fresh install because it automatically configures for wsgi and uses default seahub/seafile ports - I used other ones before, but as it can make things more complicated and they aren’t exposed anyway I don’t want them to be non-default anymore)
  • I used https://manual.seafile.com/deploy/using_mysql.html and https://www.howtoforge.com/tutorial/seafile-on-ubuntu-with-nginx/ as reference (as I haven’t installed seafile server recently, only updated them).

Restore your data

  • stop seafile and seahub and restore the files from your backup (delete everything in the new seafile data directory before)
  • change ownership of the seafile directories to the seafile user
  • import databases (either empty or drop the existing seafile tables or even all 3 databases, droping might be easier as I had problems with some table data imports because of a different table structure, even though I used the same seafile server version, so there obviously are some unnecessary columns left from earlier version which haven’t been removed by any seafile update script yet)
  • adapt seafile configuration files, make sure to apply all important values from the old setup in <seafile-dir>/conf/ like database credentials or seafile server root, I even reapplied SECRET_KEY (seahub_settings.py) and ID (ccnet.conf)
  • start seafile, seahub and your https proxy (e.g. nginx) and check if everything is working like expected

Fine Tuning

  • create services for seafile and seahub and enable them to launch at system boot
  • further customize and harden your system to your needs (like auto security updates, firewall, fail2ban, ddclient for dyndns updates, mailserver as satellite system for notification emails or whatever you want/need)

I had it all done on a long sunday afternoon/evening, but I have “only” less than 40 GB of seafile data (after garbage collection). And I have to admit, that I did a dry-run before, a test migration to a test machine to make sure the process works).

I really encourage you to upgrade your cubietruck to (Armbian) Stretch as well, if you have problems at a certain step let me know, maybe I can help. Good luck! :slight_smile:

Martin

Hi Martin,
thank you so much for answering.
Yes, updating the system is on my to-do list. I’ll check out armbian as an alternative to cubian :slight_smile: It will take me some time though, as I am really tied up at work right now.
Bigger issue with updating the entire system is a mailserver I’m runnin on the cubietruck as well, for which I missplaced my documentation somehow :man_facepalming: . I racall having lot’s of trouble setting it up, so I’d like to make sure I won’t run into any troubles with that first.