Bug 447601 - ./kdesrc-build --initial-setup does not install Perl YAML on openSUSE TW
Summary: ./kdesrc-build --initial-setup does not install Perl YAML on openSUSE TW
Status: RESOLVED WORKSFORME
Alias: None
Product: kdesrc-build
Classification: Developer tools
Component: setup wizard (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Michael Pyne
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-28 13:31 UTC by Jack Hill
Modified: 2024-03-02 19:56 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jack Hill 2021-12-28 13:31:35 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. mkdir -p ~/kde/src && cd ~/kde/src
2. git clone https://invent.kde.org/sdk/kdesrc-build.git && cd kdesrc-build
3. ./kdesrc-build --initial-setup (I said "yes" to updating ~/.bashrc)
4. source ~/.bashrc
5. Attempt to build something, e.g. kdesrc-build neochat

OBSERVED RESULT
kdesrc-build requires some minimal support to operate, including support
from the Perl runtime that kdesrc-build is built upon.

Some mandatory Perl modules are missing, and kdesrc-build cannot operate
without them.  Please ensure these modules are installed and available to Perl:

        one of (YAML::XS, YAML::PP, YAML::Syck)

kdesrc-build can do this for you on many distros:
Run 'kdesrc-build --initial-setup'

kdesrc-build version is 20.06

EXPECTED RESULT
KDE build script should run and attempt to build NeoChat

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: openSUSE Tumbleweed 20211226
KDE Plasma Version: 5.23.4
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Easily fixable with sudo zypper in perl-YAML-PP
Comment 1 Chris Holland 2022-01-13 20:45:15 UTC
Bit annoying that the password prompt is before the package list. Anyways, this seems to be the list of packages.

`@@ pkg/opensuse/unknown` at:
https://invent.kde.org/sdk/kdesrc-build/-/blob/master/modules/ksb/FirstRun.pm#L471

It looks like it uses the same package list for OpenSUSE Leap and Tumbleweed? That might be the reason why it doesn't work.

Here's my output. I've installed a few dev packages already, so it found a few already.
https://gist.github.com/Zren/519e064c54a082881a216f11fb5c00e8

I went into yast and noticed:

libpng12-devel - Development tools for applications which will use libpng
	Provides: pkgconfig(libpng12) = 1.2.59
libpng16-devel - Development tools for applications which will use libpng
	Provides: pkgconfig(libpng16) = 1.6.37

Which is probably why we get errors like:
'pkgconfig(libpng)' not found in package names. Trying capabilities.

Very annoying that SUSE doesn't map "pkgconfig(libpng)" to libpng16-devel.
Comment 2 Aitor 2022-11-03 16:31:37 UTC
Installing
Comment 3 Aitor 2022-11-03 16:36:54 UTC
(sorry for previous accidental comment)
Installing perl-YAML-PP wasn't enough for me. These are my perl YAML installed packages:
```
rpm -qa | grep perl-YAML
perl-YAML-LibYAML-API-0.013-1.6.x86_64
perl-YAML-PP-0.035-1.1.noarch
perl-YAML-Syck-1.34-1.14.x86_64
perl-YAML-1.30-1.14.noarch
perl-YAML-PP-LibYAML-0.005-1.13.noarch
perl-YAML-LibYAML-0.85-1.1.x86_64
perl-YAML-Tiny-1.73-1.20.noarch
```

Operating System: openSUSE Tumbleweed 20221101
KDE Plasma Version: 5.26.2
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.6
Kernel Version: 6.0.5-1-default (64-bit)
Graphics Platform: Wayland
Comment 4 Aitor 2022-11-03 17:36:42 UTC
Actually, my user's perl was pointing to a custom installation, once using the system perl installation, dependencies seem right. Sorry for the noise.
Comment 5 Andrew Shark 2024-03-02 19:56:26 UTC
Cannot reproduce under openSUSE Tumbleweed image.

I see in [this](https://invent.kde.org/sdk/kdesrc-build/-/commit/1b34b936490b652bf99e03197f18c53abf4eb3fd#19fffd4e5cecfecc6dd5b053a9570c740101166f_296_292) commit the `perl-YAML-LibYAML` was replaced by `perl(YAML::LibYAML)`. But that is dated 2019-12-17, while original poster date is 2021-12-28.

Also, consider switching to kde-builder if still using kdesrc-build.