Skip to contentSkip to conversation

libsvgtiny: disable -Werror

PATCH New Vicente Olivert Riera 2 participants 3 messages Dec 10, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libsvgtiny: disable -Werror

glibc-2.20 includes some changes to the include/features.h file introduced by this commit:

https://sourceware.org/git/?p=glibc.git;a=commit;h=ade40b10ff5fa59a318cf55b9d8414b758e8df78

Those changes make libsvgtiny fail because some warnings are thrown and the build system is using the -Werror option. We disable this to be able to build it, or otherwise we will see errors like this one:

GPERF: src/colors.gperf
COMPILE: build-Linux-Linux-release-lib-static/src_colors.c
In file included from /br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/string.h:25:0,
from src/colors.gperf:16:
/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/features.h:148:3:
error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Werror=cpp]

and this one:

In file included from src/colors.gperf:18:0:
/home/ldap/vriera/work/mips-buildroots/mips32/output/build/libsvgtiny-12121/src/svgtiny_internal.h:71:0:
error: "strndup" redefined [-Werror]

Fixes:
http://autobuild.buildroot.net/results/3dd/3dd700405055750262738f867eb5aa08531f5781/

---
 package/libsvgtiny/libsvgtiny.mk |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
package/libsvgtiny/libsvgtiny.mk +5 -0
index a2d494e..2c33f79 100644
@@ -25,4 +25,9 @@ define LIBSVGTINY_INSTALL_TARGET_CMDS
 		$(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) install
 endef
 
+define LIBSVGTINY_DISABLE_WERROR
+	$(SED) 's/-Werror//' $(@D)/Makefile
+endef
+LIBSVGTINY_POST_CONFIGURE_HOOKS += LIBSVGTINY_DISABLE_WERROR
+
 $(eval $(generic-package))
Signature · 1 line
1.7.1
#1 lore raw

PATCH 1/1 libsvgtiny: disable -Werror

Dear Vicente Olivert Riera,

Quoted 24 lines · Vicente Olivert Riera

glibc-2.20 includes some changes to the include/features.h file introduced by this commit:

https://sourceware.org/git/?p=glibc.git;a=commit;h=ade40b10ff5fa59a318cf55b9d8414b758e8df78

Those changes make libsvgtiny fail because some warnings are thrown and the build system is using the -Werror option. We disable this to be able to build it, or otherwise we will see errors like this one:

GPERF: src/colors.gperf
COMPILE: build-Linux-Linux-release-lib-static/src_colors.c
In file included from /br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/string.h:25:0,
from src/colors.gperf:16:
/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/features.h:148:3:
error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Werror=cpp]

and this one:

In file included from src/colors.gperf:18:0:
/home/ldap/vriera/work/mips-buildroots/mips32/output/build/libsvgtiny-12121/src/svgtiny_internal.h:71:0:
error: "strndup" redefined [-Werror]

Quoted 5 lines

Fixes:
http://autobuild.buildroot.net/results/3dd/3dd700405055750262738f867eb5aa08531f5781/

If you have some time, it would be good to report upstream that they shouldn't use -Werror, and to fix the warnings themselves.

Thanks a lot!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 libsvgtiny: disable -Werror

In reply to Vicente Olivert Riera

Dear Vicente Olivert Riera,

package/libsvgtiny/libsvgtiny.mk define LIBSVGTINY_INSTALL_TARGET_CMDS · line 31

Quoted 4 lines · Vicente Olivert Riera
package/libsvgtiny/libsvgtiny.mk +4 -0
+define LIBSVGTINY_DISABLE_WERROR
+	$(SED) 's/-Werror//' $(@D)/Makefile
+endef
+LIBSVGTINY_POST_CONFIGURE_HOOKS += LIBSVGTINY_DISABLE_WERROR

As discussed on IRC, I would prefer this to be done using a patch rather than a $(SED) command, for several reasons:

* A $(SED) command that replaces some random string can start breaking when we bump the libsvgtiny Makefile, as it might start replacing other things than what was intended.

* We will never notice when the $(SED) command will no longer be useful. With a patch, when we'll bump libsvgtiny, we'll get some conflict when re-applying the patch on the new version of libsvgtiny, and so we'll see if we can drop the patch, or if we need to re-adjust the patch.

Care to resend as a patch instead?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com