ports/171575: [patch] sysutils/uhidd: make it work with clang (encoding-related)
Vitaly Magerya
vmagerya at gmail.com
Wed Sep 12 14:50:03 UTC 2012
>Number: 171575
>Category: ports
>Synopsis: [patch] sysutils/uhidd: make it work with clang (encoding-related)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Sep 12 14:50:02 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Vitaly Magerya
>Release: FreeBSD 9.1-RC1 amd64
>Organization:
>Environment:
>Description:
Currently building sysutils/uhidd does not work if you set
CC=clang in make.conf:
usage_in_page.c:4602:11: error: illegal character encoding
in string literal [-Werror,-Winvalid-source-encoding]
return("Horizontal Moir<E9>");
^
usage_in_page.c:4604:11: error: illegal character encoding
in string literal [-Werror,-Winvalid-source-encoding]
return("Vertical Moir<E9>");
^
2 errors generated.
It appears that GCC defaults to UTF-8, while clang can only
handle ASCII, so combination of UTF-8 and -Werror causes errors.
>How-To-Repeat:
>Fix:
There are two ways of fixing this: one is to change non-ASCII
characters into escape sequences like this:
diff -ruN uhidd.orig/files/patch-uhidd-usage_in_page.awk uhidd/files/patch-uhidd-usage_in_page.awk
--- uhidd.orig/files/patch-uhidd-usage_in_page.awk 1970-01-01 03:00:00.000000000 +0300
+++ uhidd/files/patch-uhidd-usage_in_page.awk 2012-09-12 17:17:33.000000000 +0300
@@ -0,0 +1,10 @@
+--- uhidd/usage_in_page.awk.orig 2012-09-12 17:15:02.000000000 +0300
++++ uhidd/usage_in_page.awk 2012-09-12 17:16:54.000000000 +0300
+@@ -33,6 +33,7 @@
+ str = substr($0, index($0, $2), length)
+ gsub(/\\/, "\\\\", str)
+ gsub("\"", "\\\"", str)
++ gsub("Moir.*", "Moir\\xc3\\xa9", str);
+ printf("\t\t\treturn(\"%s\");\n", str);
+ }
+ }
Another (and I think this is a slightly better fix) is to simply
disable -Werror; see the attached patch.
Patch attached with submission follows:
diff -ruN uhidd.orig/Makefile uhidd/Makefile
--- uhidd.orig/Makefile 2012-09-12 16:42:14.000000000 +0300
+++ uhidd/Makefile 2012-09-12 17:30:06.000000000 +0300
@@ -34,6 +34,8 @@
.include <bsd.port.pre.mk>
+MAKE_ENV+= NO_WERROR=y
+
.if defined(DEBUG_FLAGS)
MAKE_ENV+= DEBUG_FLAGS='${DEBUG_FLAGS}'
.endif
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list