#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 , 3 years ago
| Resolution: | → wontfix |
|---|---|
| Status: | new → closed |
comment:2 by , 3 years ago
| Keywords: | lensfun added |
|---|
comment:3 by , 3 years ago
comment:5 by , 3 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 , 3 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.