Revision f235291fb6f55915253ef0ed6b483f2bbf18361e authored by Keno Fischer on 27 October 2023, 20:57:43 UTC, committed by GitHub on 27 October 2023, 20:57:43 UTC
I was intermittently observing the REPL precompile process not finishing. What I believe was happening is the following: 1. The last line of the precompile script is `cd("complete_path\t\t$CTRL_C` 2. As soon as child julia sees the `CTRL_C`, the prompt is terminated, and a new prompt is echod. 3. The parent julia tries to complete the line by sending `\n`, and immediately returns, because the child has already written a new prompt. 4. The child reads the `\n` and enters raw mode (ignoring things like ^D). 5. The parent tries to write `^D` to complete the process, but because the child is still processing the `\n`, this `^D` is ignored and the process hangs. Try to fix this by not writing the superfluous `\n` if the precompile line ends in `^C`.
1 parent 8a9476f
blastrampoline.mk
## blastrampoline ##
ifneq ($(USE_BINARYBUILDER_BLASTRAMPOLINE),1)
BLASTRAMPOLINE_GIT_URL := https://github.com/JuliaLinearAlgebra/libblastrampoline.git
BLASTRAMPOLINE_TAR_URL = https://api.github.com/repos/JuliaLinearAlgebra/libblastrampoline/tarball/$1
$(eval $(call git-external,blastrampoline,BLASTRAMPOLINE,,,$(BUILDDIR)))
BLASTRAMPOLINE_BUILD_OPTS := $(MAKE_COMMON) CC="$(CC) $(SANITIZE_OPTS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
BLASTRAMPOLINE_BUILD_OPTS += ARCH="$(ARCH)" OS="$(OS)"
$(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-configured: $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/source-extracted
mkdir -p $(dir $@)
echo 1 > $@
BLASTRAMPOLINE_BUILD_ROOT := $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/src
$(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-compiled: $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-configured
cd $(dir $@)/src && $(MAKE) $(BLASTRAMPOLINE_BUILD_OPTS)
ifeq ($(OS), WINNT)
# Windows doesn't like soft link, use hard link
cd $(BLASTRAMPOLINE_BUILD_ROOT)/build/ && \
cp -f --dereference --link libblastrampoline.dll libblastrampoline.dll
endif
echo 1 > $@
define BLASTRAMPOLINE_INSTALL
$(MAKE) -C $(BLASTRAMPOLINE_BUILD_ROOT) install $(BLASTRAMPOLINE_BUILD_OPTS) DESTDIR="$2"
endef
$(eval $(call staged-install, \
blastrampoline,$(BLASTRAMPOLINE_SRC_DIR), \
BLASTRAMPOLINE_INSTALL,, \
$$(BLASTRAMPOLINE_OBJ_TARGET), \
$$(INSTALL_NAME_CMD)libblastrampoline.$$(SHLIB_EXT) $$(build_shlibdir)/libblastrampoline.$$(SHLIB_EXT)))
clean-blastrampoline:
-$(MAKE) -C $(BLASTRAMPOLINE_BUILD_ROOT) clean
-$(RM) $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-compiled \
$(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-configured
get-blastrampoline: $(BLASTRAMPOLINE_SRC_FILE)
extract-blastrampoline: $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/source-extracted
configure-blastrampoline: extract-blastrampoline
compile-blastrampoline: $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-compiled
fastcheck-blastrampoline: check-blastrampoline
check-blastrampoline: compile-blastrampoline
else
$(eval $(call bb-install,blastrampoline,BLASTRAMPOLINE,false))
endif # USE_BINARYBUILDER_BLASTRAMPOLINE
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...