Да, конечно. Но есть несколько вещей, о которых нужно знать.
Вы должны скомпилировать из исходного кода и дать префикс вашему домашнему каталогу:
./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 обычно не имеют этой проблемы.