[SOLVED] "Don't support syncing old version libraries" after upgrade to Ubunto 18.04 LTS


#1

Today I upgraded from ubuntu 17.10 to 18.04. The seafile client (6.1.5) was working and syncing before with my private server (6.0.8). After the upgrade the client was starting but my synced libraries are stuck in “waiting for sync”. I tried re-syncing manually or syncing another library, but always received following error dialog:

“Failed to add download taks: Don’t support syncing old version libraries”

When starting Windows 10 and seafile client, they sync without problems - of course on a different hard drive.

Appreciate any help!

Best regards
Andre


#2

Which machine did you upgrade to 18.04? The server or the client machine?


#3

The client. The server remained at ubuntu 14.04 LTS and seafile 6.0.8


#4

Could you post the exact (new) versions of the Seafile Client and its dependant libraries?

apt policy libsearpc1 liccnet0 libseafile0 seafile-gui

#5
libsearpc1:
  Installed: 3.0.8-1
  Candidate: 3.0.8-1
  Version table:
 *** 3.0.8-1 500
        500 http://ch.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status
libccnet0:
  Installed: 6.1.5-1
  Candidate: 6.1.5-1
  Version table:
 *** 6.1.5-1 500
        500 http://ch.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status
libseafile0:
  Installed: 6.1.5-1
  Candidate: 6.1.5-1
  Version table:
 *** 6.1.5-1 500
        500 http://ch.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status
seafile-gui:
  Installed: 6.1.5-1
  Candidate: 6.1.5-1
  Version table:
 *** 6.1.5-1 500
        500 http://ch.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status

#6

Exactly same problem here:

  • same update to ubuntu 18.04 on the client pc (from 17.10 working fine)
  • same reinstallation of seafile client that was uninstalled durinf the system update process
  • same result to “apt policy libsearpc1 liccnet0 libseafile0 seafile-gui”

I upgraded the server to 6.2.5 (i386 on centos in my case) without solving the problem.

Few notable things:

  • 1 of the libraries is working fine, most notably the last one I created on the server.
  • creating a new library (by dropping a directory in the client bottom area) is working fine also when using encryption
  • seaf-fsck or seaf-gc on the server are not helping

my gues, this has to do with some library version on the server but I’m not able to find a way to fix it at the moment
the only option is to delete the libraries from the server and then recreate them all, (which worked for a small one) but I do not want to go through this for all my libraries

Thanks for any support
Pippo


#7

Have you checked the permissions on the old libraries? Linux OS upgrades have a tendency to screw some up.

Additionally, during the upgrade, did Ubuntu ask you if you wanted to “use the new config file” or the “existing config file” here and there? I find that to be one of the most annoying things about Linux upgrades, and I’ve made some mistakes with the answers from time to time that required me to reconfigure and/or reinstall something after an upgrade.


#8

Hi wthess, thanks for the answer.
during the upgrade on the client system I did not get any question asked.
Seafile client was listed as software to be removed and if fact it was removed during the upgrade process.
I reinstalled the new client as instructed on the website and I found all server and libraries already setup in the client.
The only problem was that most of them are not syncing any more.

I’m not able to check permission right now but as soon as I can I’ll update on this topic as well.

Thanks
Pippo


#9

Although it is missing form the changelog I think I’ve seen somewhere that the support has actually been fully removed from the client. It would of course be better to show a hint and link some page where it is explained.

@daniel.pan has support for old libraries been removed from the client?


#10

I don’t remember being asked questions during update. However, in order to check your hypothesis about old config files, I created on the client laptop a new user with a new home directory. But still I cannot sync any of my libraries, I keep receiving the “old version library” error.

Best
André


#11

I’d be interested in seeing the results of this command on the server…

seaf-gc.sh --dry-run

On the affected libraries, it should give a “GC version” followed by a number. What is that number?

I’m also wondering if those libraries show up in the UI.


#12

Hi wthess,
I think you got the point.

NOT syncing libraries:
[05/09/18 09:25:18] gc-core.c(440): GC version 0 repo XXXXXXXXX(99999999-9999-9999-9999-999999999999)

syncing libraries:
[05/09/18 09:25:18] gc-core.c(440): GC version 1 repo XXXXXXXXX(99999999-9999-9999-9999-999999999999)

including the one I reimported on the server.

Is there a way to upgrade the version or the only solution is the one I already implemented (unsync - delete library on server - reimport library)

thanks
Pippo


#13

I just find it odd that it worked on 6.0.8 and an OS upgrade to the server now causes Seafile to state that there are old versions of the libraries. To my knowledge, the library version has not been updated for some time now, so I’m not certain exactly what’s going on here.

But, because you asked… Someone did write a script, and last I saw, it still worked back in 2017. If you decide to try it, back up your repositories first, as it was not a Seafile developer that wrote it. You can find the details here:


#14

Oh, and if you do decide to try it, please let us know the results. If it works, then at least we know there is still a solution out there.


#15

Thanks, I’ll try as I have a bit of free quality time and let you know.

Just for clarity the upgrade that started it all was on the client side not on the server side.

Regards
Pippo


#16

Correct. I misstated. however, the seaf-gc you ran on the server is showing those libraries to be older versions. (version 0). I was under the understanding that older versions were not compatible with later versions of the client… Also, if Im not mistaken, version 0 was prior to version 3.0 of Seafile Server.

Although I’m curious as to what happened, we are more interested in helping you get back in operation, which is why we are here. :wink:


#17

OK, I went thru the script documentation today only and I realized that it only applies to unencrypted libraries.
Unfortunately all my libraries are encrypted so I’m back to the only option to re-import them all, which is what I’m going to do.

Thanks you all for the support.
Best
Pippo


#18

Glad you got it worked out. Changing the title to reflect that it’s solved. :slight_smile:


#19

If I understand it correctly, the new client does not support the old server library, which is quite an unusual thing to happen. With server-client applications the network protocol usually hides the concrete implementation on the server.
Also, the support for the old libraries is obviously removed only in the latest linux client, but not for windows and android.

So, the solution is, to migrate the server libs to the most recent version. There is no officially supported way but someone mentioned a script which would do the job.
If this doesn’t work, the only way would be to export the library and to re-import it. I am wondering if this keeps the history intact…

Is this summary correct?

Best
André


#20

This is wrong. It is either removed from all clients (Windows, Mac, Linux) or none.

The Android client never support the old library format but uses the Web API instead. This works because it does not use/support the synchronization mechanism.