Ctags: rst2man: error: нет такой опции: --syntax-highlight

Созданный на 15 дек. 2019  ·  15Комментарии  ·  Источник: universal-ctags/ctags

Ошибка установки debian8
without-doc param пропал

Already on 'master'
Your branch is up to date with 'origin/master'.
HEAD is now at f7513be Merge pull request #2373 from pragmaware/fix-bug-2364-attempt-2
==> ./autogen.sh
==> ./configure --prefix=home/ouyangsong/.linuxbrew/Cellar/universal-ctags/HEAD-f7513be
==> make
Last 15 lines from /data02/home/ouyangsong/.cache/Homebrew/Logs/universal-ctags/03.make:
  rst2man [options] [<source> [<destination>]]

rst2man: error: no such option: --syntax-highlight
Makefile:5771: recipe for target 'man/tags.5' failed
make[1]: *** [man/tags.5] Error 2
Usage
=====
  rst2man [options] [<source> [<destination>]]

rst2man: error: no such option: --syntax-highlight
Makefile:5769: recipe for target 'man/ctags.1' failed
make[1]: *** [man/ctags.1] Error 2
make[1]: Leaving directory '/tmp/universal-ctags-20191215-3061613-15gdbok'
Makefile:1266: recipe for target 'all' failed
make: *** [all] Error 2
BUILDSYS|git operation|workflow|test harness

Самый полезный комментарий

Я не знаю linuxbrew. Однако поведение понятно.
Я думаю, что процесс создания такого инструмента не должен зависеть от среды, настроенной его пользователем.

Во всяком случае, я исправил эту проблему в # 2375. Сливаю после слияния # 2376.

Все 15 Комментарий

Ваш rst2man может быть слишком старым.
См. Https://sourceforge.net/p/docutils/patches/141/

Думаю, это проблема системы сборки ctags.

Я устанавливаю последние документы и псевдоним rst2man на последнюю версию rst2man, но все еще не работает.

$ pip install --user --upgrade docutils
$ alias rst2man=//home/ouyangsong/.local/bin/rst2man.py
$ rst2man --version
rst2man.py (Docutils 0.15.2 [release], Python 2.7.9, on linux2)

alias работает только в вашей оболочке. Как насчет создания символической ссылки?

по умолчанию rst2man находится в /usr/bin , но у меня нет root.
Я пытаюсь добавить $ PATH, но все еще не работает. @ k-takata, вы имеете в виду, что rst2man работает как подпроцесс, поэтому в подпроцессе rst2man слишком старый.

Извините, я неправильно понял вашу проблему.
Я хотел бы узнать, что выводятся на выходе rst2man --version и rst2man --help | grep highlight .

Вот пример:

[yamato@slave]~/var/ctags-github/man% rst2man --version
rst2man --version
rst2man (Docutils 0.14, Python 2.7.15, on linux2)
[yamato@slave]~/var/ctags-github/man% rst2man --help | grep highlight
rst2man --help | grep highlight
--syntax-highlight=<format>

Я думаю, у вашего rst2man нет --syntax-highlight.
Если мое предположение верно, следующий патч может решить проблему.

diff --git a/man/Makefile b/man/Makefile
index ec43caa2..42d911d4 100644
--- a/man/Makefile
+++ b/man/Makefile
@@ -25,7 +25,9 @@ RST2PDF  = rst2pdf

 # rst2man had a bug about code-block:: handling.
 # https://sourceforge.net/p/docutils/patches/141
-RST2MAN_FLAGS = --syntax-highlight=none
+RST2MAN_FLAGS = $(shell if $(RST2MAN) --help | grep -q -e --syntax-highlight; then \
+               echo --syntax-highlight=none; \
+           fi)
 RST2HTML_FLAGS =
 RST2PDF_FLAGS =

@masatake да, ваше предположение верно. rst2man в /usr/bin не имеет подсветки синтаксиса.

$ rst2man --help | grep -q -e --syntax-highlight
$ /usr/bin/rst2man --version
rst2man (Docutils 0.8.1 [release], Python 2.7.9, on linux2)

У меня нет root-прав для создания символической ссылки или ее обновления, поэтому я использую зависимости linuxbrew install ctags, а затем следую https://github.com/universal-ctags/ctags/blob/master/docs/autotools.rst для установки в $HOME/.local , наконец-то сделаем это.
Но странно, что linuxbrew не использует rst2man в $HOME/.local а использует /usr/bin/rst2man после создания символической ссылки "$ HOME / .local / bin / rst2man -> $ HOME / .local / bin / rst2man.py "и добавьте $ PATH. Я предполагаю, что linuxbrew использует подпроцесс оболочки, который не использует мой $ PATH

Я не знаю linuxbrew. Однако поведение понятно.
Я думаю, что процесс создания такого инструмента не должен зависеть от среды, настроенной его пользователем.

Во всяком случае, я исправил эту проблему в # 2375. Сливаю после слияния # 2376.

Слил # 2375. @songouyang , не могли бы вы попробовать еще раз?

@masatake, я попробую еще раз, но потерпел неудачу. Я думаю, может быть, вы исправите параметр rst2man в файле man / makefile, но забудьте эту строку в файле makefile.
https://github.com/universal-ctags/ctags/blob/ba26b8a744ab7af3842ba219d75c5dc845ba583e/Makefile.am#L232

==> make
Last 15 lines from /data02/home/ouyangsong/.cache/Homebrew/Logs/universal-ctags/03.make:
  rst2man [options] [<source> [<destination>]]

rst2man: error: no such option: --syntax-highlight
Makefile:5773: recipe for target 'man/ctags-incompatibilities.7' failed
make[1]: *** [man/ctags-incompatibilities.7] Error 2
Usage
=====
  rst2man [options] [<source> [<destination>]]

rst2man: error: no such option: --syntax-highlight
Makefile:5773: recipe for target 'man/ctags-optlib.7' failed
make[1]: *** [man/ctags-optlib.7] Error 2
make[1]: Leaving directory '/tmp/universal-ctags-20191217-3629840-z9svqb'
Makefile:1266: recipe for target 'all' failed
make: *** [all] Error 2

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
  https://github.com/universal-ctags/homebrew-universal-ctags/issues
5768 .1.rst.1:
5769         $(rst2man_verbose)$(RST2MAN) $(RST2MAN_OPTIONS) $< $@
5770 .5.rst.5:
5771         $(rst2man_verbose)$(RST2MAN) $(RST2MAN_OPTIONS) $< $@
5772 .7.rst.7:
5773         $(rst2man_verbose)$(RST2MAN) $(RST2MAN_OPTIONS) $< $@
1264 RST2MAN_OPTIONS = --syntax-highlight=none
1265 all: $(BUILT_SOURCES) config.h
1266         $(MAKE) $(AM_MAKEFLAGS) all-am

Спасибо!
Сделаю еще один запрос на перенос.

Не могли бы вы попробовать еще раз?

@masatake , теперь все в порядке, спасибо

Спасибо за тестирование (и за критическое предложение).

Была ли эта страница полезной?
0 / 5 - 0 рейтинги