Tdesktop: Build failure with DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION

Created on 23 Aug 2020  路  5Comments  路  Source: telegramdesktop/tdesktop

Steps to reproduce

  1. Build with -DDESKTOP_APP_DISABLE_WEBRTC_INTEGRATION:BOOL=ON.


    1. 3.

Expected behaviour

Successful build.

Actual behaviour

Build failure:

FAILED: Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_media_devices.cpp.o 
/usr/bin/c++  -DDESKTOP_APP_DISABLE_CRASH_REPORTS -DDESKTOP_APP_DISABLE_WEBRTC_INTEGRATION -DDESKTOP_APP_USE_PACKAGED -DDESKTOP_APP_USE_PACKAGED_LAZY -DNDEBUG -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WAYLANDCLIENT_LIB -DQT_WIDGETS_LIB -DQT_XKBCOMMON_SUPPORT_LIB -I../Telegram/lib_webrtc -I../Telegram/lib_base -I../Telegram/lib_rpl -I../Telegram/lib_crl -I../Telegram/SourceFiles -isystem ../Telegram/ThirdParty/GSL/include -isystem /usr/include/QtCore/5.14.2 -isystem /usr/include/QtCore/5.14.2/QtCore -isystem /usr/include/QtGui/5.14.2 -isystem /usr/include/QtGui/5.14.2/QtGui -isystem /usr/include/QtXkbCommonSupport/5.14.2 -isystem /usr/include/QtXkbCommonSupport/5.14.2/QtXkbCommonSupport -isystem /usr/include/QtWaylandClient/5.14.2 -isystem /usr/include/QtWaylandClient/5.14.2/QtWaylandClient -isystem /usr/include/QtCore -isystem /usr/lib/mkspecs/linux-g++ -isystem /usr/include/QtGui -isystem /usr/include/QtWidgets -isystem /usr/include/QtNetwork -isystem /usr/include/QtDBus -isystem /usr/include/QtXkbCommonSupport -isystem /usr/include/QtWaylandClient -isystem ../Telegram/ThirdParty/variant/include -isystem ../Telegram/ThirdParty/range-v3/include -isystem ../Telegram/ThirdParty/expected/include -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -O2 -g -DNDEBUG   -fPIC -fno-strict-aliasing -pipe -Wall -W -Wno-unused-variable -Wno-unused-parameter -Wno-unused-function -Wno-switch -Wno-comment -Wno-unused-but-set-variable -Wno-missing-field-initializers -Wno-sign-compare -Wno-attributes -Wno-parentheses -Wno-stringop-overflow -Wno-maybe-uninitialized -Wno-error=class-memaccess -Wno-register -std=gnu++17 -Winvalid-pch -include /run/build/telegram-desktop/tdesktop/_flatpak_build/Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/cmake_pch.hxx -MD -MT Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_media_devices.cpp.o -MF Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_media_devices.cpp.o.d -o Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_media_devices.cpp.o -c ../Telegram/lib_webrtc/webrtc/webrtc_media_devices.cpp
../Telegram/lib_webrtc/webrtc/webrtc_media_devices.cpp:10:10: fatal error: api/task_queue/default_task_queue_factory.h: No such file or directory
   10 | #include "api/task_queue/default_task_queue_factory.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[460/1108] Building CXX object Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_audio_input_tester.cpp.o
