Как установить Cppcheck с помощью файла tar в Linux?

81
6

Я пытаюсь установить Cppcheck через telnet на Linux. У меня есть файл cppcheck-1.67.tar, и я распаковываю его. Я не вижу ничего, что установит это для меня. Правильно ли я подхожу к этому?

спросил(а) 2014-12-18T20:20:00+03:00 5 лет, 10 месяцев назад
1
Решение
71

Актуальная дата публикации этого ответа.

Загрузите файл оттуда https://sourceforge.net/projects/cppcheck/

Перейдите в папку с для скачивания

cd ~/Downloads/

Распаковать архив

tar -xvf cppcheck-1.76.1.tar.bz2

Перейти в распакованную папку

cd cppcheck-1.76.1/

Установить пакет как root

sudo make install

Проверьте результат

$ which cppcheck
/usr/bin/cppcheck

Тестирование это

$ touch simple.c
$ echo "int main(){ int a; a + 1; return 0}" > simple.c
$ cppcheck simple.c
Checking simple.c ...
[simple.c:1]: (error) Uninitialized variable: a

Этот пакет также существует в стандартном хранилище.

$ aptitude search cppcheck
p cppcheck - tool for static C/C++ code analysis

Тестовая среда

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.6 (jessie)
Release: 8.6
Codename: jessie
$ uname -a
Linux localhost 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux

ответил(а) 2016-12-16T11:33:00+03:00 3 года, 10 месяцев назад
58

Для меня магические строки оказались следующими в Docker на Ubuntu 18.04 (Bionic Beaver):

RUN cd /tmp \
&& git clone https://github.com/danmar/cppcheck.git \
&& cd cppcheck \
&& git checkout 1.72 \
&& make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes install \
&& cd /tmp \
&& rm -rf /tmp/cppcheck \
&& ldconfig

Я предполагаю, что следующее будет работать для любой версии. Я не уверен, куда имеет смысл устанавливать конфигурацию. Это работает для меня:

make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes install

ответил(а) 2018-12-12T16:54:00+03:00 1 год, 10 месяцев назад
58

В файле readme.txt не упоминается "make install".


Похоже, что поставляемый файл Makefile запущен:


    Он передает параметр "CFG =" для компиляции без DESTDIR


    Но "make install" добавляет DESTDIR в CFGDIR


В моем случае я редактировал Makefile для удаления DESTDIR из make install, и cppcheck доволен этим.

ответил(а) 2015-04-07T19:46:00+03:00 5 лет, 6 месяцев назад
58

Инструкции находятся в readme.txt. Краткий ответ - make install.

Не забывайте никогда не устанавливать вещи из файла tar, когда вы можете использовать свой менеджер пакетов распространения.

ответил(а) 2014-12-18T23:38:00+03:00 5 лет, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема