This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc output from remote machine shows up strange on cygwin xterm


I ssh from my local Cygwin installation to a remote Linux box (Fedora Core 5 on AMD64). When I run gcc on the remote machine, certain parts of various error messages show up strangely; things between single quotes show up as the character â.

However, when the terminal application is run from a Linux box, I get the full error message. For instance, if I ssh from Cygwin to the remote machine, then run a (remote) xterm (passed back to Cygwin through X forwarding), then run make in that xterm, I get the normal error strings. Likewise, the error strings show up if I run make locally on the Linux box. It also works when I ssh from an ancient Linux box to my build machine (that is, when the xterm application is running on an ancient Linux box).

I finally tracked it down to the fact that gcc is ouputting three-byte sequences for each single quote; apparently Cygwin is having trouble displaying them.

If I run 'make' locally on the Linux box, I get stuff like this:
g++ -g -c -o main.o main.C
main.C:1557:1: error: unterminated argument list invoking macro "assert"
main.C:675: error: field ‘stall_logic’ has incomplete type
but when I ssh in from Cygwin, I see:
g++ -g -c -o main.o main.C
main.C:1557:1: error: unterminated argument list invoking macro "assert"
main.C:675: error: field â has incomplete type
note the change in the 3rd line.

So I did
make 2>&1 | tee foo
and then "cat -v foo" shows:
g++ -g -c -o main.o main.C
main.C:1557:1: error: unterminated argument list invoking macro "assert"
main.C:675: error: field M-bM-^@M-^Xstall_logicM-bM-^@M-^Y has incomplete type
or, if you prefer, hexdump -C shows:
00000000 67 2b 2b 20 20 2d 67 20 20 2d 63 20 2d 6f 20 6d |g++ -g -c -o m|
00000010 61 69 6e 2e 6f 20 6d 61 69 6e 2e 43 0a 6d 61 69 |ain.o main.C.mai|
00000020 6e 2e 43 3a 31 35 35 37 3a 31 3a 20 65 72 72 6f |n.C:1557:1: erro|
00000030 72 3a 20 75 6e 74 65 72 6d 69 6e 61 74 65 64 20 |r: unterminated |
00000040 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 20 69 6e |argument list in|
00000050 76 6f 6b 69 6e 67 20 6d 61 63 72 6f 20 22 61 73 |voking macro "as|
00000060 73 65 72 74 22 0a 6d 61 69 6e 2e 43 3a 36 37 35 |sert".main.C:675|
00000070 3a 20 65 72 72 6f 72 3a 20 66 69 65 6c 64 20 e2 |: error: field .|
00000080 80 98 73 74 61 6c 6c 5f 6c 6f 67 69 63 e2 80 99 |..stall_logic...|
00000090 20 68 61 73 20 69 6e 63 6f 6d 70 6c 65 74 65 20 | has incomplete |
000000a0 74 79 70 65 0a 6d 61 69 6e 2e 43 3a 31 31 39 32 |type.main.C:1192|


Looks like gcc is sending the sequences 0xe2 0x80 0x98 and 0xe2 0x80 0x99 as the starting and ending single quotes, respectively.

Any ideas how to get Cygwin to display this properly?

Thanks!
Russ Lewis

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]