| Summary: | Compilation of giflib fails with error: redefinition of typedef 'bool' | ||
|---|---|---|---|
| Product: | [Unmaintained] kde-windows | Reporter: | dasaan.san |
| Component: | buildsystem | Assignee: | KDE-Windows <windows-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | major | CC: | dasaan.san |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Microsoft Windows | ||
| OS: | Microsoft Windows | ||
| Latest Commit: | http://commits.kde.org/emerge/ba03bdecc75e08e0fd90159653e6846519422b91 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: | patch against: emerge\portage\win32libs\giflib\giflib-5.0.5-20130916.diff | ||
Compiler details: mingw as installed via emerge c:\kdeRoot>gcc -v Using built-in specs. Target: i686-w64-mingw32 Configured with: ../gcc44-svn/configure --host=i686-w64-mingw32 --target=i686-w64-mingw32 --disable-multilib --enable-checking=release --prefix=/mingw32 --with-sysroot=/mingw32 --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libgomp --with-gmp=/mingw32 --with-mpfr=/mingw32 --disable-nls --disable-win32-registry Thread model: win32 gcc version 4.4.7 20111023 (prerelease) [svn/rev.180339 - mingw-w64/oz] (GCC) Created attachment 83035 [details]
patch against: emerge\portage\win32libs\giflib\giflib-5.0.5-20130916.diff
patch to prevent accidental re-declaration of the bool typedef
Git commit ba03bdecc75e08e0fd90159653e6846519422b91 by Nico Kruber. Committed on 09/11/2013 at 22:27. Pushed by nkruber into branch 'kde-4.11'. fix giflib on mingw (patch from dasaan.san@gmail.com) M +3 -1 portage/win32libs/giflib/giflib-5.0.5-20130916.diff http://commits.kde.org/emerge/ba03bdecc75e08e0fd90159653e6846519422b91 |
Whilst trying to emerge kdelibs giflib fails to compile with several errors stating: error: redefinition of typedef 'bool' in one instance the files referenced are: dgif_lib.c:24 gif_lib.h:13 stdbool.h:5 dgif_lib.c contains the following: #ifdef _WIN32 #include <stdbool.h> ... #include "gif_lib.h" stdbool.h contains: #ifndef __cplusplus typedef int bool; ... and gif_lib.h contains: #ifdef __cplusplus extern "C" { #else typedef int bool; #endif /* __cplusplus */ therefore if __cplusplus is not defined then the typedef for bool is declared twice. This also occurs in: egif_lib.c Reproducible: Always Steps to Reproduce: 1. emerge kdelibs 2. 3. Actual Results: emerge of kdelibs fails whilst trying to compile giflib Expected Results: compilation of giflib should have completed successfully and emerge should have then gone on to compile the remainder of kdelibs