telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
26.45k stars 5.26k forks source link

[telegram-desktop-manjaro 2.7.8.r80.g55e494f55-1] Build Package for manjaro failed #16445

Closed pheiduck closed 3 years ago

pheiduck commented 3 years ago

Steps to reproduce

  1. clone source from manjaro gitlab
  2. update PKGBUILD with latest Commit from here (dev branch)
  3. makepkg -src
  4. see Build error

Expected behaviour

Succeeded Build

Actual behaviour

==> Starting pkgver()...
==> Updated version: telegram-desktop-manjaro 2.7.8.r80.g55e494f55-1
==> Starting build()...
Version: 2.7.9.beta
-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- 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
-- 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
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Looking for lzma_auto_decoder in /usr/lib/liblzma.so
-- Looking for lzma_auto_decoder in /usr/lib/liblzma.so - found
-- Looking for lzma_easy_encoder in /usr/lib/liblzma.so
-- Looking for lzma_easy_encoder in /usr/lib/liblzma.so - found
-- Looking for lzma_lzma_preset in /usr/lib/liblzma.so
-- Looking for lzma_lzma_preset in /usr/lib/liblzma.so - found
-- Found LibLZMA: /usr/lib/liblzma.so (found version "5.2.5") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.7.3") 
-- Checking for module 'libavcodec'
--   Found libavcodec, version 58.134.100
-- Checking for module 'libavformat'
--   Found libavformat, version 58.76.100
-- Checking for module 'libavutil'
--   Found libavutil, version 56.70.100
-- Checking for module 'libswscale'
--   Found libswscale, version 5.9.100
-- Checking for module 'libswresample'
--   Found libswresample, version 3.9.100
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.68.3
-- Checking for module 'gobject-2.0'
--   Found gobject-2.0, version 2.68.3
-- Checking for module 'gio-2.0'
--   Found gio-2.0, version 2.68.3
-- Checking for module 'gio-unix-2.0'
--   Found gio-unix-2.0, version 2.68.3
-- Checking for module 'glibmm-2.4'
--   Found glibmm-2.4, version 2.66.1
-- Checking for module 'giomm-2.4'
--   Found giomm-2.4, version 2.66.1
-- Checking for module 'hunspell'
--   Found hunspell, version 1.7.0
-- Found JPEG: /usr/lib/libjpeg.so (found version "80") 
-- Checking for module 'liblz4'
--   Found liblz4, version 1.9.3
-- Checking for module 'minizip'
--   Found minizip, version 1.2.11
-- Found OpenAL: /usr/lib/libopenal.so  
-- Found OpenSSL: /usr/lib/libcrypto.so (found version "1.1.1k")  
-- Checking for module 'opus'
--   Found opus, version 1.3.1
-- Checking for module 'rlottie'
--   Package 'rlottie', required by 'virtual:world', not found
-- Checking for module 'rnnoise'
--   Package 'rnnoise', required by 'virtual:world', not found
CMake Error at /usr/share/cmake-3.20/Modules/FindPkgConfig.cmake:556 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.20/Modules/FindPkgConfig.cmake:778 (_pkg_check_modules_internal)
  cmake/external/rnnoise/CMakeLists.txt:12 (pkg_check_modules)

-- Configuring incomplete, errors occurred!
See also "/home/usr/telegram-desktop/src/tdesktop/build/CMakeFiles/CMakeOutput.log".
See also "/home/usr/telegram-desktop/src/tdesktop/build/CMakeFiles/CMakeError.log".
==> ERROR: A failure occurred in build().
    Aborting...

Configuration

Operating system: docker image: manjarolinux/base Version of Telegram Desktop: 2.7.8.r80.g55e494f55-1

Installation source (Linux Only) - GitHub Commits: latest on dev branch

Used theme: matcha-gtk-theme

pheiduck commented 3 years ago

telegram-desktop-manjaro 2.7.9.r0.g55e494f55-1 > same behaviour

reagentoo commented 3 years ago

@john-preston @ilya-fedin Why is rnnoise missing from the .gitmodules?

ilya-fedin commented 3 years ago

It is not a submodule to be in .gitmodules

ilya-fedin commented 3 years ago
  • clone source from manjaro gitlab

  • update PKGBUILD with latest Commit from here (dev branch)

  • makepkg -src

  • see Build error

Pleas don't open upstream issues for errors in third-party build scripts

reagentoo commented 3 years ago

It is not a submodule to be in .gitmodules

@ilya-fedin Why??? This is another tiny library that is NOT found in the linux distributions packages. https://github.com/desktop-app/rnnoise

ilya-fedin commented 3 years ago

Why??? This is another tiny library that is NOT found in the linux distributions packages.

I don't know why preston bundles some libraries and doesn't bundle others, but I guess his reasons don't include whether the library is present in linux distributions or not. Btw, I see Arch has that library: https://archlinux.org/packages/community/x86_64/rnnoise/

After all, linux distributions will be forced to add that dependency anyway in order to be able to build tdesktop.

pheiduck commented 3 years ago

And this https://archlinux.org/packages/extra/any/extra-cmake-modules/ was missing in makedepends

pheiduck commented 3 years ago

hm, doesn't work, build failed anyway

FAILED: Telegram/CMakeFiles/lib_tgcalls.dir/ThirdParty/tgcalls/tgcalls/EncryptedConnection.cpp.o 
/usr/bin/c++ -DDESKTOP_APP_DISABLE_CRASH_REPORTS -DDESKTOP_APP_USE_PACKAGED -DDESKTOP_APP_USE_PACKAGED_FONTS -DHAVE_WEBRTC_VIDEO -DNO_MAIN_THREAD_WRAPPING -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_KEYWORDS -DRTC_ENABLE_VP9 -DTGCALLS_USE_STD_OPTIONAL -DWEBRTC_APM_DEBUG_DUMP=0 -DWEBRTC_APP_TDESKTOP -DWEBRTC_DUMMY_AUDIO_BUILD -DWEBRTC_ENABLE_PROTOBUF=0 -DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE -DWEBRTC_LIBRARY_IMPL -DWEBRTC_LINUX -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=1 -DWEBRTC_OPUS_VARIABLE_COMPLEXITY=0 -DWEBRTC_POSIX -DWEBRTC_USE_BUILTIN_ISAC_FLOAT -DWEBRTC_USE_H264 -I../Telegram/ThirdParty/tgcalls -I../Telegram/ThirdParty/tgcalls/tgcalls -isystem /usr/include/tg_owt -isystem /usr/include/tg_owt/third_party/libyuv/include -isystem /usr/include/tg_owt/third_party/abseil-cpp -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -O3 -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 -MD -MT Telegram/CMakeFiles/lib_tgcalls.dir/ThirdParty/tgcalls/tgcalls/EncryptedConnection.cpp.o -MF Telegram/CMakeFiles/lib_tgcalls.dir/ThirdParty/tgcalls/tgcalls/EncryptedConnection.cpp.o.d -o Telegram/CMakeFiles/lib_tgcalls.dir/ThirdParty/tgcalls/tgcalls/EncryptedConnection.cpp.o -c ../Telegram/ThirdParty/tgcalls/tgcalls/EncryptedConnection.cpp
../Telegram/ThirdParty/tgcalls/tgcalls/EncryptedConnection.cpp: In statischer Elementfunktion »static rtc::CopyOnWriteBuffer tgcalls::EncryptedConnection::SerializeEmptyMessageWithSeq(uint32_t)«:
../Telegram/ThirdParty/tgcalls/tgcalls/EncryptedConnection.cpp:570:25: Fehler: »class rtc::CopyOnWriteBuffer« hat kein Element namens »MutableData«
  570 |     auto bytes = result.MutableData();
      |                         ^~~~~~~~~~~
[110/976] Building CXX object Telegram/CMakeFiles/lib_tgcalls.dir/ThirdParty/tgcalls/tgcalls/MediaManager.cpp.o
ninja: build stopped: subcommand failed.
ilya-fedin commented 3 years ago

You need newer tg_owt

reagentoo commented 3 years ago

After all, linux distributions will be forced to add that dependency anyway in order to be able to build tdesktop.

Where is possibility to build it statically? https://github.com/desktop-app/cmake_helpers/blob/97b9c3f6d899b8a24137b9e6c076f5752d13a037/external/rnnoise/CMakeLists.txt#L41

ilya-fedin commented 3 years ago

Where is possibility to build it statically?

There's no possibility. You should wait until your distro maintainer will add rnnoise to the repo. It's a common process when an app depends on something new.

reagentoo commented 3 years ago

There's no possibility. You should wait until your distro maintainer will add rnnoise to the repo. It's a common process when an app depends on something new.

Why tg_owt has this possibility, but rnnoise - not?

ilya-fedin commented 3 years ago

Why tg_owt has this possibility, but rnnoise - not?

tg_owt is not bundled as a submodule as well.

reagentoo commented 3 years ago

tg_owt is not bundled as submodule as well

But it can be built statically from ../Libraries/tg_owt

ilya-fedin commented 3 years ago

But it can be built statically from ../Libraries/tg_owt

Ah, you mean build a static library with upstream build system. I don't know whether it's possible or not with rnnoise, you should ask rnnoise authors.

john-preston commented 3 years ago

@reagentoo Hmm, maybe it should be added as a submodule and built together with other bundled libs. I just didn't think about that.

pheiduck commented 3 years ago
  • clone source from manjaro gitlab
  • update PKGBUILD with latest Commit from here (dev branch)
  • makepkg -src
  • see Build error

Pleas don't open upstream issues for errors in third-party build scripts

have updated the PKGBUILD, after I found out which makedepends are missing... and there is also an Issue @ Manjaro GitLab ;)

ilya-fedin commented 3 years ago

and there is also an Issue @ Manjaro GitLab ;)

If you need help with build, you can create issue of question type and ask the question directly. You can't report as a bug that some PKGBUILD of some Manjaro doesn't work.

AndydeCleyre commented 3 years ago

Is rnnoise a runtime dep as well as build time?

ilya-fedin commented 3 years ago

yeah, of course

github-actions[bot] commented 3 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.