Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qtforkawesome fails to build due to missing yaml #192

Open
ddorn opened this issue Sep 25, 2024 · 8 comments
Open

qtforkawesome fails to build due to missing yaml #192

ddorn opened this issue Sep 25, 2024 · 8 comments

Comments

@ddorn
Copy link

ddorn commented Sep 25, 2024

Before reporting an issue, check whether there are pinned/recent comments on
the AUR and whether your request is really in-line with
https://wiki.archlinux.org/title/PKGBUILD. ✅

For more general discussions and questions about related topics such as
mingw-w64 packaging in general, feel free to open or join a discussion on
https://github.com/Martchus/PKGBUILDs/discussions. ✅

Note that I cannot help with AUR helpers. Please report problems with AUR
helpers to their vendors. ✅

Note that only Arch Linux is supported. Packages may not build on other
distributions such as Manjaro. ✅


Relevant packages: qtforkawesome

Your modifications to the build environment (e.g. changes in makepkg.conf):
None

Question/request or brief description of the problem:
qtforkawesome failed to build with the following error on my machine. Installing perl-yaml allowed it to build. Is it missing the build dependency?

-- Build files have been written to: /home/diego/.cache/paru/clone/qtforkawesome/src/qtforkawesome-0.2.1
[2/19] Icon header
FAILED: qtforkawesome/headers/private/icons.h qtforkawesome/headers/private/idmapping.h /home/diego/.cache/paru/clone/qtforkawesome/src/qtforkawesome-0.2.1/qtforkawesome/headers/private/icons.h /home/diego/.cache/paru/clone/qtforkawesome/src/qtforkawesome-0.2.1/qtforkawesome/headers/private/idmapping.h
cd /home/diego/.cache/paru/clone/qtforkawesome/src/qtforkawesome-0.2.1/qtforkawesome && /usr/bin/perl /home/diego/.cache/paru/clone/qtforkawesome/src/qtforkawesome-0.2.1/qtforkawesome/scripts/yaml2enum.pl /home/diego/.cache/paru/clone/qtforkawesome/src/Fork-Awesome-1.2.0/src/icons/icons.yml /home/diego/.cache/paru/clone/qtforkawesome/src/qtforkawesome-0.2.1/qtforkawesome/headers/private/icons.h /home/diego/.cache/paru/clone/qtforkawesome/src/qtforkawesome-0.2.1/qtforkawesome/headers/private/idmapping.h
Unable to locate YAML::XS or YAML: Can't locate YAML.pm in @INC (you may need to install the YAML module) (@INC entries checked: /usr/lib/perl5/5.38/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/5.38/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/5.38/core_perl /usr/share/perl5/core_perl) at /home/diego/.cache/paru/clone/qtforkawesome/src/qtforkawesome-0.2.1/qtforkawesome/scripts/yaml2enum.pl line 9.
[3/19] Automatic RCC for qtforkawesome_font.qrc
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'qtforkawesome-0.2.1-1':
@Martchus
Copy link
Owner

Martchus commented Sep 25, 2024

The Perl module it cannot find is supposed to be provided by https://archlinux.org/packages/extra/x86_64/perl-yaml-libyaml. This package is a make dependency so it should have been installed automatically in your build environment. The command perl -m 'YAML::XS' -e1 is supposed to return with a 0 exit code in your build environment and not print any errors.

Note that at this point you probably want qtforkaweseom-qt6 and also otherwise switch to -qt6 packages. (That's just a side note. The error is not specific to the Qt version.)

@Martchus
Copy link
Owner

It is strange that https://archlinux.org/packages/extra/x86_64/perl-yaml-libyaml has no dependency to libyaml. That seems like a bug of that Arch Linux package to me considering libyaml is required by that package - unless libyaml is bundled.

Martchus added a commit to Martchus/qtforkawesome that referenced this issue Sep 25, 2024
This is useful to debug why the XS module cannot be loaded, e.g in cases
like Martchus/PKGBUILDs#192.
@Martchus
Copy link
Owner

I've just pushed a commit to qtforkawesome for a better error message because right now it just tells us that the non-XS module cannot be located (but that's expected). You could try it by building qtforkawesome-git although the output of perl -m 'YAML::XS' -e1 in your build env is probably sufficient to debug this further.

@ddorn
Copy link
Author

ddorn commented Sep 25, 2024

Thanks for the quick response. To be clear: I did manage to install qtforkawesome (as part of syncthingtray). I just had to install first perl-yaml. I'm opening this or others that might want to install it in the future.
Would it make sense to swap perl-yaml-libyaml for perl-yaml? At least changing this worked for me.

Note that I have no knowledge of the perl ecosystem nor qt.

@Martchus
Copy link
Owner

It would make more sense to debug what's wrong with perl-yaml-libyaml in your case. The other package is just meant as a fallback but it is slower. Did you try to run the mentioned test command?

@HereInPlainSight
Copy link

Hi there. I don't know perl, but I know my rebuilding syncthingtray was dying and seems to be because line 8 in yaml2enum.pl says ::XSS instead of ::XS, but that seems like a new issue from your earlier fix. Just bad timing for me to run into it, but wanted to let you know.

@Martchus
Copy link
Owner

@HereInPlainSight Thanks for letting me know. This was actually only introduced by the recent commit mentioned in #192 (comment). I pushed a fix. (I added the additional S for testing so I can see whether one would actually get the error message now but forgot to remove it again before making the commit.)

Copy link

stale bot commented Nov 27, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants