Ошибка при установке chkTex

Я пытаюсь установить ChkTex на Ubuntu версии 16.04. Для этого я скачал руководство и программное обеспечение. В настоящее время я следую руководству по установке. Но, когда я пытаюсь использовать команду make, она выдает мне следующую ошибку:

gcc -lpcreposix -lpcre -o chktex ChkTeX.o FindErrs.o OpSys.o Resource.o Utility.o -ltermcap 
FindErrs.o: In function `CheckSilentRegex':
/home/mala/Downloads/chktex-1.7.6/FindErrs.c:1256: undefined reference to `pcreposix_regcomp'
/home/mala/Downloads/chktex-1.7.6/FindErrs.c:1277: undefined reference to `pcreposix_regexec'
/home/mala/Downloads/chktex-1.7.6/FindErrs.c:1288: undefined reference to `pcreposix_regerror'
/home/mala/Downloads/chktex-1.7.6/FindErrs.c:1261: undefined reference to `pcreposix_regerror'
FindErrs.o: In function `CheckRest':
/home/mala/Downloads/chktex-1.7.6/FindErrs.c:920: undefined reference to `pcreposix_regexec'
/home/mala/Downloads/chktex-1.7.6/FindErrs.c:931: undefined reference to `pcreposix_regerror'
/home/mala/Downloads/chktex-1.7.6/FindErrs.c:878: undefined reference to `pcreposix_regcomp'
/home/mala/Downloads/chktex-1.7.6/FindErrs.c:885: undefined reference to `pcreposix_regerror'
collect2: error: ld returned 1 exit status
Makefile:160: recipe for target 'chktex' failed
make: *** [chktex] Error 1

В чем причина ошибки и как ее устранить?

1
задан 16 April 2019 в 03:38

1 ответ

Во-первых, обратите внимание на то, что chktex (1.7.4-1ubuntu2) доступно для Ubuntu 16.04 из репозитория Вселенной.


Ошибка, кажется, потому что соответствующие библиотеки размещаются неправильно в gcc командная строка - видит, Почему делает порядок, в котором библиотеки иногда связываются ошибки причины в GCC?

Рытье глубже, который может быть прослежен до библиотек, по-видимому, добавляемых к LDFLAGS вместо LIBS

LIBS=-ltermcap -lpcreposix -lpcre
LDFLAGS=-lpcreposix -lpcre

так, чтобы рецепт

chktex: $(OBJS)
        $(CC) $(LDFLAGS) -o chktex $(OBJS) $(LIBS)

расширяется до

gcc -lpcreposix -lpcre -o chktex ChkTeX.o FindErrs.o OpSys.o Resource.o Utility.o -ltermcap 

вместо необходимого

gcc -o chktex ChkTeX.o FindErrs.o OpSys.o Resource.o Utility.o -ltermcap -lpcreposix -lpcre 

Можно работать вокруг этого путем ручного редактирования Make-файла, изменения строк на

LIBS=-ltermcap -lpcreposix -lpcre
LDFLAGS= 
3
ответ дан 16 April 2019 в 03:38

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

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