Старый 11.04.2014, 21:27   #1
ewi
 
Регистрация: 02.04.2014
Сообщений: 75
Репутация: 2
Question Что делать, если нет gcc

Вроде не обсуждалось.

Код:
$  gcc
sh: line 1: gcc: command not found
Есть же какой то способ скомпилить код?

Проверенные способы:

1. параметр -static при компиляции
Для этого нужно ставить локальную систему с примерным ядром как у целевой системы. Различия в версиях, я так понял, как раз этим параметром и выправляются.

2. копирование бинарника gcc в текущую папку
Это необходимо в случае, если файл gcc имеется в папке bin, но стоит запрет на исполнение.
Либо если бинарник запрещен на чтение, либо был удален ранее установленный (ищем бинарник конкретной версии).
Тогда выправляется с помощью
Код:
chmod +x gcc

Последний раз редактировалось ewi; 17.04.2014 в 23:05..
ewi вне форума   Ответить с цитированием
Старый 11.04.2014, 21:53   #2
madhatter
 
Регистрация: 11.01.2014
Сообщений: 86
Репутация: 1
По умолчанию

Есть, не поверите. Компилятором. gcc, да. Либы и архитектуру под целевую машину только подберите.
madhatter вне форума   Ответить с цитированием
Старый 11.04.2014, 23:20   #3
ewi
 
Регистрация: 02.04.2014
Сообщений: 75
Репутация: 2
По умолчанию

Ну не банально же копипастить либы в папку с си-шником? Права не рут.
ewi вне форума   Ответить с цитированием
Старый 11.04.2014, 23:25   #4
Pashkela
 
Аватар для Pashkela
 
Регистрация: 05.07.2010
Сообщений: 1,243
По умолчанию

локально(у себя) скомпиль и потом залей готовый бинарник, только добавь опцию

-static

не всегда, но помогает часто
Pashkela вне форума   Ответить с цитированием
Старый 14.04.2014, 17:25   #5
b3
 
Аватар для b3
 
Регистрация: 18.08.2010
Сообщений: 353
Репутация: 105
По умолчанию

Всё таки когда нибудь я домучаю портативный gcc... Ведь там по сути не так много нужно если брать исключительно Си.
Если есть кто желающий помочь/поучаствовать дело конечно ускориться, в соло я леньтяй)
b3 вне форума   Ответить с цитированием
Старый 14.04.2014, 17:32   #6
madhatter
 
Регистрация: 11.01.2014
Сообщений: 86
Репутация: 1
По умолчанию

Цитата:
Сообщение от b3 Посмотреть сообщение
Всё таки когда нибудь я домучаю портативный gcc... Ведь там по сути не так много нужно если брать исключительно Си.
Если есть кто желающий помочь/поучаствовать дело конечно ускориться, в соло я леньтяй)
Это как посмотреть. Если на целевой системе нет gcc, как на debian-like по дефолту, едва ли там найдется десяток-другой либ и хидеров по нужную архитектуру. Не проще ли реализовать небольшую фермочку с кросс-компиляцией, дергая нужные параметры целевой системы?
madhatter вне форума   Ответить с цитированием
Старый 17.04.2014, 22:53   #7
ewi
 
Регистрация: 02.04.2014
Сообщений: 75
Репутация: 2
По умолчанию

Цитата:
Сообщение от Pashkela Посмотреть сообщение
локально(у себя) скомпиль и потом залей готовый бинарник, только добавь опцию

-static

не всегда, но помогает часто
Мне помогло, спасибо за вариант! Как способ подходит. Но для этого мне пришлось ставить целиком локальный линукс.
Изначально тред был как раз о подобии портативного gcc. А точнее я предпологал, что имеется тривиальный способ заливки gcc для любой системы. То есть, к примеру, достаточно знать версию компилятора (3.3.5 для debian 2.4 и т.д.) и есть определенный набор библиотек к нему и т.п.
ewi вне форума   Ответить с цитированием
Старый 19.04.2014, 14:00   #8
-Gory King-
 
Аватар для -Gory King-
 
Регистрация: 25.07.2010
Сообщений: 36
Репутация: 4
По умолчанию

https://www.dropbox.com/s/mjb5li9r235w6tw/gcc-4.8.1.tar.gz
-Gory King- вне форума   Ответить с цитированием
Старый 19.04.2014, 23:20   #9
ewi
 
Регистрация: 02.04.2014
Сообщений: 75
Репутация: 2
По умолчанию

Цитата:
Сообщение от -Gory King- Посмотреть сообщение
https://www.dropbox.com/s/mjb5li9r235w6tw/gcc-4.8.1.tar.gz
А поподробнее то можно, что с этим делать? Не все же 100Мб лить на шелл?
ewi вне форума   Ответить с цитированием
Старый 26.04.2014, 00:59   #10
b3
 
Аватар для b3
 
Регистрация: 18.08.2010
Сообщений: 353
Репутация: 105
По умолчанию

Цитата:
Сообщение от madhatter Посмотреть сообщение
едва ли там найдется десяток-другой либ и хидеров по нужную архитектуру.
Для компилирования сплойтов не нужно тонны либ, в 90% хватит стандартных а вот заголовочные файлы можно если что подгрузить и указать к ним путь компилятору.
Кстати бывает просто удаляют сам бинарник gcc или же делают chmod -x gcc в таком случае хватает простого аплоада бинарника из репов дистрибутива.
b3 вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot