Skip to content

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.

  1. When compiling, is there an option to keep compiling to find all the errors at once?

  2. 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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information