gcc 7.3.0 на CentOS 7.6

IDE, VCS и прочее

Модератор: Модераторы разделов

Аватара пользователя
kerogaz
Сообщения: 916
ОС: CentOS,FreeBSD 12.1,Arch

gcc 7.3.0 на CentOS 7.6

Сообщение kerogaz »

Поставил я gcc 7.3.0 ( Install GCC from source) по ссылке :
https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/
И у меня получилось что под рутом остался gcc 4.8.5 а у пользователя 7.3.0. Как такое может быть?

Код: Выделить всё

root@bear ~]# mc
# gcc -v
Используются внутренние спецификации.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Целевая архитектура: x86_64-redhat-linux
Параметры конфигурации: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Модель многопоточности: posix
gcc версия 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
Copyright (C) 2015 Free Software Foundation, Inc.
Это свободно распространяемое программное обеспечение. Условия копирования
приведены в исходных текстах. Без гарантии каких-либо качеств, включая 
коммерческую ценность и применимость для каких-либо целей.

Код: Выделить всё

[pol@bear ~]$ gcc -v
Используются внутренние спецификации.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Целевая архитектура: x86_64-pc-linux-gnu
Параметры конфигурации: ./configure --disable-multilib --enable-languages=c,c++
Модель многопоточности: posix
gcc версия 7.3.0 (GCC) 
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1664
ОС: Gentoo

Re: gcc 7.3.0 на CentOS 7.6

Сообщение ormorph »

kerogaz писал(а):
06.02.2019 09:02
Как такое может быть?
Легко, переменное окружение разное и все тут.
Достаточно выполнить под рутом и пользователем:
which gcc
как увидишь что они находятся в разных каталогах.
Подробнее:

Shell

$ env
и

Shell

$ echo $PATH
Спасибо сказали:

Аватара пользователя
kerogaz
Сообщения: 916
ОС: CentOS,FreeBSD 12.1,Arch

Re: gcc 7.3.0 на CentOS 7.6

Сообщение kerogaz »

Это понятно. Но почему ? Ведь я компилировал под рутом а поменялось окружение (пути) у пользователя а у рута остались предыдущие
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: gcc 7.3.0 на CentOS 7.6

Сообщение Vascom »

Посмотри какой PATH у рута и у пользователя и где он задаётся. Всё станет понятно.
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1664
ОС: Gentoo

Re: gcc 7.3.0 на CentOS 7.6

Сообщение ormorph »

kerogaz писал(а):
06.02.2019 10:31
Но почему ?
Окружение не менялось. Просто в окружении рута не прописаны пути в /usr/local, они прописаны только у пользователя. Просто ваш gcc-7.3.0 был установлен в /usr/local, по этому под пользователем он виден а под рутом нет.
Если в системе присутствует директория /etc/profile.d/
То можно в нее добавить файл gcc7.sh со следующим содержимым:

Код: Выделить всё

if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
       PATH="/usr/local/bin:$PATH"
fi
По идее после перезагрузки этот файл должен подхватится.
Спасибо сказали:

Аватара пользователя
kerogaz
Сообщения: 916
ОС: CentOS,FreeBSD 12.1,Arch

Re: gcc 7.3.0 на CentOS 7.6

Сообщение kerogaz »

В том то и дело что в обоих случаях пути одинаковые

Код: Выделить всё

[root@bear pol]#
# which gcc
/usr/local/bin/gcc

Код: Выделить всё

[pol@bear ~]$ which gcc
/usr/local/bin/gcc
И по дате создания файла это именно gcc 7.3.0
Последний раз редактировалось kerogaz 06.02.2019 11:32, всего редактировалось 1 раз.
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1664
ОС: Gentoo

Re: gcc 7.3.0 на CentOS 7.6

Сообщение ormorph »

kerogaz писал(а):
06.02.2019 11:07
В том то и дело что в обоих случаях пути одинаковые
Если пути одинаковые, то gcc -v должен показать уже другое.
Спасибо сказали:

Аватара пользователя
kerogaz
Сообщения: 916
ОС: CentOS,FreeBSD 12.1,Arch

Re: gcc 7.3.0 на CentOS 7.6

Сообщение kerogaz »

Код: Выделить всё

gcc -v
Используются внутренние спецификации.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Целевая архитектура: x86_64-redhat-linux
Параметры конфигурации: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Модель многопоточности: posix
gcc версия 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
Добавлено (11:46):
Добавлено (11:48):
Отличаются пути g++ и сс

Код: Выделить всё

pol@bear ~]$ which g++
/usr/local/bin/g++
[root@bear ~]# which g++
/bin/g++

Код: Выделить всё

pol@bear ~]$ which cc
/usr/bin/cc
[root@bear ~]# which cc
/bin/cc
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18294
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: gcc 7.3.0 на CentOS 7.6

