From d7ed6049d313e5c0fc7adcb88e19e50df60b3d58 Mon Sep 17 00:00:00 2001 From: Thomas Jahns <jahns@dkrz.de> Date: Mon, 30 Jan 2017 15:36:55 +0100 Subject: [PATCH] Fix EAGAIN problem in libtool. * This work-around is needed until both bash and libtool wisen up. --- Makefile.am | 2 ++ config/ltmain.sh | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/Makefile.am b/Makefile.am index d77e1b883..5139aa283 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,3 +20,5 @@ doc/cdi_cman.pdf: # doc/cdi_fman.pdf: (cd $(top_srcdir)/doc/tex ; ./makepdf_f ; mv cdi_fman.pdf .. ; ./cleanup) + +libtool: config/ltmain.sh diff --git a/config/ltmain.sh b/config/ltmain.sh index 63ae69dc6..cfc9c20dc 100644 --- a/config/ltmain.sh +++ b/config/ltmain.sh @@ -136,6 +136,18 @@ progpath="$0" : ${CP="cp -f"} +# work around bug in libtool which raises an error when running in a +# parallel make that should have been handled in printf internally +printf() +{ + while ! builtin printf "$@" ; do + errcode=$? + # errcode might be EAGAIN=11 which means to simply try again + if [ $errcode != 11 ]; then + return $errcode + fi + done +} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} : ${MAKE="make"} : ${MKDIR="mkdir"} -- GitLab