У меня есть библиотека, которую я компилирую с make
и устанавливаю с make install
.
. Она имеет несколько модулей, которые могут быть установлены отдельно с чем-то вроде make install_foo
, а make install
- это просто Оболочка, в которой есть все эти требования.
Каждый модуль (install_foo
, install_bar
, ...) выполняет $(MAKE) conf_ld
в качестве своей последней команды:
.PHONY: conf_ld
conf_ld:
@echo " LDCONFIG"
$(Q)cp -r -f $(v) $(ETC_DIR)/ld.so.conf.d/* \
$(DESTDIR)/etc/ld.so.conf.d/
$(Q)ldconfig
@echo
Проблема является то, что если вы пытаетесь установить с несколькими ядрами (например, -j 8
), ldconfig
работает параллельно и завершается ошибкой:
LDCONFIG
LDCONFIG
LDCONFIG
ldconfig: ldconfig: Renaming of /etc/ld.so.cache~ to /etc/ld.so.cache failedRenaming of /etc/ld.so.cache~ to /etc/ld.so.cache failed: No such file or directory: No such file or directory
Есть ли способ решить эту проблему, или это невозможно установить параллельно?