View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001055 | libextractor | libextractor main library | public | 2006-04-26 22:46 | 2006-04-29 20:56 |
| Reporter | squinky86 | Assigned To | Christian Grothoff | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | Git master | ||||
| Summary | 0001055: include order will cause compile to fail due to nls issues | ||||
| Description | If gcc and glibc were compiled with or without nls support and libextractor is compiled in the opposite manor, compile errors will occur due to include order being incorrect: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../../src/include -I../../../src/include -march=athlon64 -O3 -pipe -fomit-frame-pointer -funroll-loops -MT wordextractor.lo -MD -MP -MF .deps/wordextractor.Tpo -c wordextractor.cc -fPIC -DPIC -o .libs/wordextractor.o In file included from /usr/include/libintl.h:8, from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include/g++-v3/x86_64-pc-linux-gnu/bits/c++locale.h:46, from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include/g++-v3/iosfwd:46, from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include/g++-v3/bits/stl_algobase.h:70, from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include/g++-v3/bits/char_traits.h:46, from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include/g++-v3/string:47, from wordleaker.h:26, from wordextractor.cc:31: /usr/include/gentoo-multilib/amd64/libintl.h:40: error: expected unqualified-id before "const" /usr/include/gentoo-multilib/amd64/libintl.h:40: error: expected `)' before "const" /usr/include/gentoo-multilib/amd64/libintl.h:40: error: expected `)' before "const" /usr/include/gentoo-multilib/amd64/libintl.h:40: error: expected initializer before "const" /usr/include/gentoo-multilib/amd64/libintl.h:45: error: expected unqualified-id before "const" /usr/include/gentoo-multilib/amd64/libintl.h:45: error: expected `)' before "const" /usr/include/gentoo-multilib/amd64/libintl.h:45: error: expected `)' before "const" /usr/include/gentoo-multilib/amd64/libintl.h:45: error: expected initializer before "const" /usr/include/gentoo-multilib/amd64/libintl.h:52: error: expected unqualified-id before "const" /usr/include/gentoo-multilib/amd64/libintl.h:52: error: expected `)' before "const" /usr/include/gentoo-multilib/amd64/libintl.h:52: error: expected `)' before "const" /usr/include/gentoo-multilib/amd64/libintl.h:52: error: expected initializer before "const" /usr/include/gentoo-multilib/amd64/libintl.h:62: error: expected unqualified-id before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:62: error: expected `)' before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:62: error: expected `)' before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:62: error: expected initializer before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:68: error: expected unqualified-id before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:68: error: expected `)' before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:68: error: expected `)' before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:68: error: expected initializer before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:74: error: expected unqualified-id before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:74: error: expected `)' before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:74: error: expected `)' before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:74: error: expected initializer before "unsigned" /usr/include/gentoo-multilib/amd64/libintl.h:83: error: expected unqualified-id before "throw" /usr/include/gentoo-multilib/amd64/libintl.h:83: error: expected initializer before "throw" /usr/include/gentoo-multilib/amd64/libintl.h:87: error: expected unqualified-id before "throw" /usr/include/gentoo-multilib/amd64/libintl.h:87: error: expected initializer before "throw" /usr/include/gentoo-multilib/amd64/libintl.h:92: error: expected unqualified-id before "const" /usr/include/gentoo-multilib/amd64/libintl.h:92: error: expected `)' before "const" /usr/include/gentoo-multilib/amd64/libintl.h:92: error: expected `)' before "const" /usr/include/gentoo-multilib/amd64/libintl.h:92: error: expected initializer before "const" make[3]: *** [wordextractor.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/libextractor-0.5.12/work/libextractor-0.5.12/src/plugins/wordleaker' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/libextractor-0.5.12/work/libextractor-0.5.12/src/plugins' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/libextractor-0.5.12/work/libextractor-0.5.12/src' make: *** [all-recursive] Error 1 There are two files that exhibit this behavior: exiv2extractor.cc and wordextractor.cc. By declaring the generic includes first, then the package-specific includes, this issue can be avoided. Attached is a patch that adjusts the include order. | ||||
| Additional Information | gentoo linux, glibc-2.4, amd64 | ||||
| Tags | No tags attached. | ||||
| Attached Files | extractor.patch (1,438 bytes)
diff -Naur libextractor-0.5.12/src/plugins/exiv2/exiv2extractor.cc libextractor-0.5.12.working/src/plugins/exiv2/exiv2extractor.cc
--- libextractor-0.5.12/src/plugins/exiv2/exiv2extractor.cc 2006-03-10 18:12:32.000000000 -0600
+++ libextractor-0.5.12.working/src/plugins/exiv2/exiv2extractor.cc 2006-04-27 01:11:51.000000000 -0500
@@ -23,19 +23,18 @@
@date 30-Jun-05, ahu: created
*/
-#include "platform.h"
-#include "extractor.h"
-
-#include "exif.hpp"
-#include "image.hpp"
-#include "futils.hpp"
-
#include <iostream>
#include <iomanip>
#include <cassert>
#include <cstring>
#include <math.h>
+#include "platform.h"
+#include "extractor.h"
+
+#include "exif.hpp"
+#include "image.hpp"
+#include "futils.hpp"
#define WORKAROUND_905 1
#if WORKAROUND_905
diff -Naur libextractor-0.5.12/src/plugins/wordleaker/wordextractor.cc libextractor-0.5.12.working/src/plugins/wordleaker/wordextractor.cc
--- libextractor-0.5.12/src/plugins/wordleaker/wordextractor.cc 2006-04-05 02:50:51.000000000 -0500
+++ libextractor-0.5.12.working/src/plugins/wordleaker/wordextractor.cc 2006-04-27 01:13:01.000000000 -0500
@@ -22,15 +22,14 @@
the README file in this directory.
*/
-#include "platform.h"
-#include "extractor.h"
-#include "../convert.h"
#include <math.h>
#include <time.h>
#include "wordleaker.h"
#include "pole.h"
-
+#include "platform.h"
+#include "extractor.h"
+#include "../convert.h"
extern "C" {
| ||||
|
|
Fixed in SVN 0002683. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2006-04-26 22:46 | squinky86 | New Issue | |
| 2006-04-26 22:46 | squinky86 | File Added: extractor.patch | |
| 2006-04-28 18:07 | Christian Grothoff | Status | new => resolved |
| 2006-04-28 18:07 | Christian Grothoff | Resolution | open => fixed |
| 2006-04-28 18:07 | Christian Grothoff | Assigned To | => Christian Grothoff |
| 2006-04-28 18:07 | Christian Grothoff | Note Added: 0002550 | |
| 2006-04-29 20:56 | Christian Grothoff | Status | resolved => closed |