Привет у меня есть возникшая проблема относительно альтернативы обновления на gcc и g ++. Как видно на выводе альтернативы обновления ниже, я выбрал gcc 4.8, но когда я проверяю через - присваивают версию ему, все еще говорит gcc 6.5. У меня уже есть проверка подобное сообщение как это и это. Я проверил свой ~/.bashrc и ~/.profile, но нет никакого пути к этому gcc. Помогите разрешить это спасибо
Вот вывод который gcc:
/usr/local/cuda-9.0/bin/gcc
Вот вывод $PATH эха:
/home/cgal/anaconda3/bin:/home/cgal/anaconda3/condabin:/usr/local/cuda-9.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Вот вывод альтернатив обновления:
There are 3 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/gcc-4.8 3 auto mode
* 1 /usr/bin/gcc-4.8 3 manual mode
2 /usr/bin/gcc-6 1 manual mode
3 /usr/bin/gcc-7 2 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Вот вывод от./bashrc записей:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/cgal/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/cgal/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/cgal/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/cgal/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
export PYTHONPATH=/home/cgal/caffe/python:$PYTHONPATH
Здесь производится от ~/.profile:
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Здесь производится от/etc/profile:
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "${PS1-}" ]; then
if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
Наконец это - проблема:
gcc --version
gcc (Ubuntu 6.5.0-2ubuntu1~18.04) 6.5.0 20181026
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
В Вашем ПУТИ Вы имеете /home/cgal/anaconda3/bin:/home/cgal/anaconda3/condabin:/usr/local/cuda-9.0/bin
перед системными обычными трактами (/usr/...), таким образом, система находит gcc в/usr/local/cuda-9.0/bin/gcc.
Перемещение эти три записи с начала ПУТИ в конец вместо этого. Затем Вы найдете gcc, который Вы установили альтернативами обновления.
В .bashrc у Вас есть эта строка:
export PATH=/usr/local/cuda-9.0/bin:$PATH
изменение это к
export PATH=$PATH:/usr/local/cuda-9.0/bin
, чтобы не находить gcc в/usr/local/cuda-9.0/bin/. Не забудьте перезагружать .bashrc путем выполнения . .bashrc
или закрывать терминал и открывать новый.