Re: problem building libavcodec59-5.0-shlibs on MacOS 10.11 (El Cap) / Xcode 8.2.1

Hanspeter Niederstrasser <[email protected]>
Newsgroups gmane.os.apple.fink.general
Organization Snaggled Works
Message-ID <[email protected]>
On 4/28/22 8:03 AM, Scott Hannahs via Fink-users wrote:
>> On Apr 27, 2022, at 05:28, Hanspeter Niederstrasser <[email protected]> wrote:
>>
>> On 4/26/22 9:41 PM, Scott Hannahs via Fink-users wrote:
>>>> On Apr 26, 2022, at 9:06 PM, Hanspeter Niederstrasser <[email protected]> wrote:
>>>>
>>>> Can you selfupdate and try libavcodec59-5.0-shlibs-5.0.1-1 ? I don't know if that was fixed there but might as well try.
>>>>
>>>> Hanspeter
>>> I get the same sort of thing…   My bad not self updating, I had this error and then didn’t get back to it for awhile.  I hadn’t seen an update to that particular library.  Possibly ffmpeg 5.0 can’t be built on Mac OS 10.11??
>>> -Scott
>>> src/libavfilter/metal/utils.h:50:40: error: expected function body after function declarator
>>>                                         API_AVAILABLE(macos(10.11), ios(8.0));
>>>                                         ^
>>> src/libavfilter/metal/utils.h:57:48: error: expected function body after function declarator
>>>                                                 API_AVAILABLE(macos(10.11), ios(8.0));
>>>                                                 ^
>>> src/libavfilter/metal/utils.m:22:6: error: no previous prototype for function 'ff_metal_compute_encoder_dispatch' [-Werror,-Wmissing-prototypes]
>>> void ff_metal_compute_encoder_dispatch(id<MTLDevice> device,
>>>       ^
>>> src/libavfilter/metal/utils.m:50:19: error: no previous prototype for function 'ff_metal_texture_from_pixbuf' [-Werror,-Wmissing-prototypes]
>>> CVMetalTextureRef ff_metal_texture_from_pixbuf(void *ctx,
>>>                    ^
>>> 4 errors generated.
>>> make: *** [/sw/src/fink.build/libavcodec59-5.0-shlibs-5.0.1-1/ffmpeg-5.0.1/ffbuild/common.mak:84: libavfilter/metal/utils.o] Error 1
>>> make: Leaving directory '/sw/src/fink.build/libavcodec59-5.0-shlibs-5.0.1-1/ffmpeg-5.0.1/finkbuild'
>>> ### execution of /tmp/fink.eLCzD failed, exit code 2
>>> ### execution of /tmp/fink.OBhj3 failed, exit code 2
>>
>> Does it work if you add this line to PatchScript?
>>
>> perl -ni -e 'print unless /    check_cflags -Werror=missing-prototypes/‘ configure
> 
> No, I get the same error.
> 
> gcc -I. -Isrc/ -I/sw/include -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/sw/src/fink.build/libavcodec59-5.0-shlibs-5.0.1-2/ffmpeg-5.0.1/compat/dispatch_semaphore -DPIC -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_avfilter -fno-stack-check -I/sw/lib/libspeex1/include -I/sw/include -I/opt/X11/include -std=c11 -Werror=partial-availability -fomit-frame-pointer -fPIC -I/opt/X11/include -I/opt/X11/include -I/opt/X11/include -pthread -I/sw/include -I/sw/include -I/s                                       ^
> src/libavfilter/metal/utils.h:57:48: error: expected function body after function declarator
>                                                 API_AVAILABLE(macos(10.11), ios(8.0));
>                                                 ^
> src/libavfilter/metal/utils.m:22:6: warning: no previous prototype for function 'ff_metal_compute_encoder_dispatch' [-Wmissing-prototypes]
> void ff_metal_compute_encoder_dispatch(id<MTLDevice> device,
>       ^
> src/libavfilter/metal/utils.m:50:19: warning: no previous prototype for function 'ff_metal_texture_from_pixbuf' [-Wmissing-prototypes]
> CVMetalTextureRef ff_metal_texture_from_pixbuf(void *ctx,
>                    ^
> 2 warnings and 2 errors generated.
> 
> I am unclear on the dependencies here.  I think the main program I installed was ffmpeg.  Now in updating it is trying to update libavcodec59 but in doing so it is building the code from within ffmpeg as a subdirectory.  If I read the error correctly it is not the missing-prototype but the "error: expected function body after function declarator”.

Ffmpeg is the primary end user package. But the parent package is called 
libavcodec59-5.0-shlibs to simplify package maintenance.

As to the errors, there are apparently 2 errors currently in the 5.0.1 
code under macOS 10.11 and earlier. The 2nd error got fixed by not 
erroring out on missing-prototypes (removed by the perl-pie from my 
previous email).

That still leaves the other error around the API_AVAILABLE() function 
declaration. That macro should be available by default via the OS. Do 
you have the file /usr/include/os/availability? It might be 
Availability.h (with a capital A)? If so, does it "#define 
API_AVAILABLE(...)" around line 60?

Lastly, what does `gcc --version` say?

Hanspeter

-- 
Disclaimer:
By sending an email to ANY of my addresses you are agreeing that:
1. I am by definition, "the intended recipient"
2. All information in the email is mine to do with as I see fit and
make such financial profit, political mileage, or good joke as it
lends itself to.
3. I may take the contents as representing the views of your company.
4. This overrides any disclaimer or statement of confidentiality that
may be included with your message.



_______________________________________________
Fink-users mailing list
[email protected]
List archive:
https://sourceforge.net/p/fink/mailman/fink-users/
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.