У меня есть доступ к компьютеру в публичной библиотеке, и я хочу испытать некоторый C++ и возможно другой код. Проблема состоит в том, что нет никакого g ++ установлен, и я не могу установить его с помощью пакетов, потому что у меня нет корневого доступа. Существует ли "умный" способ сделать полную среду для программирования в домашней папке?
У меня есть установленный gcc (я могу скомпилировать код C). Кроме того, у меня есть домашняя папка, которая последовательна. Я не знаю, где найти предварительно скомпилированный g ++, я нашел только источник, но я не знаю, что сделать с ним. Я пытался попросить, чтобы они установили это, но это не работало :)
Если у вас есть fakeroot, вы можете использовать его, чтобы установить ~ / some-path как root для установки пакетов. В качестве альтернативы вы можете настроить среду chroot, чтобы сделать то же самое.
Учитывая это, вы можете затем использовать dpkg -i package.deb
для установки пакетов gcc в вашей системе. Вам нужно будет загрузить и установить каждый пакет отдельно (например, с веб-сайта debian) - как минимум binutils
, glibc
, linux-headers
и gcc
.
Если вы работаете в другой системе, вам нужно будет получить нужные пакеты для этой системы и установить их с помощью соответствующего диспетчера пакетов.
Однажды, давным-давно (примерно в 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
- это своего рода стандартное приемлемое место для установки вещей для каждого пользователя.
Вы можете запустить сценарий configure с параметром --prefix: ../gcc-4.5.0/configure --prefix=/home/foo/bar
. Так как очень вероятно, что стандартная библиотека c++ отличается от той, что стоит в вашей системе, то перед запуском программы, скомпилированной этим компилятором, необходимо установить export LD_LIBRARY_PATH=/home/foo/bar/lib
.