Subject: Re: bug#41743: gst123

From: Kyle Andrews <[email-masked]>
Date: Sun, 28 Jun 2020 22:34:24 -0400

Marius Bakke writes:

> Kyle Andrews <[email-masked]> writes:
>
>> Tobias Geerinckx-Rice writes:
>>
>>> Kyle,
>>>
>>> Kyle Andrews 写道：
>>>> I tried adding all the gst packages I could think of to the
>>>> environment,
>>>> but it still did not work. Here is what I ran:
>>>>
>>>> guix environment gst-plugins-base gst-plugins-bad gst-plugins-good
>>>> gst-plugins-ugly gst123 -- gst123 "/path/to/music-file.mp3"
>>>
>>> Use ‘guix environment --ad-hoc’.  The command above doesn't add any of
>>> the packages to the environment, only their build dependencies.
>>>
>>> I forgot about gst-plugins-base, maybe it suffices.
>>>
>>> Kind regards,
>>>
>>> T G-R
>>
>> Thanks for the tip. Unfortunately, I still see the error:
>>
>> Error: Your GStreamer installation is missing a plug-in.
>> => file cannot be played and will be removed from playlist
>>
>> after running:
>>
>> guix environment --ad-hoc gst-plugins-base gst-plugins-good
>> gst-plugins-bad gst-plugins-ugly gst123 -- gst123
>> ~/path/to/music-file.mp3
>
> You also need 'gstreamer' in the environment to get the
> GST_PLUGIN_SYSTEM_PATH variable, so that the plugins are actually
> found.  A long-standing bug in Guix.  :-/

I still get the error with:

guix environment gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly gst123 -- gst123 '/path/to/file.mp3'

Following Leo's advice, I also ran:

guix environment strace gstreamer gst-plugins-base gst-plugins-bad
gst-plugins-good gst-plugins-ugly gst123 -- strace -f gst123
'/path/to/file.mp3'

There were 3403 lines of output, which seems bigger than the Debian
pastebin will let me show, so I'm not sure how to share the whole
thing.

However, here is a list of references to the store in the output
produced with:

: cat $STRACEF_OUTPUT | grep -i -o '"/gnu/store/.*"' | uniq

https://paste.debian.net/hidden/14fe8b8b/

The last lines of output from strace -f looked like:

ioctl(1, TCGETS, 0x7ffff8747000)        = -1 ENOTTY (Inappropriate ioctl for device)
stat("/home/k/.terminfo", 0x76ac20)     = -1 ENOENT (No such file or directory)
stat("/gnu/store/5lc708bcni55ch6lfq30i8595v1xfchh-profile/share/terminfo", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
stat("/home/k/.guix-profile/share/terminfo", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
stat("/gnu/store/zzkly5rbfvahwqgcs7crz0ilpi7x5g5p-ncurses-6.2/share/terminfo", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
access("/gnu/store/5lc708bcni55ch6lfq30i8595v1xfchh-profile/share/terminfo/d/dumb", R_OK) = 0
openat(AT_FDCWD, "/gnu/store/5lc708bcni55ch6lfq30i8595v1xfchh-profile/share/terminfo/d/dumb", O_RDONLY) = 13
fstat(13, {st_mode=S_IFREG|0444, st_size=308, ...}) = 0
read(13, "\32\1\30\0\2\0\1\0\202\0\10\0dumb|80-column dumb "..., 32768) = 308
read(13, "", 28672)                     = 0
close(13)                               = 0
ioctl(2, TCGETS, 0x7ffff8747000)        = -1 ENOTTY (Inappropriate ioctl for device)
ioctl(2, TCGETS, 0x7ffff8746f90)        = -1 ENOTTY (Inappropriate ioctl for device)
ioctl(0, TCGETS, {B38400 opost isig icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost isig -icanon -echo ...}) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGTTOU {si_signo=SIGTTOU, si_code=SI_KERNEL} ---
--- stopped by SIGTTOU ---

Let me know if there is something else I could be looking for.

For now I'm resigned to just using mpg123 for mp3's instead which works
perfectly fine.