Как обновить make 3.81 linux

Я новичок в Linux (новый, как в установленном им вчера), мне это нужно для моего курса программирования в университете, и мне сказали установить конкретные версии определенных программ, но, хотя я использовал apt-get установите для их установки (ранее сделанное обновление apt-get) они не находятся в правильной версии.

Программы, которые мне нужны, составляют 4.0 и valgrind 3.10.1.

apt-get устанавливает make 3.81 и valgrind 3.10.0.SVN.

Я попытался набрать "apt-get install make4.0" и "apt-get install valgrind10.3.1" безрезультатно. Я загрузил их из Интернета и следил за инструкциями, которые я мог понять, для установки более новых версий, но он продолжает говорить, что у меня старые. (Я не уверен, могу ли я опубликовать прямые ссылки здесь, если я могу сообщить мне, и я отправлю туда, откуда я их получил).

Что я делал неправильно? Как я могу это исправить?

В настоящее время я запускаю Linux Mint.

Спасибо за любой ответ заранее.

Ответ 1

Из-за давнишнего нерешенного отчета об ошибках Debian, GNU Make очень долго оставалась устаревшей 3.81 в Debian и, как следствие, в дистрибутивах на основе Debian, таких как Ubuntu и Mint.

Последний выпуск Debian, Jessie, обновлен до 4.0, так что дистрибутивы на основе Debian будут иметь это обновление. Однако лучше использовать 4.1.

Это много раз обсуждалось в списке рассылки GNU Make и в других местах.

Таким образом, чтобы получить более новую версию, вы должны скомпилировать ее с нуля. Это просто:

  1. Установите необходимые пакеты (gcc, make и такие).
  2. Откройте оболочку (если вы используете графический интерфейс, окно терминала).
  3. Введите следующие команды (или что-то эквивалентное, например, вы можете использовать curl вместо wget):

    cd /tmp
    wget http://ftp.gnu.org/gnu/make/make-4.1.tar.gz
    tar xvf make-4.1.tar.gz
    cd make-4.1/
    ./configure
    make
    sudo make install
    cd ..
    rm -rf make-4.1.tar.gz make-4.1
    

Теперь make 4.1 находится в /usr/local/bin/make.

Вы можете проверить это там, whereis make.

Вы можете сделать его по умолчанию make предваряя /usr/local/bin к вашей $PATH переменной в файле запуска оболочки; например, в .profile или .bashrc если вы используете оболочку bash.

Не пытайтесь установить самоскомпилированный make (или что-либо еще, что не пришло из менеджера дистрибутива) в /bin или /usr/bin; это может сбить с толку вашего менеджера пакетов.