gcc 从5.3升级到6.1之后 openwrt pkg-config glib编译报错修复办法

  • 报错

01 /usr/bin/env bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../glib -I../glib -I..  -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DGLIB_COMPILATION -DPCRE_STATIC -I/media/kofec/Linux/openwrt/kirkwoodTrunk/staging_dir/host/include -I/media/kofec/Linux/openwrt/kirkwoodTrunk/staging_dir/host/usr/include  -pthread -Wall -Wstrict-prototypes -Werror=declaration-after-statement -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=format=2 -fvisibility=hidden -O2 -I/media/kofec/Linux/openwrt/kirkwoodTrunk/staging_dir/host/include -I/media/kofec/Linux/openwrt/kirkwoodTrunk/staging_dir/host/usr/include  -MT libglib_2_0_la-gdate.lo -MD -MP -MF .deps/libglib_2_0_la-gdate.Tpo -c -o libglib_2_0_la-gdate.lo `test -f 'gdate.c' || echo './'`gdate.c
02 libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../glib -I../glib -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DGLIB_COMPILATION -DPCRE_STATIC -I/media/kofec/Linux/openwrt/kirkwoodTrunk/staging_dir/host/include -I/media/kofec/Linux/openwrt/kirkwoodTrunk/staging_dir/host/usr/include -pthread -Wall -Wstrict-prototypes -Werror=declaration-after-statement -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=format=2 -fvisibility=hidden -O2 -I/media/kofec/Linux/openwrt/kirkwoodTrunk/staging_dir/host/include -I/media/kofec/Linux/openwrt/kirkwoodTrunk/staging_dir/host/usr/include -MT libglib_2_0_la-gdate.lo -MD -MP -MF .deps/libglib_2_0_la-gdate.Tpo -c gdate.c -o libglib_2_0_la-gdate.o
03 gdate.c: In function 'g_date_strftime':
04 gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
05        tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
06        ^~~~~~
07 cc1: some warnings being treated as errors
08 make[10]: *** [libglib_2_0_la-gdate.lo] Error 1
09 make[10]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk/build_dir/host/pkg-config-0.29.1/glib/glib'
10 make[9]: *** [all-recursive] Error 1
11 make[9]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk/build_dir/host/pkg-config-0.29.1/glib/glib'
12 make[8]: *** [all] Error 2
13 make[8]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk/build_dir/host/pkg-config-0.29.1/glib/glib'
14 make[7]: *** [all-recursive] Error 1
15 make[7]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk/build_dir/host/pkg-config-0.29.1/glib'
16 make[6]: *** [all] Error 2
17 make[6]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk/build_dir/host/pkg-config-0.29.1/glib'
18 make[5]: *** [all-recursive] Error 1
19 make[5]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk/build_dir/host/pkg-config-0.29.1'
20 make[4]: *** [all] Error 2
21 make[4]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk/build_dir/host/pkg-config-0.29.1'
22 make[3]: *** [/media/kofec/Linux/openwrt/kirkwoodTrunk/build_dir/host/pkg-config-0.29.1/.built] Error 2
23 make[3]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk/tools/pkg-config'
24 make[2]: *** [tools/pkg-config/compile] Error 2
25 make[2]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk'
26 make[1]: *** [/media/kofec/Linux/openwrt/kirkwoodTrunk/staging_dir/target-arm_xscale_musl-1.1.14_eabi/stamp/.tools_install_yynyynynynyyyyyyynyyynyyyyyyyyynyyyyynnyynynnyyynnnyy] Error 2
27 make[1]: Leaving directory `/media/kofec/Linux/openwrt/kirkwoodTrunk'

修复

 
01 >  +--- glib/gdate.c.orig 2014-12-19 21:49:48.000000000 +0000
02 >  ++++ glib/gdate.c
03 >  +@@ -2494,7 +2494,10 @@ g_date_strftime (gchar       *s,
04 >  +        * recognize whether strftime actually failed or just returned "".
05 >  +        */
06 >  +       tmpbuf[0] = '\1';
07 >  ++      #pragma GCC diagnostic push
08 >  ++      #pragma GCC diagnostic ignored "-Wformat-nonliteral"
09 >  +       tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
10 >  ++      #pragma GCC diagnostic pop
11 >  +
12 >  +       if (tmplen == 0 && tmpbuf[0] != '\0')
13 >  +         {

 

posted @ 2017-06-29 14:00  ~Silence~  阅读(1373)  评论(0编辑  收藏  举报