ports/172300: [patch] multimedia/w_scan fails to build using clang
Miklos Magyari
magyarimiki at gmail.com
Wed Oct 3 10:50:09 UTC 2012
>Number: 172300
>Category: ports
>Synopsis: [patch] multimedia/w_scan fails to build using clang
>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 Oct 03 10:50:08 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Miklos Magyari
>Release: 9.0-RELEASE
>Organization:
>Environment:
FreeBSD mira 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
multimedia/w_scan fails to build using clang:
[...snip...]
===> Building for w_scan-20120415
make all-am
clang -DHAVE_CONFIG_H -I. -I/usr/local/include -Wall -Wextra -Wno-comment -Wswitch-default -Wno-unused-parameter -O2 -pipe -fno-strict-aliasing -MT atsc_psip_section.o -MD -MP -MF .deps/atsc_psip_section.Tpo -c -o atsc_psip_section.o atsc_psip_section.c
clang -DHAVE_CONFIG_H -I. -I/usr/local/include -Wall -Wextra -Wno-comment -Wswitch-default -Wno-unused-parameter -O2 -pipe -fno-strict-aliasing -MT countries.o -MD -MP -MF .deps/countries.Tpo -c -o countries.o countries.c
countries.c:561:19: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
mv -f .deps/atsc_psip_section.Tpo .deps/atsc_psip_section.Po
{"AX", AX, "<C5>LAND ISLANDS"}, /*ALA, 248},*/
^
countries.c:614:19: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
{"CI", CI, "C<D4>TE D'IVOIRE"}, /*CIV, 384},*/
^
countries.c:617:19: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
{"CW", CW, "CURA<C7>AO"}, /*CUW, 531},*/
^
countries.c:740:19: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
{"RE", RE, "R<C9>UNION"}, /*REU, 638},*/
^
countries.c:744:19: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
{"BL", BL, "SAINT BARTH<C9>LEMY"}, /*BLM, 652},*/
^
clang -DHAVE_CONFIG_H -I. -I/usr/local/include -Wall -Wextra -Wno-comment -Wswitch-default -Wno-unused-parameter -O2 -pipe -fno-strict-aliasing -MT descriptors.o -MD -MP -MF .deps/descriptors.Tpo -c -o descriptors.o descriptors.c
descriptors.c:1014:40: error: expected ';' at end of declaration
uint8_t LeapYear(uint16_t year) {
^
;
1 error generated.
*** [descriptors.o] Error code 1
5 warnings generated.
mv -f .deps/countries.Tpo .deps/countries.Po
1 error
*** [all] Error code 2
1 error
*** [do-build] Error code 1
Stop in /usr/ports/multimedia/w_scan.
*** [build] Error code 1
Stop in /usr/ports/multimedia/w_scan.
>How-To-Repeat:
# cd /usr/ports/multimedia/w_scan
# make
>Fix:
The code is using gnu C extensions. The following new patchfile under files/ fixes the issue:
# cat files/patch-descriptors.c
--- descriptors.c.orig 2012-10-03 12:39:42.000000000 +0200
+++ descriptors.c 2012-10-03 12:39:56.000000000 +0200
@@ -1000,6 +1000,16 @@
}
}
+__u8 LeapYear(__u16 year) {
+ if ((year % 400) == 0)
+ return 1;
+ else if ((year % 100) == 0)
+ return 0;
+ else if ((year % 4) == 0)
+ return 1;
+ return 0;
+}
+
/* 300468 v011101 annex C, Conversion between time and date conventions
* NOTE: These formulas are applicable between the inclusive dates 1900 March 1 to 2100 February 28.
@@ -1011,16 +1021,6 @@
int _M = (int) (MJD - 14956.1 - (int) (_Y * 365.25)) / 30.6001;
int K = (_M == 14) ? 1 : (_M == 15) ? 1 : 0;
- __u8 LeapYear(__u16 year) {
- if ((year % 400) == 0)
- return 1;
- else if ((year % 100) == 0)
- return 0;
- else if ((year % 4) == 0)
- return 1;
- return 0;
- }
-
memset(&utc, 0, sizeof(struct tm));
utc.tm_mday = MJD - 14956 - (int) (_Y * 365.25) - (int) (_M * 30.6001);
utc.tm_year = _Y + K;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list