Package Details: moc-pulse 2.5.2-8

Git Clone URL: https://aur.archlinux.org/moc-pulse.git (read-only, click to copy)
Package Base: moc-pulse
Description: An ncurses console audio player with support for pulseaudio
Upstream URL: https://moc.daper.net/
Keywords: music
Licenses: GPL
Conflicts: moc
Provides: moc
Submitter: hv15
Maintainer: hv15
Last Packager: hv15
Votes: 6
Popularity: 0.024795
First Submitted: 2016-06-26 15:20 (UTC)
Last Updated: 2022-05-01 08:53 (UTC)

Required by (8)

Sources (5)

Latest Comments

1 2 3 Next › Last »

hv15 commented on 2022-05-01 08:55 (UTC)

@sekret, oops it seems my system was still on glibc 2.34 and so didn't have any problem running mocp. After updating my system, I got the same crash message.

@DiamondSlug, thanks for finding the bug report, the workaround works and I've applied it now in the latest release.

DiamondSlug commented on 2022-05-01 03:32 (UTC)

nvm there is a patch for it. check https://bugs.archlinux.org/task/74041

DiamondSlug commented on 2022-05-01 03:02 (UTC)

@hv15 I tried the new version and it compiles successfully. However, it has the same issue as @sekret's, that when you launch mocp it crashes with buffer overflow. If I install moc from the official repo I got this overflow abort as well. Could it be that moc from the official repo crashes because it does not support pulse, which means that our new version of moc-pulse failed to have a proper pulse support just like moc from the official repo?

sekret commented on 2022-04-30 19:37 (UTC) (edited on 2022-04-30 19:39 (UTC) by sekret)

moc-pulse-2.5.2-7-x86_64-prepare.log https://cryptpad.fr/code/#/2/code/view/RLVW6cNrh+fkb6QIZr9UOpazgh2CHasqiJnraEwuiT8

moc-pulse-2.5.2-7-x86_64-build.log https://cryptpad.fr/code/#/2/code/view/BMFPd8bMujQ3kxTXnLHyK8NeH55bfrQ2FzjYlANw5DA

moc-pulse-2.5.2-7-x86_64-package.log https://cryptpad.fr/code/#/2/code/view/HQuF1kho43VR-mHwPT1nJV00GvaZeGgJXKn45PueT1c

moc-pulse-2.5.2-7-x86_64.pkg.tar.zst-namcap.log https://cryptpad.fr/code/#/2/code/view/P0BUA-gO6Oq8DOWT4LapY4McoKWBfcLt+dqm4bKPVWg

Built in a clean chroot. Then after installing the package and launching mocp (which I stopped before I updated it) leads to the core dump.

hv15 commented on 2022-04-30 18:45 (UTC)

@sekret, oh that isn't good. Either the C compiler or libc crashed... could you provide more details include a full log of the compilation up to that point.

sekret commented on 2022-04-30 18:43 (UTC) (edited on 2022-04-30 19:17 (UTC) by sekret)

I rebuilt the package according to the changes, but I get this message when I try to launch mocp:

*** buffer overflow detected ***: terminated Aborted (core dumped)

Downgrading to the already built pkgrel=6 helps, that one still works.

hv15 commented on 2022-04-30 11:41 (UTC)

@DiamondSlug thanks for pointing this out, I switched to using the ffmpeg4.4 dependency instead which resolves the compilation problem.

DiamondSlug commented on 2022-04-26 23:12 (UTC)

I cannot successfully compile it any more. It seems there is something wrong with the ffmpeg decoder plugin's compilation.

make[3]: Entering directory '/home/myName/.cache/yay/moc-pulse/src/moc-2.5.2/decoder_plugins/ffmpeg'
/bin/sh ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..   -I../.. -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I../.. -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -Wall -W -D_REENTRANT    -D_REENTRANT    -MT libffmpeg_decoder_la-ffmpeg.lo -MD -MP -MF .deps/libffmpeg_decoder_la-ffmpeg.Tpo -c -o libffmpeg_decoder_la-ffmpeg.lo `test -f 'ffmpeg.c' || echo './'`ffmpeg.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -I../.. -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wall -W -D_REENTRANT -D_REENTRANT -MT libffmpeg_decoder_la-ffmpeg.lo -MD -MP -MF .deps/libffmpeg_decoder_la-ffmpeg.Tpo -c ffmpeg.c  -fPIC -DPIC -o .libs/libffmpeg_decoder_la-ffmpeg.o
ffmpeg.c:200:9: error: unknown type name 'AVCodecContext'
  200 |         AVCodecContext *enc;
      |         ^~~~~~~~~~~~~~
ffmpeg.c: In function 'find_first_audio':
ffmpeg.c:315:40: error: 'AVStream' has no member named 'codec'
  315 |                 if (ic->streams[result]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
      |                                        ^~
ffmpeg.c: In function 'ffmpeg_init':
ffmpeg.c:513:9: warning: implicit declaration of function 'avcodec_register_all' [-Wimplicit-function-declaration]
  513 |         avcodec_register_all ();
      |         ^~~~~~~~~~~~~~~~~~~~
ffmpeg.c:514:9: warning: implicit declaration of function 'av_register_all' [-Wimplicit-function-declaration]
  514 |         av_register_all ();
      |         ^~~~~~~~~~~~~~~
ffmpeg.c: In function 'fmt_from_codec':
ffmpeg.c:678:13: warning: implicit declaration of function 'avcodec_version'; did you mean 'avformat_version'? [-Wimplicit-function-declaration]
  678 |         if (avcodec_version () < AV_VERSION_INT(52,66,0)) {
      |             ^~~~~~~~~~~~~~~
      |             avformat_version
ffmpeg.c:680:42: error: request for member 'codec_id' in something not a structure or union
  680 |                         switch (data->enc->codec_id) {
      |                                          ^~
ffmpeg.c: In function 'fmt_from_sample_fmt':
ffmpeg.c:726:26: error: request for member 'sample_fmt' in something not a structure or union
  726 |         switch (data->enc->sample_fmt) {
      |                          ^~
ffmpeg.c: In function 'set_downmixing':
ffmpeg.c:865:57: error: request for member 'channel_layout' in something not a structure or union
  865 |         if (av_get_channel_layout_nb_channels (data->enc->channel_layout) <= 2)
      |                                                         ^~
ffmpeg.c:875:18: error: request for member 'request_channel_layout' in something not a structure or union
  875 |         data->enc->request_channel_layout = AV_CH_LAYOUT_STEREO;
      |                  ^~
ffmpeg.c: In function 'ffmpeg_open':
ffmpeg.c:904:28: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' undeclared (first use in this function); did you mean 'AV_CODEC_CAP_VARIABLE_FRAME_SIZE'?
  904 |         data->avbuf_size = AVCODEC_MAX_AUDIO_FRAME_SIZE * 3 / 2;
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                            AV_CODEC_CAP_VARIABLE_FRAME_SIZE
ffmpeg.c:904:28: note: each undeclared identifier is reported only once for each function it appears in
ffmpeg.c:968:33: error: 'AVStream' has no member named 'codec'
  968 |         data->enc = data->stream->codec;
      |                                 ^~
ffmpeg.c:970:54: error: request for member 'codec_id' in something not a structure or union
  970 |         data->codec = avcodec_find_decoder (data->enc->codec_id);
      |                                                      ^~
ffmpeg.c:997:26: error: request for member 'flags' in something not a structure or union
  997 |                 data->enc->flags |= AV_CODEC_FLAG_TRUNCATED;
      |                          ^~
ffmpeg.c:997:37: error: 'AV_CODEC_FLAG_TRUNCATED' undeclared (first use in this function); did you mean 'AV_CODEC_CAP_TRUNCATED'?
  997 |                 data->enc->flags |= AV_CODEC_FLAG_TRUNCATED;
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
      |                                     AV_CODEC_CAP_TRUNCATED
ffmpeg.c:1000:13: warning: implicit declaration of function 'avcodec_open2'; did you mean 'avio_open2'? [-Wimplicit-function-declaration]
 1000 |         if (avcodec_open2 (data->enc, data->codec, NULL) < 0)
      |             ^~~~~~~~~~~~~
      |             avio_open2
ffmpeg.c:1017:65: error: request for member 'sample_fmt' in something not a structure or union
 1017 |                                av_get_sample_fmt_name (data->enc->sample_fmt));
      |                                                                 ^~
ffmpeg.c:1022:17: warning: implicit declaration of function 'avcodec_close'; did you mean 'avio_close'? [-Wimplicit-function-declaration]
 1022 |                 avcodec_close (data->enc);
      |                 ^~~~~~~~~~~~~
      |                 avio_close
ffmpeg.c: In function 'new_packet':
ffmpeg.c:1151:9: warning: 'av_init_packet' is deprecated [-Wdeprecated-declarations]
 1151 |         av_init_packet (pkt);
      |         ^~~~~~~~~~~~~~
In file included from /usr/include/libavformat/avformat.h:316,
                 from ffmpeg.c:67:
/usr/include/libavcodec/packet.h:506:6: note: declared here
  506 | void av_init_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
ffmpeg.c: In function 'decode_packet':
ffmpeg.c:1242:23: warning: implicit declaration of function 'avcodec_decode_audio' [-Wimplicit-function-declaration]
 1242 |                 len = avcodec_decode_audio (data->enc, (int16_t *)data->avbuf,
      |                       ^~~~~~~~~~~~~~~~~~~~
ffmpeg.c: In function 'seek_in_stream':
ffmpeg.c:1396:25: error: 'AVStream' has no member named 'cur_dts'
 1396 |         if (data->stream->cur_dts > seek_ts)
      |                         ^~
ffmpeg.c:1406:9: warning: implicit declaration of function 'avcodec_flush_buffers' [-Wimplicit-function-declaration]
 1406 |         avcodec_flush_buffers (data->stream->codec);
      |         ^~~~~~~~~~~~~~~~~~~~~
ffmpeg.c:1406:44: error: 'AVStream' has no member named 'codec'
 1406 |         avcodec_flush_buffers (data->stream->codec);
      |                                            ^~
ffmpeg.c: In function 'ffmpeg_decode':
ffmpeg.c:1438:43: error: request for member 'channels' in something not a structure or union
 1438 |         sound_params->channels = data->enc->channels;
      |                                           ^~
ffmpeg.c:1439:39: error: request for member 'sample_rate' in something not a structure or union
 1439 |         sound_params->rate = data->enc->sample_rate;
      |                                       ^~
make[3]: *** [Makefile:542: libffmpeg_decoder_la-ffmpeg.lo] Error 1
make[3]: Leaving directory '/home/myName/.cache/yay/moc-pulse/src/moc-2.5.2/decoder_plugins/ffmpeg'
make[2]: *** [Makefile:468: all-recursive] Error 1
make[2]: Leaving directory '/home/myName/.cache/yay/moc-pulse/src/moc-2.5.2/decoder_plugins'
make[1]: *** [Makefile:884: all-recursive] Error 1
make[1]: Leaving directory '/home/myName/.cache/yay/moc-pulse/src/moc-2.5.2'
make: *** [Makefile:623: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: moc-pulse

sekret commented on 2021-11-29 04:00 (UTC)

sndio is a hard dependency. mocp doesn't launch for me with an almost vanilla config (configured pulseaudio to be the default)

hv15 commented on 2021-11-21 20:33 (UTC)

Thanks @Vaporeon!