LINUX.ORG.RU

WTF? TDLib & telega.el

 , ,


0

1

Пытаюсь собрать tdlib из репы под OpenBSD 6.7:

Линкер падает с ошибкой:

/usr/bin/ar: libtdcore.a: Memory exhausted

Ок, могу подкрутить лимиты.

Но я глянул на уже собранные библиотеки, и что же я там увидел:

user@openbsd:~/work/build/td/build % ls -l
total 312880
-rw-r--r--  1 user user     21645 Jul 29 13:22 CMakeCache.txt
drwxr-xr-x 17 user user      1024 Jul 29 13:39 CMakeFiles/
-rw-r--r--  1 user user       434 Jul 29 13:22 CTestTestfile.cmake
-rw-r--r--  1 user user    194803 Jul 29 13:22 Makefile
-rw-r--r--  1 user user      1836 Jul 29 13:22 TdConfigVersion.cmake
drwxr-xr-x  3 user user       512 Jul 29 13:36 benchmark/
-rw-r--r--  1 user user      6998 Jul 29 13:22 cmake_install.cmake
-rw-r--r--  1 user user    323134 Jul 29 13:22 compile_commands.json
-rw-r--r--  1 user user     91110 Jul 29 13:25 libmemprof.a
-rw-r--r--  1 user user   9845310 Jul 29 13:25 libtdapi.a
-rw-r--r--  1 user user   2031108 Jul 29 13:36 libtdclient.a
-rw-r--r--  1 user user 307602038 Jul 29 13:36 libtdcore.a
drwxr-xr-x  3 user user       512 Jul 29 13:23 sqlite/
drwxr-xr-x  4 user user       512 Jul 29 13:22 td/
drwxr-xr-x  3 user user       512 Jul 29 13:25 tdactor/
drwxr-xr-x  3 user user       512 Jul 29 13:26 tddb/
drwxr-xr-x  3 user user       512 Jul 29 13:26 tdnet/
drwxr-xr-x  3 user user       512 Jul 29 13:23 tdtl/
drwxr-xr-x  5 user user       512 Jul 29 13:25 tdutils/
drwxr-xr-x  3 user user       512 Jul 29 13:22 test/
-rw-r--r--  1 user user 307602038 Jul 29 13:36 libtdcore.a

WTF? я понимаю, что собрано статически, но весить столько для библиотеки чатика, это нормально?


Так наверное опции включены для сохранения имен всех символов и все такое. У меня столько же места занимает.

paramon
()
Последнее исправление: paramon (всего исправлений: 2)

Собирай с CMAKE_BUILD_TYPE=Release, собранные с ней бинарники будут тогда в районе 20 МБ после strip

anonymous
()

шаблонов наверное много. я видел проект который не собирался на 8 гигабайтах оперативки, нужно было 16. попробуй релизный билд как тебе советовали, но в релизе может быть lto, что может и не облегчить процесс.

собери динамическую библиотеку, неиспользованный код должен отпасть.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.