libgroove icon indicating copy to clipboard operation
libgroove copied to clipboard

Fails to build on macOS Sierra

Open dunn opened this issue 9 years ago • 11 comments

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/

dunn avatar Sep 25 '16 19:09 dunn

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

grantbarrett avatar Oct 06 '16 01:10 grantbarrett

It looks like @grantbarrett's error might be due to ffmpeg version issues. I'll look into this more and loop back with details.

NathanLawrence avatar Oct 06 '16 01:10 NathanLawrence

Yep. Here we go. @grantbarrett, is it possible your issues are what's described in #126?

NathanLawrence avatar Oct 06 '16 02:10 NathanLawrence

Yep, that's probably it. I'll monitor that.

grantbarrett avatar Oct 06 '16 02:10 grantbarrett

So what exactly is the process to get it to install on MacOS?

qrpike avatar Dec 15 '16 04:12 qrpike

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.

NathanLawrence avatar Dec 15 '16 16:12 NathanLawrence

what's the status on this one? 😕

httnn avatar Jan 11 '17 15:01 httnn

bitrot... need to update to new clock/time API as well as the new ffmpeg API.

so much to do, so little time

andrewrk avatar Apr 04 '17 20:04 andrewrk

"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.

CyberSinh avatar Apr 15 '17 14:04 CyberSinh

I guess the answer to that is absolutely nothing.

chris-schofield1 avatar Mar 19 '18 12:03 chris-schofield1

@chris-schofield1 you're perfectly capable of doing it yourself. Or do you, like me, have other priorities at the moment?

andrewrk avatar Mar 19 '18 17:03 andrewrk