Альтернативы обновления не работают

Привет у меня есть возникшая проблема относительно альтернативы обновления на 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.
0
задан 30 August 2019 в 13:55

1 ответ

В Вашем ПУТИ Вы имеете /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 или закрывать терминал и открывать новый.

2
ответ дан 23 October 2019 в 03:58

Другие вопросы по тегам:

Похожие вопросы: