libgroove
libgroove copied to clipboard
Fails to build on macOS Sierra
Sierra includes updates to clock/time support, with the result that the current time shim causes a build error:
In file included from /tmp/libgroove-20160925-12053-1ov8e3y/libgroove-4.3.0/grooveplayer/player.c:18:
/tmp/libgroove-20160925-12053-1ov8e3y/libgroove-4.3.0/grooveplayer/osx_time_shim.h:21:13: error: typedef redefinition with different types ('int' vs 'enum clockid_t')
typedef int clockid_t;
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/time.h:171:3: note: previous definition is here
} clockid_t;
^
1 error generated.
Full logs: https://bot.brew.sh/job/Homebrew%20Core%20Pull%20Requests/8242/version=sierra/testReport/junit/brew-test-bot/sierra/install_libgroove/
It also fails to compile from source:
$make
Scanning dependencies of target libgroove_shared
[ 2%] Building C object CMakeFiles/libgroove_shared.dir/src/buffer.c.o
[ 5%] Building C object CMakeFiles/libgroove_shared.dir/src/file.c.o
/Users/myuser/libgroove/src/file.c:176:42: error: 'codec' is deprecated
[-Werror,-Wdeprecated-declarations]
AVCodecContext *avctx = f->audio_st->codec;
^
/usr/local/include/libavformat/avformat.h:880:21: note: 'codec' has been explicitly
marked deprecated here
AVCodecContext *codec;
^
/Users/myuser/libgroove/src/file.c:235:72: error: 'codec' is deprecated
[-Werror,-Wdeprecated-declarations]
AVCodecContext *avctx = f->ic->streams[f->audio_stream_index]->codec;
^
/usr/local/include/libavformat/avformat.h:880:21: note: 'codec' has been explicitly
marked deprecated here
AVCodecContext *codec;
^
/Users/myuser/libgroove/src/file.c:288:46: error: 'codec' is deprecated
[-Werror,-Wdeprecated-declarations]
AVCodecContext *codec_ctx = f->audio_st->codec;
^
/usr/local/include/libavformat/avformat.h:880:21: note: 'codec' has been explicitly
marked deprecated here
AVCodecContext *codec;
^
/Users/myuser/libgroove/src/file.c:384:45: error: 'codec' is deprecated
[-Werror,-Wdeprecated-declarations]
AVCodecContext *icodec = in_stream->codec;
^
/usr/local/include/libavformat/avformat.h:880:21: note: 'codec' has been explicitly
marked deprecated here
AVCodecContext *codec;
^
/Users/myuser/libgroove/src/file.c:385:46: error: 'codec' is deprecated
[-Werror,-Wdeprecated-declarations]
AVCodecContext *ocodec = out_stream->codec;
^
/usr/local/include/libavformat/avformat.h:880:21: note: 'codec' has been explicitly
marked deprecated here
AVCodecContext *codec;
^
5 errors generated.
make[2]: *** [CMakeFiles/libgroove_shared.dir/src/file.c.o] Error 1
make[1]: *** [CMakeFiles/libgroove_shared.dir/all] Error 2
make: *** [all] Error 2
It looks like @grantbarrett's error might be due to ffmpeg version issues. I'll look into this more and loop back with details.
Yep. Here we go. @grantbarrett, is it possible your issues are what's described in #126?
Yep, that's probably it. I'll monitor that.
So what exactly is the process to get it to install on MacOS?
I don't see any evidence this has been fixed yet -- the easiest thing to do for now is to set yourself up a workspace in Docker for whatever you're trying to accomplish and do everything there.
what's the status on this one? 😕
bitrot... need to update to new clock/time API as well as the new ffmpeg API.
so much to do, so little time
"so much to do, so little time" That's true, but it's all a matter of priority. The world does not have quality streaming audio processing library. Libgroove could be the best thing about it. On the other hand, there is already a large amount of programming language. Why spend so much time on Zig... What can we expect on the libgroove side for the next few months? Thanks.
I guess the answer to that is absolutely nothing.
@chris-schofield1 you're perfectly capable of doing it yourself. Or do you, like me, have other priorities at the moment?