Как заставить autoconf использовать «install» вместо «mkdir -p»?

Итак, попробовав все возможное, я отказался и переустановил Linux. Однако со мной снова случилось то же самое! Я понял, что вызвало это на этот раз - я менял некоторые системные ярлыки.

Я не сопоставил «о» ни с чем, но я сопоставил «специальные» клавиши (например, кнопку «Домой», открытый веб-браузер и т. Д.), И я обнаружил, что кнопка «Поиск» (F10) вызывала «o» проблема, поскольку я полагаю, Linux не поддерживает эти настраиваемые клавиши?

В любом случае она решена, если у кого-то есть такая же проблема, просто отмените все изменения, которые вы внесли в сопоставления клавиш и ярлыки, и вы найдете причину проблемы. :)

Всем спасибо за полезные предложения и помощь!

3
06.04.2018, 18:09
1 ответ

Макрос AC_PROG_MKDIR_Pпредставляет собой макрос тестирования функций. Он расширяется до шелл-кода, который проверяет наилучшую доступную команду mkdir -p-. Он использует MKDIR_Pиac_cv_path_mkdir(«переменную кэша» ), чтобы выяснить, какую команду использовать.

Вы можете установить значение MKDIR_Pдля команды, которую хотите использовать для создания каталогов. Используемая вами команда должна иметь возможность создавать не только один каталог, но и родительские каталоги, если они еще не существуют (, точно так же, как mkdir -pделает ).

Нормальный:

$./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... gawk
...

При установке MKDIR_P:

$./configure MKDIR_P='install -d -m 0755'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... install -d -m 0755
checking for gawk... gawk
...

Согласно документации , можно сделать это «постоянным», установив переменную кэша ac_cv_path_mkdirв требуемую команду. Эту переменную можно установить непосредственно в скрипте configure(уродливый )или изменив созданный файл config.cacheпосле однократного запуска configureс опцией -C. Однако , я обнаружил, что configureдобавляет опцию -pк значению этой команды, которая может быть нежелательной (значение этой опции отличается между mkdirи install).

Если вас устраивает повторно -генерация configureскрипта из его configure.acисточника, вы можете установить MKDIR_Pв значение сразу после вызова AC_INIT. Затем запуститеautoconf(или autoreconf), чтобы воссоздать configure.

Наиболее гибким способом было бы установить переменную окружения MKDIR_Pв текущем сеансе оболочки с помощьюexport MKDIR_P='install -d'(или чего угодно ). Это не потребует изменения каких-либо файлов, но повлияет на все сценарии configure, которые вы запускаете в этом сеансе оболочки.

8
27.01.2020, 21:11

Теги

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