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