Сообщение Bizdelnick »

kerogaz писал(а):
06.02.2019 09:02
Поставил я gcc 7.3.0 ( Install GCC from source) по ссылке
Ох…
https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/
kerogaz писал(а):
06.02.2019 09:02
под рутом остался gcc 4.8.5
А зачем запускать компилятор под рутом?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
kerogaz
Сообщения: 916
ОС: CentOS,FreeBSD 12.1,Arch

Re: gcc 7.3.0 на CentOS 7.6

Сообщение kerogaz »

Вопрос в другом, почему пути пользователя и рута одинаковы а gcc -v разные разные версии показывает

Код: Выделить всё

[root@bear pol]#
# which gcc
/usr/local/bin/gcc

Код: Выделить всё

[pol@bear ~]$ which gcc
/usr/local/bin/gcc
И по дате создания файла это именно gcc 7.3.0
Спасибо сказали:

Аватара пользователя
s.xbatob
Сообщения: 1134
ОС: Fedora

Re: gcc 7.3.0 на CentOS 7.6

Сообщение s.xbatob »

Наверное, потому, что gcc фактически расположен в /usr/bin/x86_64-redhat-linux-gcc, /usr/libexec/gcc/ и /usr/lib/gcc/
Спасибо сказали:

Аватара пользователя
kerogaz
Сообщения: 916
ОС: CentOS,FreeBSD 12.1,Arch

Re: gcc 7.3.0 на CentOS 7.6

Сообщение kerogaz »

Тогда с каким gcc работает по умолчанию например конкретная прикладная программа у пользователя : 7.3.0 или 4.8.5 ?
Спасибо сказали:

Аватара пользователя
s.xbatob
Сообщения: 1134
ОС: Fedora

Re: gcc 7.3.0 на CentOS 7.6

Сообщение s.xbatob »

kerogaz
Не знаю, я зоопарки стараюсь не разводить. Разбирайтесь сами.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18294
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: gcc 7.3.0 на CentOS 7.6

Сообщение Bizdelnick »

kerogaz писал(а):
07.02.2019 09:34
Вопрос в другом, почему пути пользователя и рута одинаковы а gcc -v разные разные версии показывает
Пути разные. Вам давно сказали: смотрите echo $PATH под пользователем и под рутом.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
s.xbatob
Сообщения: 1134
ОС: Fedora

Re: gcc 7.3.0 на CentOS 7.6

Сообщение s.xbatob »

Bizdelnick
Всё хуже. Свой gcc скомпилирован с prefix, смотрящим тужа же, где он у штатного.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18294
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: gcc 7.3.0 на CentOS 7.6

Сообщение Bizdelnick »

s.xbatob писал:
07.02.2019 14:09
Свой gcc скомпилирован с prefix, смотрящим тужа же, где он у штатного.
У штатного — /usr, у самосборного — /usr/local.
Но таки использование scl избавляет от путаницы раз и навсегда.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
kerogaz
Сообщения: 916
ОС: CentOS,FreeBSD 12.1,Arch

Re: gcc 7.3.0 на CentOS 7.6

Сообщение kerogaz »

А почему gcc -v в обоих случаях указывает один и тот же путь?
А which правильно показывает:здесь видны разные пути

Код: Выделить всё

root@bear ~]# which gcc
/bin/gcc

Код: Выделить всё

[pol@bear ~]$ which gcc
/usr/local/bin/gcc
Значит программы юзеря будут работать с 7.3.0 а рут с 4.8.5 :drunk:
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18294
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: gcc 7.3.0 на CentOS 7.6

Сообщение Bizdelnick »

kerogaz писал(а):
07.02.2019 17:10
А почему gcc -v в обоих случаях указывает один и тот же путь?
Где Вы там увидели этот путь?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
kerogaz
Сообщения: 916
ОС: CentOS,FreeBSD 12.1,Arch

Re: gcc 7.3.0 на CentOS 7.6

Сообщение kerogaz »

Извиняюсь перепутал. Это вчера which показывал один и тот же путь, а gcc -v различные версии (смотрите мои предыдущие сообщения)

Код: Выделить всё

 [root@bear pol]#
# which gcc
/usr/local/bin/gcc

Код: Выделить всё

[pol@bear ~]$ which gcc
/usr/local/bin/gcc
А сегодня после перезагрузки уже разные, соответствующие действительности Наверное где-то глюкнуло звонко :drinks:
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18294
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: gcc 7.3.0 на CentOS 7.6

Сообщение Bizdelnick »

kerogaz писал(а):
07.02.2019 17:34
Наверное где-то глюкнуло звонко
Звонкие глюки бывают только в головах. Вангую su vs. su - или логина.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: