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

Scott Hannahs via Fink-users <[email protected]>
Newsgroups gmane.os.apple.fink.general
Message-ID <[email protected]>
On Apr 28, 2022, at 9:08 PM, Hanspeter Niederstrasser <[email protected]> wrote:
> 
> 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?

I do not have "/usr/include/os/availability.h” but I do have several other header files

% find  /usr/include -name *vail\*
/usr/include/Availability.h
/usr/include/AvailabilityInternal.h
/usr/include/AvailabilityMacros.h
/usr/include/sys/_posix_availability.h
/usr/include/xpc/availability.h

That macro is not in those or any system header file

% grep -r API_AVAILABLE /usr/include
% 

% gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

I really need to replace this old system, it is a bit creaky.  :-)

-Scott

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