Установите gcc на Linux без полномочия пользователя root

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

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

26
задан Omnifarious 9 July 2010 в 11:59
поделиться

3 ответа

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

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

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

0
ответ дан 28 November 2019 в 17:21
поделиться

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

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

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

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

Однако не существует «стандартного» способа установки gcc в вашу домашнюю папку. Все решения будут включать некоторую ручную раскрутку.

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

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

Прежде всего, убедитесь, что вы загрузили правильный исходный код для пакета gcc. Его можно найти на зеркальной странице GNU в США . Вы хотите найти файл 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 - это своего рода стандартное приемлемое место для установки вещей для каждого пользователя.

2
ответ дан 28 November 2019 в 17:21
поделиться

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

11
ответ дан 28 November 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: