Я хотел бы установить devtools в кластере, в котором работает CentOS 5.4 (чтобы получить более высокую версию gcc, чем версия по умолчанию. Мне нужно gcc> 4.7, чтобы использовать некоторые функции C++11)

Однако у меня нет прав root. Можно ли установить devtools в домашнюю папку моего пользователя без root-доступа? Шаги, приведенные в этом ответе, предполагают наличие корневого доступа. Спасибо за любую информацию или ссылки.

2 ответа2

0

Да, конечно. Но есть несколько вещей, о которых нужно знать.

Вы должны скомпилировать из исходного кода и дать префикс вашему домашнему каталогу:

./configure --prefix=$HOME

Конечно добавьте параметры по мере необходимости. Затем make install установит в /home /yourdir /bin, /home /yourdir /lib и т. д. Возможно, вам придется вручную запустить 'ldconfig' в вашем каталоге lib, чтобы создать сокращенные символические ссылки на ваши библиотеки.

В вашей оболочке сначала добавьте путь к вашему личному каталогу bin, если это еще не сделано. Например, добавьте это в ваш .bashrc:

PATH=$HOME/bin:$PATH
LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH

Это гарантирует, что ваша собственная копия gcc будет найдена первой; LD_LIBRARY_PATH делает то же самое для ваших собственных динамических библиотек.

Обратите внимание, что для новых версий gcc могут потребоваться более новые версии binutils, ассемблера и различных библиотек, так что вы можете получить гораздо больше, чем просто gcc. Кроме того, я думаю, что рекомендуется сначала скомпилировать только компилятор C (с --enable-languages = C), а затем перекомпилировать gcc с самим собой для компиляции компилятора C++.

Наконец, вышесказанное может мешать существующим системным библиотекам C++; в прошлом у меня были проблемы со связыванием библиотек C++, скомпилированных различными версиями gcc, в мои программы. Библиотеки C обычно не имеют этой проблемы.

0

Я не думаю, что вы можете обновить GCC, если вы не root. Попробуйте загрузить rpm и установить его, но шансов очень меньше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .