Opened 8 years ago
Closed 8 years ago
#51823 closed defect (fixed)
ffmpeg @3.1.1_0 fails building on 10.5.8 PPC
Reported by: | udbraumann | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.4 |
Keywords: | Cc: | jeremyhu (Jeremy Huddleston Sequoia) | |
Port: | ffmpeg, ffmpeg-devel |
Description
While upgrading ffmpeg
from 3.0.2_0
to 3.1.1_0
I am running into the following trouble:
... :info:build /usr/bin/gcc-4.2 -I. -I./ -I/opt/local/include -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -DZLIB_CONST -DHAVE_AV_CONFIG_H -pipe -Os -DHAVE_LRINTF -I/opt/local/include -arch ppc -std=c99 -fomit-frame-pointer -fPIC -maltivec -mabi=altivec -pthread -I/opt/local/include -I/opt/local/include/p11-kit-1 -I/opt/local/include -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include -I/opt/local/include/fribidi -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include -I/opt/local/include -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include/fribidi -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include -I/opt/local/include/opus -I/opt/local/include/schroedinger-1.0 -I/opt/local/include/orc-0.4 -I/opt/local/include -I/opt/local/include -I/opt/local/include -I/opt/local/include -I/opt/local/include -I/opt/local/include -D_GNU_SOURCE=1 -D_THREAD_SAFE -I/opt/local/include/SDL -I/opt/local/include -I/opt/local/include -I/opt/local/include -I/opt/local/include -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -O3 -fno-math-errno -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=return-type -Wformat -pipe -Os -arch ppc -c -o libavfilter/vf_coreimage.o libavfilter/vf_coreimage.m :info:build libavfilter/vf_coreimage.m: In function ‘config_output’: :info:build libavfilter/vf_coreimage.m:75: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m: In function ‘list_filters’: :info:build libavfilter/vf_coreimage.m:103: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m:109: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m: In function ‘apply_filter’: :info:build libavfilter/vf_coreimage.m:195: error: ‘__bridge’ undeclared (first use in this function) :info:build libavfilter/vf_coreimage.m:195: error: (Each undeclared identifier is reported only once :info:build libavfilter/vf_coreimage.m:195: error: for each function it appears in.) :info:build libavfilter/vf_coreimage.m:195: error: expected ‘)’ before ‘CIImage’ :info:build libavfilter/vf_coreimage.m:195: error: expected ‘]’ before ‘->’ token :info:build libavfilter/vf_coreimage.m:205: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m:206: error: expected ‘)’ before ‘CIImage’ :info:build libavfilter/vf_coreimage.m:206: error: expected ‘,’ or ‘;’ before ‘ctx’ :info:build libavfilter/vf_coreimage.m:213: error: expected ‘)’ before ‘CIImage’ :info:build libavfilter/vf_coreimage.m:213: error: expected ‘]’ before ‘->’ token :info:build libavfilter/vf_coreimage.m:214: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m:225: error: expected ‘)’ before ‘CIFilter’ :info:build libavfilter/vf_coreimage.m:225: error: expected ‘;’ before ‘ctx’ :info:build libavfilter/vf_coreimage.m:251: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m:260: error: expected ‘)’ before ‘CIContext’ :info:build libavfilter/vf_coreimage.m:260: error: expected ‘]’ before ‘->’ token :info:build libavfilter/vf_coreimage.m:260: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m:272: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m:292: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m:191: warning: unused variable ‘data’ :info:build libavfilter/vf_coreimage.m:186: warning: unused variable ‘frame_size’ :info:build libavfilter/vf_coreimage.m: In function ‘init’: :info:build libavfilter/vf_coreimage.m:526: warning: implicit declaration of function ‘CFBridgingRetain’ :info:build libavfilter/vf_coreimage.m:526: warning: assignment makes pointer from integer without a cast :info:build libavfilter/vf_coreimage.m:540: warning: ISO C90 forbids mixed declarations and code :info:build libavfilter/vf_coreimage.m:549: warning: implicit declaration of function ‘CGLGetCurrentContext’ :info:build libavfilter/vf_coreimage.m:552: warning: ‘CIContext’ may not respond to ‘+contextWithCGLContext:pixelFormat:colorSpace:options:’ :info:build libavfilter/vf_coreimage.m:552: warning: (Messages without a matching method signature :info:build libavfilter/vf_coreimage.m:552: warning: will be assumed to return ‘id’ and accept :info:build libavfilter/vf_coreimage.m:552: warning: ‘...’ as arguments.) :info:build libavfilter/vf_coreimage.m:552: warning: assignment makes pointer from integer without a cast :info:build libavfilter/vf_coreimage.m:560: warning: assignment makes pointer from integer without a cast :info:build common.mak:66: recipe for target 'libavfilter/vf_coreimage.o' failed ...
Some help would be appreciated.
Attachments (1)
Change History (6)
Changed 8 years ago by udbraumann
Attachment: | main.log.gz added |
---|
comment:1 Changed 8 years ago by dbevans (David B. Evans)
Cc: | devans@… removed |
---|---|
Owner: | changed from macports-tickets@… to devans@… |
Port: | ffmpeg-devel added |
Status: | new → assigned |
comment:2 follow-up: 3 Changed 8 years ago by dbevans (David B. Evans)
I've confirmed that disabling coreimage and coreimagesrc filters suppresses the build of libavfilter/vf_coreimage.m. Patch committed (r150068) to both ffmpeg and ffmpeg-devel that disables these filters on 10.5 and earlier. Again please let me know if this fixes your problem or if there are other issues left to address.
comment:3 follow-up: 4 Changed 8 years ago by udbraumann
Replying to devans@…:
... Again please let me know if this fixes your problem or if there are other issues left to address.
Thanks, building works again now on 10.5.8 PPC. As I see you have implemented the fix using an OS version check, so if I would like to use gcc5 the libavfilter functionality would remain turned off?
comment:4 Changed 8 years ago by dbevans (David B. Evans)
Replying to braumann@…:
Replying to devans@…:
... Again please let me know if this fixes your problem or if there are other issues left to address.
Thanks, building works again now on 10.5.8 PPC. As I see you have implemented the fix using an OS version check, so if I would like to use gcc5 the libavfilter functionality would remain turned off?
Yes, these two filters would remain disabled. Not sure what would happen otherwise.
comment:5 Changed 8 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Closing as fixed.
Your compiler is too old.
gcc-4.2 is rebelling here at the use of the keyword
which is part of a bridged cast used with Automatic Reference Counting (ARC) in current objective C/C++. I believe this was introduced somewhere around Apple clang 4.0, LLVM 3.1 or so (Xcode 4 in OS X 10.6). This code does, in fact, build on the 10.6 buildbot but apparently not on 10.5 and earlier.
This is filter code using CoreImage so the simplest thing to do here is to disable the corresponding filters. To do this add the following lines after the configure.args section of the Portfile
If this works for you, I'll incorporate the appropriate changes on this end. As usual, I'm not able to test on 10.5 so I need your help.
Thanks.