Install Matching Devel Packages

I just migrated to 15.2 from 15.0 and am having trouble figuring out how to install all matching development packages.

In previous versions to install matching develop files you just opened Yast Software module and there was an option under extras to do this.

This choice does not seem to be present in the current version.

So my question is how do I install all matching devel packages in Leap 15.2?

Matching what exactly? It would help if you simply explained what you were trying to do, not how you intended to do it.

All develop packages that match an installed package.

In Yast’s software module under extras you will see options to install matching debug packages, and matching debug source packages.

These install all the debug or debug source packages for any installed packages. There used to be an option to install all matching develop files as well but it appears to no longer be there, so I was wondering how one would install all develop files for currently installed packages.

here’s an explanation of yast for version 10: https://www.pks.mpg.de/~mueller/docs/suse10.1/suselinux-manual_en/manual/sec.yast2.sw.html

Note section:

2.3.1.11. Installing -devel Packages

This has been there as long as I can remember but does not seem to be present in 15.2. So how do I install matching devel packages?

Thank you.

This was removed 12 years ago when library names became versioned.

I know for a fact I used it in version 13 and version 12. I’m pretty sure it was in leap 42.0 but I had upgraded in place from 13 and hadn’t needed it. I did 15.2 fresh and now need it as I have much software that needs the header files to compile.

So in other words if your a developer, or have to compile your own packages, forget Leap as getting the header files for installed packages is now almost impossible without searching for each needed library, one at a time, for hundreds of libraries?

Is there any way to filter zipper or yast to show developer files for the installed libraries?

Hi
Use OBS and package as a rpm? Use zypper and pkgconfig to find the files needed, install patterns for the development;


zypper se -t pattern devel

When running configure or cmake, if missing headers it will tell you what is needed, then can make a note for later installs of what was needed?

That zypper command just shows development patterns. I am looking to install header files for already installed libraries.

For example if libjpeg8 is installed applications compiled against it will run, however if I want to compile code against libjpeg8 then I need the header files which are in libjpeg8-devel package.

True when compiling it will tell you which header files your missing; but often that means installing dozens or more devel files, and looking them up and installing one at a time would be very time consuming, especially if one has multiple applications to compile.

Optionally a way to force yast / zipper to install devel packages by default would solve future install problems at least.

It depends on you, which devel packages you need.
Install them and they were installed.

A new Compilation/Building may need more and other devel files, you have to install and it may work.

You can also install all devel :

zypper in -f -devel

But do not break any dependency/problem

it was present in Gtk UI which is no more supported. In 15.2 only ncurses UI (where this option was never present) and Qt UI (where this option was removed 12 years ago) are available.

That’s more exception than a rule. More common is something like libtevent0 and libtevent-devel. Or libncurses5/ncurses5-devel but libncurses6/ncurses-devel.

In general there is no common pattern that allows to infer development package name from run-time package name. Which is why this option was removed. So even where this option was still present it did not really do anything useful in most cases.

That’s not what I’m trying to do. I have all development patterns needed installed.

It’s devel packages related to installed applications and libraries.

For example alsa and Image Magick are both installed. However the devel packages alsa-devel and ImageMagick-devel are not installed by default along with those packages. I’m looking for a way to install all devel packages that match a currently installed package, or a way to filter yast or zypper to show devel packages for installed packages, or a way to set zypper / yast to install devel packages by default when installing a package.

Well when I look in yast the devel packages all seem named for the specific version.

If you search yast for libjpeg you’ll see each devel package is named the same as the corresponding package only with a -devel suffix.

There is no command to install a devel-package for an installed package.
You have to write it by yourselve.

Well, if you know how to do it correctly by all means submit pull request for libyui-qt-pkg on github. The code is actually there, just commented out, it is trivial to restore it.