lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: linux-ppc harfbuzz GUB build error


From: Masamichi Hosoda
Subject: Re: linux-ppc harfbuzz GUB build error
Date: Fri, 16 Dec 2016 21:24:19 +0900 (JST)

>>> In my environments, autoconf does not raise such error.
>>> Do you set the "set -u" or "set -o nounset" somewhere?
>>> If so, would you remove the setting?
>> The set -u (or to be complete set -ux) I discovered inside
>> 
>> /home/gub/gub/target/freebsd-x86/src/lilypond-git.sv.gnu.org--lilypond.git-master/smart-configure.sh
>> 
>> which was the command that was called when the error was signalled
> 
> I've noticed that smart-autogen.sh has "set -ux" and it is invoked from GUB.
> If I understand correctly, "set -u" and "set -x" etc. do not carry over
> into child processes.
> 
> However, at least in your log file,
> "set -x" seems to be carried over to the child process.
> From smart-autogen.sh through autogen.sh to autoconf,
> all scripts are setted trace mode.
> 
[...snip...]
> 
> Perhaps, also "set -u" is carried over in your environment
> and it is not carried over in my environment.
> 
> I have no idea.
> But, in CentOS, /bin/sh is symbolic link to bash,
> whereas in Ubuntu, /bin/sh is dash.
> I think that this difference is influenced.

Anyway, I've noticed that if the environment variable SHELLOPTS exists,
"set -ux" and "set -e" carry over to the child processes.
There may be other conditions that it carries over.

In order to avoid this issue,
there is a way to "set +ux" before invoking the child process.
So I've created a patch for LilyPond's smart-autogen.sh and smart-configure.sh.

https://sourceforge.net/p/testlilyissues/issues/5013/
https://codereview.appspot.com/319870043/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]