Forum How do I...?

Prince on Debian Stretch - libcurl4

Hello,

Will there be a package that can be installed on Debain Stretch 9.9?

When trying to install the latest Debian build, dpkg complains that libcurl3 is not installed. Debian Stretch appears to have just updated to libcurl4.

Best regards,
Stuart
wangp
The existing package should work fine.

The following is on a fresh installation of Debian 9.9:
root@debian:~# cat /etc/debian_version 
9.9

root@debian:~# apt-cache search '^libcurl'
libcurl3 - easy-to-use client-side URL transfer library (OpenSSL flavour)
libcurl3-dbg - debugging symbols for libcurl (OpenSSL, GnuTLS and NSS flavours)
libcurl3-gnutls - easy-to-use client-side URL transfer library (GnuTLS flavour)
libcurl3-nss - easy-to-use client-side URL transfer library (NSS flavour)
libcurl4-doc - documentation for libcurl
libcurl4-gnutls-dev - development files and documentation for libcurl (GnuTLS flavour)
libcurl4-nss-dev - development files and documentation for libcurl (NSS flavour)
libcurl4-openssl-dev - development files and documentation for libcurl (OpenSSL flavour)
libghc-hxt-curl-dev - LibCurl interface for HXT
libghc-hxt-curl-doc - LibCurl interface for HXT; documentation
libghc-hxt-curl-prof - LibCurl interface for HXT; profiling libraries
lua-curl - libcURL bindings for the Lua language
lua-curl-dev - libcURL development files for the Lua language
libcurl-ocaml - OCaml curl bindings (Runtime Library)
libcurl-ocaml-dev - OCaml libcurl bindings (Development package)
ruby-ethon - libcurl wrapper using ffi

root@debian:~# wget https://www.princexml.com/download/prince_12.5-1_debian9.1_amd64.deb

root@debian:~# apt install -y ./prince_12.5-1_debian9.1_amd64.deb

root@debian:~# prince --version
Prince 12.5
Copyright 2002-2019 YesLogic Pty. Ltd.
Non-commercial License

hcca2000
There appears to be some incompatibility with something that has updated recently. This is on Debian 10, but the result on our version of 9.9 is the same.

sudo dpkg -l | grep libcurl
ii  libcurl3-gnutls:amd64                 7.64.0-4                           amd64        easy-to-use client-side URL transfer library (GnuTLS flavour)
ii  libcurl4:amd64                        7.64.0-4                           amd64        easy-to-use client-side URL transfer library (OpenSSL flavour)
ii  libcurl4-openssl-dev:amd64            7.64.0-4                           amd64        development files and documentation for libcurl (OpenSSL flavour)
ii  python-pycurl                         7.43.0.2-0.1                       amd64        Python bindings to libcurl
ii  python3-pycurl                        7.43.0.2-0.1                       amd64        Python bindings to libcurl (Python 3)


sudo apt install -y ./prince_12.5-1_debian9.1_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'prince' instead of './prince_12.5-1_debian9.1_amd64.deb'
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:
 prince : Depends: libcurl3 (>= 7.16.2) but it is not installable
E: Unable to correct problems, you have held broken packages.


Installing libcurl4 uninstalls Prince. Libcurl 3 and 4 cannot co-exist.
wangp
We will need to build Prince for Debian 10.

If you have libcurl4 installed then I suspect you are running Debian 10, and may have upgraded a Debian 9 installation without meaning to. As far as I know these links indicate the packages available for the two branches:

https://packages.debian.org/stretch/libcurl3
https://packages.debian.org/buster/libcurl4

whereas these packages do not exist:

https://packages.debian.org/stretch/libcurl4
https://packages.debian.org/buster/libcurl3

Have I misunderstood something?
hcca2000
The Debian 9.9 system is in a partially upgraded state due to not being able to install Prince without uninstalling other packages that rely on libcurl4.

This only appears to have happened in the last couple of weeks though. I suspect that some other packages were updated to require libcurl4, and as a result, apt also updates libcurl3 as a dependency.

On the 9.9 system:

sudo apt-cache search '^libcurl'

libcurl3 - easy-to-use client-side URL transfer library (OpenSSL flavour)
libcurl3-dbg - debugging symbols for libcurl (OpenSSL, GnuTLS and NSS flavours)
libcurl3-gnutls - easy-to-use client-side URL transfer library (GnuTLS flavour)
libcurl3-nss - easy-to-use client-side URL transfer library (NSS flavour)
libcurl4-doc - documentation for libcurl
libcurl4-gnutls-dev - development files and documentation for libcurl (GnuTLS flavour)
libcurl4-nss-dev - development files and documentation for libcurl (NSS flavour)
libcurl4-openssl-dev - development files and documentation for libcurl (OpenSSL flavour)
libghc-hxt-curl-dev - LibCurl interface for HXT
libghc-hxt-curl-doc - LibCurl interface for HXT; documentation
libghc-hxt-curl-prof - LibCurl interface for HXT; profiling libraries
lua-curl - libcURL bindings for the Lua language
lua-curl-dev - libcURL development files for the Lua language
libcurl-ocaml - OCaml curl bindings (Runtime Library)
libcurl-ocaml-dev - OCaml libcurl bindings (Development package)
ruby-ethon - libcurl wrapper using ffi
libcurl4 - easy-to-use client-side URL transfer library (OpenSSL flavour)


It is definitely still 9.9 though (as listed in /etc/debian_version, and sources are still set to stretch).

On the Debian 10 system, libcurl3 doesn't even appear as a package any more.
wangp
Packages for Debian 10 are now available.
hcca2000
Awesome, thank you.