Installation pdf-tools in Emacs createsb unclear zlib-devel conflict

When running pdf-tools-install from within emacs

emacs --version                                                                                                                                                                                 
GNU Emacs 30.2

the following command is executed

zypper install make
              automake
              autoconf
              gcc
              libpng16-devel
              libpng16-compat-devel
              zlib-devel
              libpoppler-devel
              libpoppler-glib-devel
              glib2-devel
              pkgconf

and that then leads to the following conflict:

Problem: 1: Detailed information: 
- the to be installed zlib-ng-compat-devel-2.2.4-bp160.1.2.x86_64 conflicts with 'zlib-devel' provided by the to be installed zlib-devel-1.2.13-160000.3.1.x86_64
- the installed zlib-ng-compat-devel-2.2.4-bp160.1.2.x86_64 conflicts with 'zlib-devel' provided by the to be installed zlib-devel-1.2.13-160000.3.1.x86_64
 Solution 1: deinstallation of zlib-ng-compat-devel-2.2.4-bp160.1.2.x86_64
 Solution 2: do not install zlib-devel-1.2.13-160000.3.1.x86_64

This post is about the fact that I don’t understand the conflict description very well. I’m a beginner but, from what I understand, it’s zlib-devel that provides
zlib-devel-1.2.13-160000.3.1.x86_64, and not the other way around. Also, the second bullet point states that
zlib-ng-compat-devel-2.2.4-bp160.1.2.x86_64 is installed, whereas the first bullet point categorizes it as “to be installed”.

I am also at a loss regarding version numbers in those names. I went and read https://en.opensuse.org/openSUSE:Shared_library_packaging_policy and https://en.opensuse.org/openSUSE:Package_naming_guidelines, but my doubts remain. Why does it seem like there is two package version numbers? And what is the thing in the middle of the two version numbers (160000 or bp160)?

Thank you in advance for any help.

@nicoklaus Hi and welcome to the Forum :smile:
The version strings 160000, bp160 and lp160 indicate from were they are produced/maintained.

Our primary sponsor SUSE has taken over support and maintenance of the base system and core components for Leap which is indicated by the 160000.

The bp160 string indicates backports and can be used with SLE products out of SUSE PackageHub without impacting support and lp160 are provided for Leap only, these two are produced/maintained by the openSUSE Community.

You can also see via zypper if <some_package> and the Vendor entry.

If you skip the zlib-devel install, does it resolve?

@nicoklaus Looking further, emacs comes from SUSE so I would suggest Solution 1 then…

Hi Malcolm, thank you for the welcome and for your reply!
That’s a helpful explanation of the SUSE-related part of the version strings.

I honestly cannot remember which option I chose. Given the following:

zypper info zlib-devel | grep Installed                                                                                                                                                        [22:39:09]
Installed Size : 418.8 KiB
Installed      : No

I think I chose solution 2 in the end, and it seems to be working fine. If I find any trouble, I will try and install zlib-devel, and post here.

1 Like