After installation of Debian 10 (buster), I cannot install urbackup server:
root@rohan:~# apt install urbackup-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
urbackup-server : Depends: libcurl3 (>= 7.16.2) but it is not installable
Recommends: libguestfs-tools but it is not going to be installed
Recommends: qemu-utils but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
root@rohan:~# apt-mark showhold
root@rohan:~#
It seems that libcurl3 has been removed from Debian.
Could you migrate to libcurl4 ?
Are there instructions or the debian/ build files available someplace so we can roll our own debs? I searched, and looked around the website, but I couldn’t find them. Source does seem to build on Debian 10 without a problem.
libcurl4 conflicts with libcurl3, so preparing different versions of urbackup-server for Debian 10 and Debian 9 seems necessary.
The primary difference between libcurl3 and libcurl4 is that 3 uses OpenSSL 1.0 and 4 uses OpenSSL 1.1.
Rename libcurl3 to libcurl4, because libcurl exposes an SSL_CTX via CURLOPT_SSL_CTX_FUNCTION, and this object changes incompatibly between openssl 1.0 and openssl 1.1.
Ahh, yes, sorry. I’m looking at the deb packages in the Debian/Ubuntu section hosted at https://hndl.urbackup.org/Server/2.3.8/debian. They are listed as “stable/unstable/testing”. I happen to be using the amd64 ones, but I suspect the problem exists for all architectures. The issue is that those particular urbackup-server_2.3.8_amd64.deb files are not actually installable on stable (buster), unstable, or testing, because the libcurl3 dependency can’t be fulfilled, as Debian has transitioned to libcurl4. Being completely pedantic, libcurl3 from stretch can be installed on buster, but it conflicts with libcurl4, so ends up forcing the removal of all other buster packages that use curl.
My guess is that moving forward there will need to be at least two versions: jessie/stretch, and buster/unstable/testing. There might be other ways to solve the issue, but I can’t even guess what they are.
I dug into the Ubuntu ppa and the cosmic deb is built with a dependency on libcurl4, and it installs without issue on a Debian buster system. I’ve not done any testing other than to see it installs and runs.
Also, just so nobody has to chase these things down:
@uroni Can you please fix this? I just upgraded a server and now I’m kinda stuck…
root@urbackup:/etc/default# urbackupsrv
urbackupsrv: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by urbackupsrv)
@uroni, is there anything the community can do to help? I was wanting to port my server over to a Pi 4 board which requires Raspbian Buster which is based on Debian 10.
If I understand correctly, due to some “botched upgrades” in the past on an earlier version of Debian libcurl3 can’t be installed with libcurl4 (as mentioned by JML above). Debian 10’s changes are attempting to put everything right with libcurl but they can’t make 3 and 4 coinstallable. And libcurl3 won’t be supported on Debian 10 due to Debian dropping support for SSL 1.0 (which is a good move security wise).
I completely missed the Debian 10 package on the opensuse.org site. (Guess I didn’t scroll down far enough the first time.)
Unfortunately, that won’t work for my particular use case since the Raspberry pi architecture is arm not i386 or amd64. But that is a different topic from this discussion thread.
There is a Raspbian armhf package in the debian section as well… I just enabled the Raspbian 10 build (unforunately I need to manually add new distributions, so give me a heads up if that happens…), so that should be available soon as well.