Установите gcc в Linux без прав root

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

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

5 ответов

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

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

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

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

cd gsrc
make -C pkg/gnu/gcc 
make -C pkg/gnu/gcc install

Второй шаг также можно изменить, чтобы ускорить работу системы с N-ядром:

make -C pkg/gnu/gcc MAKE_ARGS_PARALLEL="-jN"

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

Однажды, давным-давно (в 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 является своего рода стандартным приемлемым местом для пользовательских установок.

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

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

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

Если вам нужен gcc для установки пакета Python, возможно, перед его установкой попробуйте следующее:

      conda install gcc gxx_linux-64
Другие вопросы по тегам