tdlib fails to install headers that telegram needs
The telegram-desktop project fails to build:
/usr/ports/net-im/telegram-desktop/work/tdesktop-5.14.1-full/Telegram/SourceFiles/tde2e/tde2e_api.cpp:13:10: fatal error: 'td/e2e/e2e_api.h' file not found
13 | #include <td/e2e/e2e_api.h>
| ^~~~~~~~~~~~~~~~~~
1 error generated.
This is because the header td/e2e/e2e_api.h isn't installed by tdlib, among other headers.
Missing header directories:
include/td/e2e
include/td/utils
include/td/telegram
Version 1.8.48
tde2e is a library used by TDLib to implement group calls. Whoever uses TDLib doesn't need to use tde2e. Therefore, tde2e is no different from OpenSSL or any other library internally used by TDLib and its headers must not be installed along with TDLib.
Nevertheless, the latest TDLib version allows to build and install tde2e as a standalone library from the same repository as TDLib by providing configuration option TD_E2E_ONLY:Bool=ON to cmake. This will build tde2e and install all headers required to use it directly.
Somehow adding -DTD_E2E_ONLY=ON didn't make any difference. And then, what about include/td/utils and include/td/telegram ?
Somehow adding -DTD_E2E_ONLY=ON didn't make any difference.
Do you use the latest TDLib 1.8.49 from Github?
And then, what about include/td/utils and include/td/telegram ?
They are private even for tde2e and must never be installed.