Opened 7 years ago

Closed 6 years ago

Last modified 6 years ago

#6017 closed defect (fixed)

--disable-everything keeps nvidia stuff enabled

Reported by: Kieran Kunhya Owned by:
Priority: normal Component: build system
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

./configure --disable-everything has:

cuda cuvid nvenc
enabled

This shouldn't be the case.

Change History (5)

comment:1 by Elon Musk, 6 years ago

Is this still correct?

comment:2 by James, 6 years ago

There's --disable-autodetect for this kind of thing. Same with zlib and every other autodetected library.

comment:3 by Gyan, 6 years ago

--disable-autodetect is blunt, and is, IMHO, the wrong tack.

The test for an external lib should be whether there's at least one enabled component making use of the lib, and if not, that lib shouldn't be linked e.g.,

--disable-everything --enable-libx264 should fail since lavc/libx264.c isn't enabled and libx264 is expressly specified.

--disable-everything --enable-encoder=png should be successful and link (autodetected) zlib but not cuda..etc.

comment:4 by Carl Eugen Hoyos, 6 years ago

Component: undeterminedbuild system
Resolution: fixed
Status: newclosed
Version: unspecifiedgit-master

Apparently fixed in e3c1219c7c7457f4b157cfb299e4387c1ebdabe7

Note that changing the behaviour of --disable-everything breaks regression tests and has to avoided at all costs.

in reply to:  3 comment:5 by Hendrik, 6 years ago

Replying to Gyan:

The test for an external lib should be whether there's at least one enabled component making use of the lib, and if not, that lib shouldn't be linked e.g.,

The NVIDIA functionality never links in any libraries either way, so complaining that configure shows it as present from auto-detection was always rather of an artificial complaint if anything (it basically just indicated the presence of the header files).

Additionally to the above, this was also facilitated because the CUDA/NVENC headers were being shipped with FFmpeg, but have since moved into their own repository, so if you don't actually make the headers available, it won't actually detect anything anymore.

Last edited 6 years ago by Hendrik (previous) (diff)
Note: See TracTickets for help on using tickets.