Trying to compile 3.0.18
I am trying to compile tag 3.0.18 on Linux Mint WSL2. I have all the QT5 libraries installed. I applied the patch 0001-Get-addr-by-ref.-from-getConnectionEndpointAddress.patch from another issue that fixed a different issue. It has been a few years since I worked with C/C++, and I never really used it on Linux. I have two questions.
-
When compiling, is there an option to keep compiling to find all the errors at once?
-
My latest build has errors in the file codec/dav1d.c:
In file included from codec/dav1d.c:33:
codec/dav1d.c: In function 'vlc_entry':
codec/dav1d.c:68:57: error: 'DAV1D_MAX_FRAME_THREADS' undeclared (first use in this function); did you mean 'DAV1D_MAX_THREADS'?
68 | add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
| ^~~~~~~~~~~~~~~~~~~~~~~
../include/vlc_plugin.h:243:54: note: in definition of macro 'vlc_config_set'
243 | #define vlc_config_set(...) vlc_set (opaque, config, __VA_ARGS__)
| ^~~~~~~~~~~
../include/vlc_plugin.h:429:5: note: in expansion of macro 'change_integer_range'
429 | change_integer_range( i_min, i_max )
| ^~~~~~~~~~~~~~~~~~~~
codec/dav1d.c:68:5: note: in expansion of macro 'add_integer_with_range'
68 | add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
| ^~~~~~~~~~~~~~~~~~~~~~
codec/dav1d.c:68:57: note: each undeclared identifier is reported only once for each function it appears in
68 | add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
| ^~~~~~~~~~~~~~~~~~~~~~~
../include/vlc_plugin.h:243:54: note: in definition of macro 'vlc_config_set'
243 | #define vlc_config_set(...) vlc_set (opaque, config, __VA_ARGS__)
| ^~~~~~~~~~~
../include/vlc_plugin.h:429:5: note: in expansion of macro 'change_integer_range'
429 | change_integer_range( i_min, i_max )
| ^~~~~~~~~~~~~~~~~~~~
codec/dav1d.c:68:5: note: in expansion of macro 'add_integer_with_range'
68 | add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
| ^~~~~~~~~~~~~~~~~~~~~~
codec/dav1d.c:70:56: error: 'DAV1D_MAX_TILE_THREADS' undeclared (first use in this function); did you mean 'DAV1D_MAX_THREADS'?
70 | add_integer_with_range("dav1d-thread-tiles", 0, 0, DAV1D_MAX_TILE_THREADS,
| ^~~~~~~~~~~~~~~~~~~~~~
../include/vlc_plugin.h:243:54: note: in definition of macro 'vlc_config_set'
243 | #define vlc_config_set(...) vlc_set (opaque, config, __VA_ARGS__)
| ^~~~~~~~~~~
../include/vlc_plugin.h:429:5: note: in expansion of macro 'change_integer_range'
429 | change_integer_range( i_min, i_max )
| ^~~~~~~~~~~~~~~~~~~~
codec/dav1d.c:70:5: note: in expansion of macro 'add_integer_with_range'
70 | add_integer_with_range("dav1d-thread-tiles", 0, 0, DAV1D_MAX_TILE_THREADS,
| ^~~~~~~~~~~~~~~~~~~~~~
codec/dav1d.c: In function 'OpenDecoder':
codec/dav1d.c:394:14: error: 'Dav1dSettings' has no member named 'n_tile_threads'; did you mean 'n_threads'?
394 | p_sys->s.n_tile_threads = var_InheritInteger(p_this, "dav1d-thread-tiles");
| ^~~~~~~~~~~~~~
| n_threads
codec/dav1d.c:395:18: error: 'Dav1dSettings' has no member named 'n_tile_threads'; did you mean 'n_threads'?
395 | if (p_sys->s.n_tile_threads == 0)
| ^~~~~~~~~~~~~~
| n_threads
codec/dav1d.c:396:18: error: 'Dav1dSettings' has no member named 'n_tile_threads'; did you mean 'n_threads'?
396 | p_sys->s.n_tile_threads = VLC_CLIP(vlc_GetCPUCount(), 1, 4);
| ^~~~~~~~~~~~~~
| n_threads
codec/dav1d.c:397:13: error: 'Dav1dSettings' has no member named 'n_frame_threads'
397 | p_sys->s.n_frame_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
| ^
codec/dav1d.c:398:17: error: 'Dav1dSettings' has no member named 'n_frame_threads'
398 | if (p_sys->s.n_frame_threads == 0)
| ^
codec/dav1d.c:399:17: error: 'Dav1dSettings' has no member named 'n_frame_threads'
399 | p_sys->s.n_frame_threads = __MAX(1, vlc_GetCPUCount());
| ^
In file included from ../include/vlc_common.h:1210,
from codec/dav1d.c:32:
codec/dav1d.c:445:38: error: 'Dav1dSettings' has no member named 'n_frame_threads'
445 | dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads);
| ^
../include/vlc_messages.h:98:30: note: in definition of macro 'msg_Generic'
98 | __func__, __VA_ARGS__)
| ^~~~~~~~~~~
codec/dav1d.c:444:5: note: in expansion of macro 'msg_Dbg'
444 | msg_Dbg(p_this, "Using dav1d version %s with %d/%d frame/tile threads",
| ^~~~~~~
codec/dav1d.c:445:65: error: 'Dav1dSettings' has no member named 'n_tile_threads'; did you mean 'n_threads'?
445 | dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads);
| ^~~~~~~~~~~~~~
../include/vlc_messages.h:98:30: note: in definition of macro 'msg_Generic'
98 | __func__, __VA_ARGS__)
| ^~~~~~~~~~~
codec/dav1d.c:444:5: note: in expansion of macro 'msg_Dbg'
444 | msg_Dbg(p_this, "Using dav1d version %s with %d/%d frame/tile threads",
| ^~~~~~~
codec/dav1d.c:447:45: error: 'Dav1dSettings' has no member named 'n_frame_threads'
447 | dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1);
| ^
I have done a Google search, but I can't find a patch to fix this issue. The current version of VLC available for Linux Mint has problems with Network streams I think. I don't remember the exact problem I was having that cause me to attempt compiling. I thought tag 3.0.18 wouldn't have any compile errors.