FAILED: Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_audio_input_tester.cpp.o 
/usr/bin/c++  -DDESKTOP_APP_DISABLE_CRASH_REPORTS -DDESKTOP_APP_DISABLE_WEBRTC_INTEGRATION -DDESKTOP_APP_USE_PACKAGED -DDESKTOP_APP_USE_PACKAGED_LAZY -DNDEBUG -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WAYLANDCLIENT_LIB -DQT_WIDGETS_LIB -DQT_XKBCOMMON_SUPPORT_LIB -I../Telegram/lib_webrtc -I../Telegram/lib_base -I../Telegram/lib_rpl -I../Telegram/lib_crl -I../Telegram/SourceFiles -isystem ../Telegram/ThirdParty/GSL/include -isystem /usr/include/QtCore/5.14.2 -isystem /usr/include/QtCore/5.14.2/QtCore -isystem /usr/include/QtGui/5.14.2 -isystem /usr/include/QtGui/5.14.2/QtGui -isystem /usr/include/QtXkbCommonSupport/5.14.2 -isystem /usr/include/QtXkbCommonSupport/5.14.2/QtXkbCommonSupport -isystem /usr/include/QtWaylandClient/5.14.2 -isystem /usr/include/QtWaylandClient/5.14.2/QtWaylandClient -isystem /usr/include/QtCore -isystem /usr/lib/mkspecs/linux-g++ -isystem /usr/include/QtGui -isystem /usr/include/QtWidgets -isystem /usr/include/QtNetwork -isystem /usr/include/QtDBus -isystem /usr/include/QtXkbCommonSupport -isystem /usr/include/QtWaylandClient -isystem ../Telegram/ThirdParty/variant/include -isystem ../Telegram/ThirdParty/range-v3/include -isystem ../Telegram/ThirdParty/expected/include -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -O2 -g -DNDEBUG   -fPIC -fno-strict-aliasing -pipe -Wall -W -Wno-unused-variable -Wno-unused-parameter -Wno-unused-function -Wno-switch -Wno-comment -Wno-unused-but-set-variable -Wno-missing-field-initializers -Wno-sign-compare -Wno-attributes -Wno-parentheses -Wno-stringop-overflow -Wno-maybe-uninitialized -Wno-error=class-memaccess -Wno-register -std=gnu++17 -Winvalid-pch -include /run/build/telegram-desktop/tdesktop/_flatpak_build/Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/cmake_pch.hxx -MD -MT Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_audio_input_tester.cpp.o -MF Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_audio_input_tester.cpp.o.d -o Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_audio_input_tester.cpp.o -c ../Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.cpp
../Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.cpp:9:10: fatal error: media/engine/webrtc_media_engine.h: No such file or directory
    9 | #include "media/engine/webrtc_media_engine.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Configuration

Operating system: Fedora

Version of Telegram Desktop: 2.3.1

Installation source (Linux Only) - the official website / GitHub releases / flatpak / snap / distribution package: sources

Used theme: n/a

Logs:
Insert log.txt here (if necessary)

Most helpful comment

@primeos It is a required dependency indeed. tg_owt fork.

All 5 comments

Also happens with Telegram Desktop 2.3.2 on OpenMandriva

I also get a build failure for 2.3.2 on NixOS due to a dependency on WebRTC despite
-DDESKTOP_APP_DISABLE_WEBRTC_INTEGRATION=ON:

[437/1040] Building CXX object Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_audio_input_tester.cpp.opp.o
FAILED: Telegram/lib_webrtc/CMakeFiles/lib_webrtc.dir/webrtc/webrtc_audio_input_tester.cpp.o
[...]
Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.cpp
../Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.cpp:9:10: fatal error: media/engine/webrtc_media_engine.h: No such file or directory
    9 | #include "media/engine/webrtc_media_engine.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Version 2.3.0 did build fine.

same

@john-preston this is still a problem with versions 2.4.0 and 2.4.1. Going forward it would be nice if we could either fix the build with -DDESKTOP_APP_DISABLE_WEBRTC_INTEGRATION=ON or drop DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION to indicate that WebRTC is now always required to build Telegram-Desktop (a problem with this is that it's hard to package libwebrtc for Linux distributions but it would be still better to know that this is a requirement now).

cc @ilya-fedin in case you can help here but of course only if you have the time and motivation

@primeos It is a required dependency indeed. tg_owt fork.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Mindstormer619 picture Mindstormer619  路  3Comments

qwitriy picture qwitriy  路  3Comments

ghost picture ghost  路  3Comments

luisalvarado picture luisalvarado  路  3Comments

abhyrz picture abhyrz  路  3Comments