Подтвердить что ты не робот

Установите gcc на linux без привилегий root

У меня есть доступ к компьютеру в публичной библиотеке, и я хочу попробовать некоторые С++ и, возможно, другой код. Проблема в том, что g++ не установлен, и я не могу установить его с помощью пакетов, потому что у меня нет доступа root. Есть ли "умный" способ создать полноценную среду для программирования в домашней папке?

У меня установлен gcc (я могу скомпилировать код C). Кроме того, у меня есть домашняя папка, которая является последовательной. Я не знаю, где найти предварительно скомпилированный g++, я нашел только источник, но я не знаю, что с ним делать. Я попытался попросить их установить это, но это не сработало:)

4b9b3361

Ответ 1

Вы можете запустить configure script с параметром -prefix: ../gcc-4.5.0/configure --prefix=/home/foo/bar. Поскольку очень вероятно, что стандартная библиотека С++ отличается от той, что установлена ​​в вашей системе, вам нужно установить export LD_LIBRARY_PATH=/home/foo/bar/lib, прежде чем вы сможете запустить программу, скомпилированную этим компилятором.

Ответ 2

Если вы хотите установить его как локального пользователя

GNU GSRC обеспечивает простой способ сделать это

Ссылка: http://www.gnu.org/software/gsrc/

После настройки просто укажите следующие команды:

cd gsrc
make -C gnu/gcc 
(or make -C gnu/gcc MAKE_ARGS_PARALLEL="-jN" to speed up for a N-core system)
make -C gnu/gcc install

Ответ 3

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

Это зависит от того, насколько неприятна библиотека о том, какие вещи установлены. Если там нет gcc, ваша работа становится немного сложнее. Если там нет файлов заголовков для glibc, ваша работа намного сложнее.

Кроме того, вы получаете учетную запись в системе, поэтому у вас есть домашняя папка, совместимая с логином для входа?

Если у вас нет gcc, вам нужно найти предварительно скомпилированный двоичный файл gcc/g++ и установить его где-нибудь. Если у вас нет файлов заголовков, вам нужно найти их копии и поместить их в систему.

Не существует стандартного способа установки gcc в вашей домашней папке. Все решения будут иметь какую-то ручную работу.

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

Из вашего комментария кажется, что у вас есть gcc, и если вы можете скомпилировать C-код, у вас есть файлы заголовков библиотеки. Итак, теперь это вопрос собственно компиляции вашей собственной версии g++. Вероятно, вы могли бы найти способ заставить менеджера пакетов в системе устанавливать бинарный пакет где-то, кроме системной папки. Я думаю, что это решение менее забавно, чем компиляция, и я думаю, что могут возникнуть также и тонкие проблемы, так как установленный пакет может ожидать найти вещи в определенных местах и ​​не находить их там.

Первое, что нужно сделать, это убедиться, что вы загрузили нужный источник для пакета gcc. Место, которое можно найти, это зеркальная страница GNU United States. Вы хотите найти файл gcc-4.5.0.tar.bz2 или gcc-4.5.0.tar.gz на выбранном вами зеркальном сайте. Вероятно, он будет находиться в каталоге gcc и подпапке gcc-4.5.0.

После того, как вы загрузили, вы должны его разблокировать. В общем, вы не должны строить gcc в папке, в которую вы ее разворачиваете. Поэтому создайте другую папку для сиблинга, которую вы на самом деле хотите создать в виде метки gcc-build. Тогда вам нужна команда ../gcc-4.5.0/configure --prefix=$HOME/.local --enable-languages='c c++'.

gcc требует, чтобы некоторые другие пакеты были установлены для возможности компиляции. Вы можете использовать ту же строку --prefix для этих пакетов, чтобы установить их в одном месте. На веб-сайте gcc есть список необходимых пакетов.

$HOME/.local - это своеобразное стандартное место для установки пользователями.

Ответ 4

Если у вас есть fakeroot, вы можете использовать это, чтобы установить ~/some-path как root для установки пакетов. Кроме того, вы можете настроить среду chroot, чтобы сделать то же самое.

Учитывая это, вы можете использовать dpkg -i package.deb для установки gcc-пакетов в вашей системе. Вам необходимо будет загружать и устанавливать каждый пакет отдельно (например, с сайта debian) - не менее binutils, glibc, linux-headers и gcc.

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