LINUX.ORG.RU

Современный gcc для android

 , , ,


0

1

Нужен компилятор для android. Использую cctools, но там устаревший gcc 4.9, а после последнего обновления он зачем-то gnustl динамически прилинковывает, полученные библиотеки не грузятся на api19 и ниже.

Говорят, в termux раньше был современный gcc, но разрабы его выкинули вместо того, чтобы выкинуть ненужный шланг.

Может у crystax есть планы по сборкам под не-x86? Я хотел попытаться собрать, но не смог выкачать репы, интернет не слишком быстрый.

Перемещено mono из mobile

★★★★★

Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от andreyu

В ответ на просьбы вернуть gcc они говорят что не хотят поддерживать 2 компилятора. Так зачем тогда шланг завозить было если 2 компилятора не могут поддерживать?

mittorn ★★★★★
() автор топика

у ABCore если припомню, кажется шестой гцц скачивали для клиента.

Reedych ★☆
()
Ответ на: комментарий от mittorn

В ответ на просьбы вернуть gcc они говорят что не хотят поддерживать 2 компилятора. Так зачем тогда шланг завозить было если 2 компилятора не могут поддерживать?

Как это объясняет ненужность шланга?

andreyu ★★★★★
()

аа, так тебе на андроид нужен компилятор

anonymous
()
Ответ на: комментарий от Reedych

В шланге некоторые сложности с -fpermissive на говнокоде. То что на gcc работает под шланг придётся полдня минимум подгонять под стандарт. И я не знаю как там дела с поддержкой векторизации и hardfloat на arm

mittorn ★★★★★
() автор топика
Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от anonymous

У них только под x86_64. Собрал бы под arm, но тленно слишком это всё качать

mittorn ★★★★★
() автор топика
Ответ на: комментарий от a1batross

Наверное, тем что в необходимой ситуации ТС-у нужен именно свежий GCC, а не старый GCC или вовсе Clang?

Рад за вашу фантазию, но она несколько далека от того, что написал ТС:

Говорят, в termux раньше был современный gcc, но разрабы его выкинули вместо того, чтобы выкинуть ненужный шланг.

andreyu ★★★★★
()
Ответ на: комментарий от anonymous

Может, шланг уже научился адекватно генерировать код под разные архитектуры? Оптимизации у него лучше, так почему результирующий код хуже практически всегда?

anonymous
()
Ответ на: комментарий от Reedych

Он после обновления gnustl линкует. Собранные либы не грузятся есои его нет в системе

mittorn ★★★★★
() автор топика
Ответ на: комментарий от a1batross

По мне так ТС какой-то неадекват с завышенными требованиями. Его ответ я уже видел, но он не отвечает на мой вопрос.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Ну например. Если я качаю android ndk - в нём сейчас gcc и clang. Я ни разу вторым не воспользуюсь, однако больше половины трафика я потрачу на него. Из этого мне остаётся сделать вывод, что clang - некий навязанный мне буллщит.
А теперь случай с termux. Я его скачал, чтобы поставить gcc. Он мне предлагает поставить clang. А он мне нужен? Нет, разумеется. Нужен именно gcc. Вот и вся ненужность. Где-то clang лучше по оптимизации, кого-то gcc не устраивает идеологически, где-то пригодится его (clang) анализатор - вот там он нужен. А мне - нет.
+ приведённый выше пример с -fpermissive. Кое-что в clang нельзя проигнорировать.
И напоследок - переезд на другой компилятор может создать непредвиденные проблемы. Они могут проявиться не сразу, и по закону подлости это произойдёт после релиза, а не в тестовых версиях. И clang я пока не доверяю.

mittorn ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Теперь ваша позиция понятна.
Но то, что вы написали в топике было провокацией флейма. Случайно или специально, я не берусь судить.

andreyu ★★★★★
()
19 июня 2018 г.

Решение.

Termux. Install GCC.

Установим coreutils, gnupg и wget:

apt-get update apt-get upgrade apt-get install coreutils gnupg2 wget

Добавим в файл /usr/etc/apt/sources.list нужный репозиторий:

deb [trusted=yes] https://its-pointless.github.io/files/ termux extras

Скачаем и добавим ключ для доступа к репозиторию:

wget https://its-pointless.github.io/pointless.gpg apt-key add pointless.gpg

Обновим данные о пакетах и выполним установку нужной версии gcc (доступны 6.4, 7.3, 8.1):

apt-get update pkg search gcc pkg install gcc-8 libgomp-8

slipers
()
Ответ на: Решение. от slipers

Да, знаю уже. давно адаптировал его под свои нужды

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