#9112 closed defect (wontfix)
libavfilter: build failure in vf_lensfun.c
Reported by: | Hanspeter Niederstrasser | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avfilter |
Version: | git-master | Keywords: | lensfun |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
On macOS 10.13, compiling libavfilter/vf_lensfun.c from git HEAD fails like this:
clang -I. -Isrc/ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Isrc/compat/dispatch_semaphore -DPIC -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_avfilter -I/sw/include -std=c11 -Werror=partial-availability -fomit-frame-pointer -fPIC -pthread -I/sw/include -I/sw/include -I/sw/include/bs2b -I/sw/include -I/sw/include -I/sw/include/freetype2 -I/sw/include/fribidi -I/sw/include -I/sw/include -I/sw/include -I/sw/include/lensfun -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include -I/sw/include/openjpeg-2.1 -I/sw/include -I/sw/include/opus -I/sw/include/opus -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/lib/libcdio-2.1/include -I/opt/X11/include -I/opt/X11/include -I/opt/X11/include -I/opt/X11/include -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -mstack-alignment=16 -Qunused-arguments -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -I/sw/include/SDL2 -D_THREAD_SAFE -MMD -MF libavfilter/vf_lensfun.d -MT libavfilter/vf_lensfun.o -c -o libavfilter/vf_lensfun.o src/libavfilter/vf_lensfun.c In file included from src/libavfilter/vf_lensfun.c:40: /sw/include/lensfun/lensfun.h:252:33: warning: this function declaration is not a prototype [-Wstrict-prototypes] LF_EXPORT lfMount *lf_mount_new (); ^ void /sw/include/lensfun/lensfun.h:397:35: warning: this function declaration is not a prototype [-Wstrict-prototypes] LF_EXPORT lfCamera *lf_camera_new (); ^ void /sw/include/lensfun/lensfun.h:1177:31: warning: this function declaration is not a prototype [-Wstrict-prototypes] LF_EXPORT lfLens *lf_lens_new (); ^ void src/libavfilter/vf_lensfun.c:139:10: error: implicit declaration of function 'lf_db_create' is invalid in C99 [-Werror,-Wimplicit-function-declaration] db = lf_db_create(); ^
There are a bunch of other implicit declaration errors against several
other lf_* functions. Furthermore, there is another error:
src/libavfilter/vf_lensfun.c:181:59: error: too many arguments to function call, expected 3, have 5 lenses = lf_db_find_lenses(db, lensfun->camera, NULL, lensfun->lens_model, 0);
I run configure with this:
../configure --prefix=/usr/local/ffmpeg-clang --enable-autodetect --enable-gpl --enable-version3 --disable-static --enable-shared <bunch of other --enable-libFOO> --enable-liblensfun
I have lensfun-0.3.1 installed and none of those functions are
declared in lensfun.h. Should there be a versioned check for lensfun (presumably 0.3.2?) in configure or a check for other functions besides lf_db_new ?
Change History (6)
comment:1 by , 4 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
comment:2 by , 4 years ago
Keywords: | lensfun added |
---|
comment:3 by , 4 years ago
comment:5 by , 4 years ago
Latest non-alpha release is 0.3.2, which also fails. Only debian-experimental seems to be carrying the alpha release lensfun-0.3.95; gentoo, fedora, ubuntu, opensuse, centos all have just 0.3.2.
comment:6 by , 4 years ago
Also, the Ffmpeg build worked fine with lensfun-0.3.1 until 8b78eb312de948c408c2437674e6ebf8971857c4 was checked in 2 weeks ago.
And ./configure still checks for lf_db_new(), which the code no longer uses, and has been marked as deprecated upstream.
So this should be reframed as 'avfilter uses (unreleased) lensfun API but doesn't check for its presence".
Why is this wontfix? It's a build failure in the current codebase.