SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I found that the latest MPlayer-20240127-x86_64-1 package doesn't include "usr/share/applications/mplayer.desktop ,usr/bin/mencoder and locale data in usr/share/locale/".
I think that MPlayer's git source doesn't support the latest gettext-0.22.x.
Then, I switched gettext version from 0.22.4 to former version 0.21.1 and recompiled MPlayer by using official SlackBuilld and source.
The package was compiled fine and I confirmed it contains "mencoder, mplayer.desktop and locale data".
That is my tentative work aroud, but I have no idea how to fix MPlayer's source for gettext-0.22.x support.
But in the official package of the Slackware 15 for MPlayer which is *2021*, there is mencoder, /usr/share/applications/mplayer.desktop and /usr/share/locale with some languages (3 of them). Maybe in the current it has been inhibited for some reason but it used to be there.
Also there is no such thing as make install-mencoder in the README of MPlayer.
And I have also recompiled some other version of MPlayer without such option and with mencoder as a result.
Last edited by BrunoLafleur; 01-30-2024 at 08:02 AM.
this seems to happen because of the method mplayer uses to process its translations (after the gettext 0.22.x upgrade) and it seems that the mplayer people haven't catched up with it yet.
with the new gettext msgfmt requires that translation files contain an header (the translation for the empty string) that specify *at least* a charset for the translations listed in the file itself but the perl script that the mplayer people use to process translations doesn't add that bit to the generated *.po files.
a solution could be to patch that perl script so that it adds the minimum required for msgfmt to not error out, like
Code:
--- MPlayer-20240127.orig/help/help_create_po.pl 2024-01-28 02:50:56.000000000 +0100
+++ MPlayer-20240127/help/help_create_po.pl 2024-01-30 15:37:50.557242258 +0100
@@ -56,6 +56,9 @@
open(po, "> $ARGV[1]") or die "Cannot open $ARGV[1]";
print po "# DO NOT EDIT - this file is generated from $ARGV[0]\n";
+print po "msgid \"\"\n";
+print po "msgstr \"\"\n";
+print po "\"Content-Type: text/plain; charset=UTF-8\"\n";
foreach my $id (keys %podefs)
{
this seems to let the mplayer build go on fine with all the bits in the final package: the patch could be applied after the samba one in the SlackBuild with a bit like
Code:
patch -p1 < $SRCDIR/po_charset.patch
if you want to test it too.
you can verify that this is the reason the build process does not complete successfully by setting the variable LANGUAGES in the MPlayer.SlackBuild to "en" so that msgfmt isn't called to process translations: try the build of the untouched SlackBuild presently in sources and with the LANGUAGES variable changed to "en" and compare the content of the resulting packages.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.