justdan96 / tsMuxer

tsMuxer is a transport stream muxer for remuxing/muxing elementary streams, EVO/VOB/MPG, MKV/MKA, MP4/MOV, TS, M2TS to TS to M2TS. Supported video codecs H.264/AVC, H.265/HEVC, VC-1, MPEG2. Supported audio codecs AAC, AC3 / E-AC3(DD+), DTS/ DTS-HD.
Apache License 2.0
861 stars 144 forks source link

Compilation fails #734

Closed gothicVI closed 1 year ago

gothicVI commented 1 year ago

Using the AUR package https://aur.archlinux.org/packages/tsmuxer-git, the compilation fails with the following error:

==> Making package: tsmuxer-git 2.6.16.r448.e6b1ed8-1 (Mo 14 Aug 2023 14:04:31 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating tsMuxer git repo...
==> Validating source files with sha256sums...
    tsMuxer ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of tsMuxer git repo...
Cloning into 'tsMuxer'...
done.
==> Starting prepare()...
==> Starting pkgver()...
==> Updated version: tsmuxer-git 2.6.16.r1040.f826b61-1
==> Sources are ready.
==> Making package: tsmuxer-git 2.6.16.r1040.f826b61-1 (Mo 14 Aug 2023 14:04:32 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Starting build()...
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The CXX compiler identification is GNU 13.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at libmediation/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Deprecation Warning at tsMuxer/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.13")  
-- Found Freetype: /usr/lib/libfreetype.so (found version "2.13.1") 
CMake Deprecation Warning at tsMuxerGUI/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring done (0.6s)
-- Generating done (0.0s)
-- Build files have been written to: /home/sebastian/.cache/yay/tsmuxer-git/src/build
[  2%] Building CXX object libmediation/CMakeFiles/mediation.dir/types/types.cpp.o
[  2%] Automatic MOC and UIC for target tsMuxerGUI
[  3%] Building CXX object libmediation/CMakeFiles/mediation.dir/system/terminatablethread.cpp.o
[  4%] Building CXX object libmediation/CMakeFiles/mediation.dir/fs/osdep/file_unix.cpp.o
[  6%] Building CXX object libmediation/CMakeFiles/mediation.dir/fs/osdep/directory_unix.cpp.o
[  6%] Built target tsMuxerGUI_autogen
[  8%] Generating tsmuxergui_fr.qm
[  8%] Generating tsmuxergui_de.qm
[ 10%] Generating tsmuxergui_en.qm
[ 10%] Generating tsmuxergui_zh.qm
[ 12%] Generating tsmuxergui_es.qm
[ 14%] Generating tsmuxergui_ru.qm
[ 15%] Automatic RCC for images.qrc
[ 15%] Generating tsmuxergui_he.qm
Updating '/home/sebastian/.cache/yay/tsmuxer-git/src/build/tsMuxerGUI/tsmuxergui_ru.qm'...
Updating '/home/sebastian/.cache/yay/tsmuxer-git/src/build/tsMuxerGUI/tsmuxergui_de.qm'...
Updating '/home/sebastian/.cache/yay/tsmuxer-git/src/build/tsMuxerGUI/tsmuxergui_he.qm'...
    Generated 215 translation(s) (215 finished and 0 unfinished)
    Ignored 484 untranslated source text(s)
    Generated 215 translation(s) (215 finished and 0 unfinished)
    Ignored 484 untranslated source text(s)
    Generated 215 translation(s) (215 finished and 0 unfinished)
    Ignored 484 untranslated source text(s)
Updating '/home/sebastian/.cache/yay/tsmuxer-git/src/build/tsMuxerGUI/tsmuxergui_fr.qm'...
    Generated 215 translation(s) (215 finished and 0 unfinished)
    Ignored 484 untranslated source text(s)
Updating '/home/sebastian/.cache/yay/tsmuxer-git/src/build/tsMuxerGUI/tsmuxergui_en.qm'...
    Generated 0 translation(s) (0 finished and 0 unfinished)
    Ignored 699 untranslated source text(s)
Updating '/home/sebastian/.cache/yay/tsmuxer-git/src/build/tsMuxerGUI/tsmuxergui_zh.qm'...
    Generated 215 translation(s) (215 finished and 0 unfinished)
    Ignored 484 untranslated source text(s)
Updating '/home/sebastian/.cache/yay/tsmuxer-git/src/build/tsMuxerGUI/tsmuxergui_es.qm'...
    Generated 216 translation(s) (215 finished and 1 unfinished)
    Ignored 483 untranslated source text(s)
[ 17%] Automatic RCC for translations.qrc
[ 18%] Building CXX object tsMuxerGUI/CMakeFiles/tsMuxerGUI.dir/lang_codes.cpp.o
[ 19%] Building CXX object tsMuxerGUI/CMakeFiles/tsMuxerGUI.dir/tsMuxerGUI_autogen/mocs_compilation.cpp.o
[ 20%] Building CXX object tsMuxerGUI/CMakeFiles/tsMuxerGUI.dir/main.cpp.o
[ 21%] Building CXX object tsMuxerGUI/CMakeFiles/tsMuxerGUI.dir/tsmuxerwindow.cpp.o
[ 24%] Building CXX object tsMuxerGUI/CMakeFiles/tsMuxerGUI.dir/muxForm.cpp.o
[ 24%] Building CXX object tsMuxerGUI/CMakeFiles/tsMuxerGUI.dir/checkboxedheaderview.cpp.o
[ 25%] Building CXX object tsMuxerGUI/CMakeFiles/tsMuxerGUI.dir/fontsettingstablemodel.cpp.o
[ 26%] Building CXX object tsMuxerGUI/CMakeFiles/tsMuxerGUI.dir/tsMuxerGUI_autogen/EWIEGA46WW/qrc_images.cpp.o
[ 28%] Building CXX object tsMuxerGUI/CMakeFiles/tsMuxerGUI.dir/tsMuxerGUI_autogen/EJRQKI7XPS/qrc_translations.cpp.o
[ 29%] Linking CXX static library libmediation.a
[ 29%] Built target mediation
[ 32%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/aac.cpp.o
[ 32%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/avCodecs.cpp.o
[ 32%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/aacStreamReader.cpp.o
[ 35%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/AbstractDemuxer.cpp.o
[ 36%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/abstractMuxer.cpp.o
[ 36%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/blurayHelper.cpp.o
[ 37%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/bufferedFileReader.cpp.o
[ 39%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/ac3StreamReader.cpp.o
[ 41%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/bufferedFileWriter.cpp.o
[ 41%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReader.cpp.o
[ 42%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReaderManager.cpp.o
[ 43%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/convertUTF.cpp.o
[ 45%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/ac3Codec.cpp.o
[ 46%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/bitStream.cpp.o
[ 47%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/combinedH264Demuxer.cpp.o
[ 48%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/dtsStreamReader.cpp.o
[ 50%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/dvbSubStreamReader.cpp.o
In file included from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/metaDemuxer.h:10,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractMuxer.h:9,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/muxerManager.h:4,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/blurayHelper.cpp:7:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
In file included from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/AbstractDemuxer.cpp:2:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
In file included from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/BufferedReader.h:10,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/bufferedFileReader.h:8,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/bufferedFileReader.cpp:1:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
In file included from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/BufferedReader.h:10,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/bufferedReader.cpp:2:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
In file included from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/ac3StreamReader.h:4,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/ac3StreamReader.cpp:1:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[ 51%] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/h264StreamReader.cpp.o
In file included from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/combinedH264Demuxer.h:7,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/combinedH264Demuxer.cpp:2:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
In file included from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/BufferedReader.h:10,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/bufferedFileReader.h:8,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/bufferedReaderManager.h:6,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/bufferedReaderManager.cpp:1:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
make[2]: *** [tsMuxer/CMakeFiles/tsmuxer.dir/build.make:104: tsMuxer/CMakeFiles/tsmuxer.dir/AbstractDemuxer.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/metaDemuxer.h:10,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractMuxer.h:9,
                 from /home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractMuxer.cpp:2:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/home/sebastian/.cache/yay/tsmuxer-git/src/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
make[2]: *** [tsMuxer/CMakeFiles/tsmuxer.dir/build.make:146: tsMuxer/CMakeFiles/tsmuxer.dir/ac3StreamReader.cpp.o] Error 1
make[2]: *** [tsMuxer/CMakeFiles/tsmuxer.dir/build.make:230: tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReader.cpp.o] Error 1
make[2]: *** [tsMuxer/CMakeFiles/tsmuxer.dir/build.make:202: tsMuxer/CMakeFiles/tsmuxer.dir/bufferedFileReader.cpp.o] Error 1
make[2]: *** [tsMuxer/CMakeFiles/tsmuxer.dir/build.make:244: tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReaderManager.cpp.o] Error 1
make[2]: *** [tsMuxer/CMakeFiles/tsmuxer.dir/build.make:258: tsMuxer/CMakeFiles/tsmuxer.dir/combinedH264Demuxer.cpp.o] Error 1
make[2]: *** [tsMuxer/CMakeFiles/tsmuxer.dir/build.make:118: tsMuxer/CMakeFiles/tsmuxer.dir/abstractMuxer.cpp.o] Error 1
make[2]: *** [tsMuxer/CMakeFiles/tsmuxer.dir/build.make:188: tsMuxer/CMakeFiles/tsmuxer.dir/blurayHelper.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:161: tsMuxer/CMakeFiles/tsmuxer.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 52%] Linking CXX executable tsMuxerGUI
[ 52%] Built target tsMuxerGUI
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: tsmuxer-git-exit status 4
jcdr428 commented 1 year ago

@gothicVI e6b1ed8 is a 2.5 years old commit. You should use the latest release.

gothicVI commented 1 year ago

Hi @jcdr428 you're right and this might very well be an issue with the PKGBUILD file in the AUR.

However, I've cloned the repository and am getting similar errors:

/tmp/tsMuxer (master =)]
$ ./scripts/rebuild_linux.sh 
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The CXX compiler identification is GNU 13.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at libmediation/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Deprecation Warning at tsMuxer/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.13")  
-- Found Freetype: /usr/lib/libfreetype.so (found version "2.13.1") 
-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/tsMuxer/build
[6/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/AbstractDemuxer.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/AbstractDemuxer.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-f826b61\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/AbstractDemuxer.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/AbstractDemuxer.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/AbstractDemuxer.cpp.o -c /tmp/tsMuxer/tsMuxer/AbstractDemuxer.cpp
In file included from /tmp/tsMuxer/tsMuxer/AbstractDemuxer.cpp:2:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[10/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReader.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReader.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-f826b61\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReader.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReader.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReader.cpp.o -c /tmp/tsMuxer/tsMuxer/bufferedReader.cpp
In file included from /tmp/tsMuxer/tsMuxer/BufferedReader.h:10,
                 from /tmp/tsMuxer/tsMuxer/bufferedReader.cpp:2:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[11/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReaderManager.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReaderManager.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-f826b61\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReaderManager.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReaderManager.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/bufferedReaderManager.cpp.o -c /tmp/tsMuxer/tsMuxer/bufferedReaderManager.cpp
In file included from /tmp/tsMuxer/tsMuxer/BufferedReader.h:10,
                 from /tmp/tsMuxer/tsMuxer/bufferedFileReader.h:8,
                 from /tmp/tsMuxer/tsMuxer/bufferedReaderManager.h:6,
                 from /tmp/tsMuxer/tsMuxer/bufferedReaderManager.cpp:1:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[13/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/bufferedFileReader.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/bufferedFileReader.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-f826b61\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/bufferedFileReader.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/bufferedFileReader.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/bufferedFileReader.cpp.o -c /tmp/tsMuxer/tsMuxer/bufferedFileReader.cpp
In file included from /tmp/tsMuxer/tsMuxer/BufferedReader.h:10,
                 from /tmp/tsMuxer/tsMuxer/bufferedFileReader.h:8,
                 from /tmp/tsMuxer/tsMuxer/bufferedFileReader.cpp:1:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[15/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/ac3StreamReader.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/ac3StreamReader.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-f826b61\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/ac3StreamReader.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/ac3StreamReader.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/ac3StreamReader.cpp.o -c /tmp/tsMuxer/tsMuxer/ac3StreamReader.cpp
In file included from /tmp/tsMuxer/tsMuxer/ac3StreamReader.h:4,
                 from /tmp/tsMuxer/tsMuxer/ac3StreamReader.cpp:1:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[16/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/abstractMuxer.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/abstractMuxer.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-f826b61\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/abstractMuxer.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/abstractMuxer.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/abstractMuxer.cpp.o -c /tmp/tsMuxer/tsMuxer/abstractMuxer.cpp
In file included from /tmp/tsMuxer/tsMuxer/metaDemuxer.h:10,
                 from /tmp/tsMuxer/tsMuxer/abstractMuxer.h:9,
                 from /tmp/tsMuxer/tsMuxer/abstractMuxer.cpp:2:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[17/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/combinedH264Demuxer.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/combinedH264Demuxer.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-f826b61\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/combinedH264Demuxer.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/combinedH264Demuxer.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/combinedH264Demuxer.cpp.o -c /tmp/tsMuxer/tsMuxer/combinedH264Demuxer.cpp
In file included from /tmp/tsMuxer/tsMuxer/combinedH264Demuxer.h:7,
                 from /tmp/tsMuxer/tsMuxer/combinedH264Demuxer.cpp:2:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[18/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/blurayHelper.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/blurayHelper.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-f826b61\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/blurayHelper.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/blurayHelper.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/blurayHelper.cpp.o -c /tmp/tsMuxer/tsMuxer/blurayHelper.cpp
In file included from /tmp/tsMuxer/tsMuxer/metaDemuxer.h:10,
                 from /tmp/tsMuxer/tsMuxer/abstractMuxer.h:9,
                 from /tmp/tsMuxer/tsMuxer/muxerManager.h:4,
                 from /tmp/tsMuxer/tsMuxer/blurayHelper.cpp:7:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[21/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/hevc.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/hevc.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-f826b61\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/hevc.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/hevc.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/hevc.cpp.o -c /tmp/tsMuxer/tsMuxer/hevc.cpp
In file included from /tmp/tsMuxer/tsMuxer/metaDemuxer.h:10,
                 from /tmp/tsMuxer/tsMuxer/abstractMuxer.h:9,
                 from /tmp/tsMuxer/tsMuxer/tsMuxer.h:9,
                 from /tmp/tsMuxer/tsMuxer/hevc.cpp:8:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h: In member function ‘void MemoryBlock::append(const uint8_t*, int64_t)’:
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:50:13: error: ‘memcpy’ was not declared in this scope
   50 |             memcpy(&m_data[m_size - num], data, num);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/abstractDemuxer.h:12:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   11 | #include "avPacket.h"
  +++ |+#include <cstring>
   12 | #include "vod_common.h"
[23/62] Building CXX object libmediation/CMakeFiles/mediation.dir/types/types.cpp.o
ninja: build stopped: subcommand failed.
cp: cannot stat 'tsMuxer/tsmuxer': No such file or directory
jcdr428 commented 1 year ago

Ok, so the gnu c++ compiler seems to need the library in abstractDemuxer.h ?! I will add it.

jcdr428 commented 1 year ago

@gothicVI please try tomorrow's release.

gothicVI commented 1 year ago

Including 6df70213680482bb5dac06ffbfa7adaa741f1e5d, it's getting further but still not fully there:

$ ./scripts/rebuild_linux.sh 
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The CXX compiler identification is GNU 13.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at libmediation/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Deprecation Warning at tsMuxer/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.13")  
-- Found Freetype: /usr/lib/libfreetype.so (found version "2.13.1") 
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/tsMuxer/build
[35/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/mpegStreamReader.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/mpegStreamReader.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-6df7021\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/mpegStreamReader.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/mpegStreamReader.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/mpegStreamReader.cpp.o -c /tmp/tsMuxer/tsMuxer/mpegStreamReader.cpp
/tmp/tsMuxer/tsMuxer/mpegStreamReader.cpp: In member function ‘virtual void MPEGStreamReader::setBuffer(uint8_t*, uint32_t, bool)’:
/tmp/tsMuxer/tsMuxer/mpegStreamReader.cpp:27:5: error: ‘memcpy’ was not declared in this scope
   27 |     memcpy(m_tmpBuffer + m_tmpBufferLen, data + MAX_AV_PACKET_SIZE, dataLen);
      |     ^~~~~~
/tmp/tsMuxer/tsMuxer/mpegStreamReader.cpp:11:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
   10 | #include "vodCoreException.h"
  +++ |+#include <cstring>
   11 | #include "vod_common.h"
/tmp/tsMuxer/tsMuxer/mpegStreamReader.cpp: In member function ‘void MPEGStreamReader::storeBufferRest()’:
/tmp/tsMuxer/tsMuxer/mpegStreamReader.cpp:86:5: error: ‘memmove’ was not declared in this scope
   86 |     memmove(m_tmpBuffer, m_curPos, m_bufEnd - m_curPos);
      |     ^~~~~~~
/tmp/tsMuxer/tsMuxer/mpegStreamReader.cpp:86:5: note: ‘memmove’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
[38/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/nalUnits.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/nalUnits.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-6df7021\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/nalUnits.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/nalUnits.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/nalUnits.cpp.o -c /tmp/tsMuxer/tsMuxer/nalUnits.cpp
/tmp/tsMuxer/tsMuxer/nalUnits.cpp: In static member function ‘static int NALUnit::encodeNAL(const uint8_t*, const uint8_t*, uint8_t*, size_t)’:
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:112:13: error: ‘memcpy’ was not declared in this scope
  112 |             memcpy(dstBuffer, srcStart, srcBuffer - srcStart);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:9:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
    8 | #include "vod_common.h"
  +++ |+#include <cstring>
    9 | 
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:132:5: error: ‘memcpy’ was not declared in this scope
  132 |     memcpy(dstBuffer, srcStart, srcEnd - srcStart);
      |     ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:132:5: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
/tmp/tsMuxer/tsMuxer/nalUnits.cpp: In static member function ‘static int NALUnit::decodeNAL(const uint8_t*, const uint8_t*, uint8_t*, size_t)’:
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:149:13: error: ‘memcpy’ was not declared in this scope
  149 |             memcpy(dstBuffer, srcStart, srcBuffer - srcStart - 1);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:149:13: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:158:5: error: ‘memcpy’ was not declared in this scope
  158 |     memcpy(dstBuffer, srcStart, srcEnd - srcStart);
      |     ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:158:5: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
/tmp/tsMuxer/tsMuxer/nalUnits.cpp: In static member function ‘static int NALUnit::decodeNAL2(const uint8_t*, const uint8_t*, uint8_t*, size_t, bool*)’:
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:177:13: error: ‘memcpy’ was not declared in this scope
  177 |             memcpy(dstBuffer, srcStart, srcBuffer - srcStart - 1);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:177:13: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:188:9: error: ‘memcpy’ was not declared in this scope
  188 |         memcpy(dstBuffer, srcStart, srcEnd - srcStart);
      |         ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:188:9: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
/tmp/tsMuxer/tsMuxer/nalUnits.cpp: In member function ‘void SPSUnit::updateTimingInfo()’:
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:749:5: error: ‘memcpy’ was not declared in this scope
  749 |     memcpy(newNalBuffer, m_nalBuffer, m_nalBufferLen);
      |     ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:749:5: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
/tmp/tsMuxer/tsMuxer/nalUnits.cpp: In member function ‘void SPSUnit::insertHrdData(int, int, int, bool, const HRDParams&)’:
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:808:5: error: ‘memcpy’ was not declared in this scope
  808 |     memcpy(newNalBuffer, m_nalBuffer, m_nalBufferLen);
      |     ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:808:5: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
/tmp/tsMuxer/tsMuxer/nalUnits.cpp: In member function ‘unsigned int SEIUnit::removePicTimingSEI(SPSUnit&)’:
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:1460:13: error: ‘memcpy’ was not declared in this scope
 1460 |             memcpy(tmpBuffer + tmpBufferLen, curBuff, payloadSize);
      |             ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:1460:13: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:1471:5: error: ‘memcpy’ was not declared in this scope
 1471 |     memcpy(m_nalBuffer, tmpBuffer, tmpBufferLen);
      |     ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:1471:5: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
/tmp/tsMuxer/tsMuxer/nalUnits.cpp: In member function ‘int SEIUnit::mvc_scalable_nesting(const SPSUnit&, uint8_t*, int, int)’:
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:1758:21: error: ‘memcmp’ was not declared in this scope
 1758 |                 if (memcmp(bdData, BDROM_METADATA_GUID, 128 / 8) == 0)
      |                     ^~~~~~
/tmp/tsMuxer/tsMuxer/nalUnits.cpp:1758:21: note: ‘memcmp’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
[48/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/textSubtitlesRender.cpp.o
FAILED: tsMuxer/CMakeFiles/tsmuxer.dir/textSubtitlesRender.cpp.o 
/usr/bin/c++ -DTSMUXER_VERSION=\"git-6df7021\" -I/tmp/tsMuxer/tsMuxer/../libmediation -I/usr/include/freetype2 -std=c++17 -MD -MT tsMuxer/CMakeFiles/tsmuxer.dir/textSubtitlesRender.cpp.o -MF tsMuxer/CMakeFiles/tsmuxer.dir/textSubtitlesRender.cpp.o.d -o tsMuxer/CMakeFiles/tsmuxer.dir/textSubtitlesRender.cpp.o -c /tmp/tsMuxer/tsMuxer/textSubtitlesRender.cpp
/tmp/tsMuxer/tsMuxer/textSubtitlesRender.cpp: In member function ‘bool text_subtitles::TextSubtitlesRender::rasterText(const std::string&)’:
/tmp/tsMuxer/tsMuxer/textSubtitlesRender.cpp:365:5: error: ‘memset’ was not declared in this scope
  365 |     memset(m_pData, 0, static_cast<size_t>(m_width) * m_height * 4);
      |     ^~~~~~
/tmp/tsMuxer/tsMuxer/textSubtitlesRender.cpp:10:1: note: ‘memset’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
    9 | #include "vod_common.h"
  +++ |+#include <cstring>
   10 | 
[52/62] Building CXX object tsMuxer/CMakeFiles/tsmuxer.dir/tsPacket.cpp.o
ninja: build stopped: subcommand failed.
cp: cannot stat 'tsMuxer/tsmuxer': No such file or directory

How come you're not seeing this issue on your end or in testing?

EDIT: Without fully understanding the dependency chain adding #include <cstring> to the following files at least solves the compilation issue:

tsMuxer/mpegStreamReader.cpp
tsMuxer/nalUnits.cpp
tsMuxer/textSubtitlesRender.cpp
tsMuxer/vc1Parser.h
tsMuxer/vc1StreamReader.cpp
jcdr428 commented 1 year ago

Ok, pushed.

No problems on my side because I use MSVC or CLang compilers on Visual Studio. The builds on Github use g++ compiler via Docker, no problems neither. The problem seems to be only with the GNU c++ compiler, you're the first to report the problem.

gothicVI commented 1 year ago

Thanks! You might want to consider updating the docker image with a newer version of the build tools at some point.

jcdr428 commented 1 year ago

I'll leave that to @justdan96 , I am not too familiar with Docker.