Я должен отключить -enable-default-pie
опция в конфигурации gcc, но я не знаю, как сделать это. Существует ли текстовый файл, где я просто должен удалить ту опцию или как это должно быть сделано?
Если вам нужна другая конфигурация для GCC, вам нужно перекомпилировать ее.
Скачать или клонировать GCC с официального сайта. В качестве альтернативы вы также можете установить его из исходных пакетов Ubuntu.
# Download gcc
$ wget https://mirrors.kernel.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz
$ tar xf gcc-7.3.0.tar.xz
$ cd gcc-7.3.0
# Clone gcc
$ git clone https://gcc.gnu.org/git/gcc.git
$ cd gcc; git checkout gcc-7_3_0-release
# Use Ubuntu sources
$ apt-get source gcc-7
$ cd gcc-7-7.3.0
Войдите в исходную папку GCC и запустите сценарий autoconf configure
. Перед этим необходимо установить все библиотеки разработки для gcc. В наиболее распространенном случае configure
требуются только языки c и c ++ (см. Также на этой странице ). Это также место, где вы должны поставить пользовательский параметр --enable-default-pie
.
$ sudo apt-get build-dep gcc-7
$ configure --enable-languages=c,c++
Простой запуск make
и make install
. Это соберет и установит пользовательский gcc в /usr/local/bin
. Если вам нужно другое местоположение, вы можете изменить его с помощью опции --prefix=...
на шаге настройки.
$ make -j $(grep -c processor /proc/cpuinfo)
$ sudo make install
# Or better with checkinstall which, creates a deb packet
$ sudo checkinstall make install
В зависимости от количества процессоров, которые у вас есть, это может занять некоторое время. После этого просто запустите gcc --version
и посмотрите, как работает новый компилятор.