Subject: "No such file or directoryn" due to incorrect escaping

From: Egmont Koblinger <[email-masked]>
Date: Mon, 12 May 2014 19:35:24 +0200

Hi,

The following sequence of commands (with basic Gtk+ development
libraries installed):

git clone git://git.gnome.org/vte
cd vte
./autogen.sh
make
git checkout vte-0-36
./autogen.sh
make clean
./src/vte-2.91

gives the following error (it's not the error itself but the formatting):

PROMPT$ ./src/vte-2.91
gcc: error: vte_2_91-app.o: No such file or directory
gcc: error: vte_2_91-appresources.o: No such file or directory
gcc: error: ./.libs/libvte-2.91.so: No such file or directorynPROMPT$

Notice that a literal "n" is printed after the 3rd error message,
rather than a newline.

The libtool-generated src/vte-2.91 script contains:
printf %s\n "$relink_command_output" >&2

where the backslash is swallowed by the shell and it becomes a literal
"n".  It should be either double-backslashed, or enclosed between
quotes.

If you google "No such file or directoryn" with that extra "n" at the
end, you'll see plenty of matches, so probably this is a common
problem.

I think any occurrence of the literal »printf %s\n« is necessarily
buggy, since the space suggests that it has to be processed by the
shell, which will just ignore that backslash.

thx,
egmont