LINUX.ORG.RU

вопрос по использованию llvm и -format=html

 , ,


1

2

Решил сделать тест покрытия своей программы на плюсах. Все получилось, но при конвертации результата в html формат получаю ошибку. Использовал следующую команду: llvm-cov show test -instr-profile=default.profdata -format=html > report.html Получил следующую ошибку : Unknown command line argument '-format=html'. Я не силен в Linux, но предполагаю, что надо установить какую-то утилиту, которая может выполнить команду -format. Буду рад вашей помощи.

USAGE: llvm-cov show [options] Covered executable or object file. <Source files>

То есть:

llvm-cov show -instr-profile=default.profdata -format=html test > report.html

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

llvm-cov show: Unknown command line argument '-format=text'. Try: 'llvm-cov show -help' llvm-cov show: Did you mean '-name=text'?

Saharman
() автор топика
Ответ на: комментарий от DELIRIUM

Я не сильно разбираюсь в линуксе, пока лишь новичок, если подскажите, как узнать версию, я напишу. Ветку не знаю какую использовал, в интернете какую-то нашел

Saharman
() автор топика
Ответ на: комментарий от Saharman
llvm-cov --version

Linux тут абсолютно не при чём, llvm точно также работает и под виндой, и под фряхой, и даже под Haiku OS.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Saharman

Последний релиз сейчас 6.0, попробуйте его. С 3.8 (даже если там есть баг) сейчас никто возиться не будет.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Saharman

Ну и вопрос) А какой у Вас дистрибутив? Я просто из исходников собираю (ну мне дистрибутивные версии не подходят, я даже не знаю, как пакеты называются).

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Saharman

Я даже не знаю, что это такое) Гугл говорит, что Debian-based. Значит можно попробовать

sudo apt install llvm-6.0

Если не найдётся такого пакета, поищите, какие есть в наличии, с помощью

apt search llvm

У меня в Debian (подключен unstable репозиторий) вот такой пакет есть:

llvm-6.0/unstable 1:6.0~+rc2-1 amd64
  Modular compiler and toolchain technologies

А ещё можете воспользоваться инструкцией на официальном сайте:

https://apt.llvm.org/

DELIRIUM ☆☆☆☆☆
()
Последнее исправление: DELIRIUM (всего исправлений: 2)
Ответ на: комментарий от DELIRIUM

отказывается видеть 6ую версию, даже с использованием команд с официального сайта. Установил пятую версию, но ошибка сохранилась. Проверил версию, почему то все так же пишет третью.

Saharman
() автор топика
Ответ на: комментарий от DELIRIUM

не совсем понимаю, как использовать первую команду(вместо имени использовал llvm,llvm-cov,llvm-5.0, но без результата). Результат второй команды :/usr/bin/llvm-cov . Результат третьей : /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin

Saharman
() автор топика
Ответ на: комментарий от Saharman

ну вы как-то ставили пакет, какое имя вы использовали при apt install? вот его же надо использовать для dpkg-query

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от DELIRIUM

я ставил lldb-5.0:/. /usr /usr/bin /usr/lib /usr/lib/llvm-5.0 /usr/lib/llvm-5.0/bin /usr/lib/llvm-5.0/bin/lldb /usr/lib/llvm-5.0/bin/lldb-argdumper /usr/lib/llvm-5.0/bin/lldb-mi /usr/lib/llvm-5.0/bin/lldb-server /usr/share /usr/share/doc /usr/share/doc/lldb-5.0 /usr/share/doc/lldb-5.0/NEWS.Debian.gz /usr/share/doc/lldb-5.0/changelog.Debian.gz /usr/share/doc/lldb-5.0/copyright /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/lldb-5.0 /usr/share/man /usr/share/man/man1 /usr/share/man/man1/lldb-5.0.1.gz /usr/share/man/man1/lldb-mi-5.0.1.gz /usr/bin/lldb-5.0 /usr/bin/lldb-argdumper-5.0 /usr/bin/lldb-mi-5.0 /usr/bin/lldb-server-5.0

libllvm-5.0: /. /usr /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 /usr/share /usr/share/doc /usr/share/doc/libllvm5.0 /usr/share/doc/libllvm5.0/NEWS.Debian.gz /usr/share/doc/libllvm5.0/changelog.Debian.gz /usr/share/doc/libllvm5.0/copyright /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/libllvm5.0 /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so

Еще ставил libllvm-5.0-ocaml-dev libllvm5.0-dbg lldb-5.0 llvm-5.0 llvm-5.0-dev llvm-5.0-doc llvm-5.0-examples llvm-5.0-runtime, их тоже кидать?

Saharman
() автор топика
Ответ на: комментарий от Saharman

Вот в /usr/lib/llvm-5.0/bin нет бинарника llvm-cov? Если есть, то его и запускайте, по полному пути. Либо добавьте эту директорию в $PATH (например добавить строчку в ~/.bashrc:

export PATH=/usr/lib/llvm-5.0/bin:${PATH}

)

llvm-3.8 можно снести. Посмотреть, как называется точно пакет:

dpkg -l|grep llvm

Там из списка всё, что относится к 3.8, можно снести через apt remove <список имён через пробел>.

DELIRIUM ☆☆☆☆☆
()
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от Saharman

Не за что! На будущее: можно более оперативно получить помощь (в том числе и от меня) на канале IRC: irc.oftc.net #llvm

DELIRIUM ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.