Установка gcc на Linux без компилятора c

Как я могу установить gcc в системе, в которой нет компилятора c? эта система является базовым брандмауэром Linux и не имеет компилятора c.

14
задан Majid 2 January 2014 в 12:49
поделиться

5 ответов

Я полагаю, у вас есть устройство, работающее под управлением Linux и доступ к оболочке, но ни диспетчер пакетов, ни компилятор не установлены.

Итак, вам необходимо выполнить кросс-компиляцию gcc и всей цепочки инструментов (по крайней мере, binutils) - это довольно просто, потому что сценарии ./ configure gcc, binutils, gdb и т. Д. Поддерживают кросс-компиляцию. компиляция с параметром - target = . Итак, все, что вам нужно сделать, это узнать целевую архитектуру (помогает uname ), а затем загрузить, распаковать исходники gcc на Linux-хосте и запустить ./ configure --target = $ YOUR_TARGET .

Теперь вы можете создать кросс-компилятор gcc - он по-прежнему работает на вашем хосте, но создает двоичные файлы для вашей цели (устройства межсетевого экрана).

Этого может быть уже достаточно для вас, типичный настольный ПК намного быстрее, чем типичное устройство, поэтому может иметь смысл скомпилировать все, что вам нужно, на настольном ПК с помощью кросс-компилятора и кросс-binutils.

Но если вы действительно хотите это сделать, теперь вы также можете использовать свой кросс-компилятор для компиляции gcc, запущенного на вашей цели (установите это как параметр - host = ) и компиляции для вашей цели. (установите это как - целевой параметр ).

Вы можете найти подробную информацию о разрешенных хостах / целях и примеры в документации gcc: http://gcc.gnu.org/install/specific.html .

14
ответ дан 1 December 2019 в 14:10
поделиться

Это зависит от дистрибутива, если он основан на debian или других крупных дистрибутивах, вы можете установить gcc через apt-get или аналогичный инструмент.

Если это более простая система, вам нужно скомпилировать gcc самостоятельно на другом компьютере и скопировать его. Это будет проще всего, если у вас есть другой компьютер с той же архитектурой (например, i386, arm или x86_64).

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

1
ответ дан 1 December 2019 в 14:10
поделиться

Поскольку вы используете Endian Firewall, смотрите "Создание коробки разработчика" по следующей ссылке:

http://alumnus.caltech.edu/~igormt/endian/tips.html

0
ответ дан 1 December 2019 в 14:10
поделиться

Как вы планируете получить весь исходный код, необходимый для GCC загружен на вашу машину? Не могли бы вы смонтировать ISO-образ на эту машину и выполнить установку оттуда?

0
ответ дан 1 December 2019 в 14:10
поделиться

Если это дистрибутив на основе debian, вы можете использовать

sudo apt-get install gcc

Примечание: возможно, вам нужно изменить «gcc» определенной версией пакета debian .

0
ответ дан 1 December 2019 в 14:10
поделиться