Summary: | bogofilter fails to emerge | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Manuel Sabban <sabban> |
Component: | Current packages | Assignee: | Jeremy Huddleston (RETIRED) <eradicator> |
Status: | RESOLVED DUPLICATE | ||
Severity: | critical | CC: | amd64, eradicator, net-mail+disabled, plasmaroo |
Priority: | High | ||
Version: | 2005.0 | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 88107 | ||
Attachments: |
patch for sys-kernel/linux-headers
make create_ml_includes produce absolute links |
Description
Manuel Sabban
2005-04-07 09:29:01 UTC
CC AMD64 team for help. Created attachment 55581 [details, diff]
patch for sys-kernel/linux-headers
this patch should fix it (at least it worked here). plasmaroo: please check&fix
it ;)
argh, forgot to reassign plasmaroo: please check comment 2 Not a headers issue, to an extent: /* Common header file autogenerated by create_ml_includes in multilib.eclass */ system headers shouldn't include with "" as far as I know, so there's something wrong with the eclass. eradicator: is there a special reason for create_ml_includes() in multilib.eclass generating symlinks and not just set <asm-${arch}/errno.h>? blubb, it doesn't create symlinks. It creates stubs like: cat /usr/include/asm/processor.h /* Common header file autogenerated by create_ml_includes in multilib.eclass */ #ifdef __i386__ #include "../asm-i386/processor.h" #endif /* __i386__ */ #ifdef __x86_64__ #include "../asm-x86_64/processor.h" #endif /* __x86_64__ */ which works fine... eradicator: yes, sorry, that's what i meant... but it seems as those "../" are the problem, replacing them with <> works :S *slightly confused* hmm... I agree that <absolute> is more correct, but "relative" should work and is easier to generate... hmm... relative is relative to the initial source file, iirc, not relative to the file which includes it. Jeremy: <bla> is more correct - I agree - and actually, the " " notation has caused trouble with ltrace (the do an -I- in CFLAGS in their makefiles - there is a bug about it, still unresolved). Ah. And there's an -I- in here with bogofilter as well... I wonder why this hasn't been caught as an issue until just now =( I'm bumping the severity, but I won't be able to get to it for a while... Created attachment 55978 [details, diff]
make create_ml_includes produce absolute links
This patch to multilib.eclass changes create_ml_includes in order to produce
absolute links rather than the present relative ones. After applying this patch
and re-emerging linux-headers and glibc, both bogofilter and ltrace compile
without problems. Could use further testing however.
Hmm... that assumes the base directory is called 'include'... I don't like that assumption, but it works for our purposes, and I doubt anyone will have an oddly named include path. I'll test this out with glibc-2.3.5 and linux-headers and commit it before I commit the next glibc. *** This bug has been marked as a duplicate of 87560 *** Hi, same similar problem here. I just re-emerged linux-headers and I realized I've got both patches (attach 55581 and 55978); still, for some reason I cannot get bogofilter compiled :( (...) In file included from ./score.h:7, from globals.c:15: ./wordhash.h:10: error: parse error before "word_t" ./wordhash.h:10: warning: no semicolon at end of struct or union ./wordhash.h:14: error: parse error before '}' token ./wordhash.h:14: warning: type defaults to `int' in declaration of `hashnode_t' ./wordhash.h:14: warning: data definition has no type or storage class ./wordhash.h:17: error: parse error before "hashnode_t" ./wordhash.h:17: warning: no semicolon at end of struct or union ./wordhash.h:20: error: conflicting types for 'next' ./wordhash.h:12: error: previous declaration of 'next' was here ./wordhash.h:21: error: parse error before '}' token ./wordhash.h:21: warning: type defaults to `int' in declaration of `wh_alloc_node' ./wordhash.h:21: warning: data definition has no type or storage class ./wordhash.h:30: error: parse error before '*' token ./wordhash.h:30: warning: type defaults to `int' in declaration of `hashnode_pt' ./wordhash.h:30: warning: data definition has no type or storage class ./wordhash.h:37: error: parse error before "uint" ./wordhash.h:37: warning: no semicolon at end of struct or union ./wordhash.h:38: warning: type defaults to `int' in declaration of `count' ./wordhash.h:38: warning: data definition has no type or storage class ./wordhash.h:39: error: parse error before "size" ./wordhash.h:39: warning: type defaults to `int' in declaration of `size' ./wordhash.h:39: warning: data definition has no type or storage class ./wordhash.h:41: error: parse error before '*' token ./wordhash.h:41: warning: type defaults to `int' in declaration of `bin' ./wordhash.h:41: warning: data definition has no type or storage class ./wordhash.h:42: error: parse error before '*' token ./wordhash.h:42: warning: type defaults to `int' in declaration of `nodes' ./wordhash.h:42: warning: data definition has no type or storage class ./wordhash.h:45: error: parse error before '*' token ./wordhash.h:45: warning: type defaults to `int' in declaration of `iter_ptr' ./wordhash.h:45: warning: data definition has no type or storage class ./wordhash.h:46: error: parse error before '*' token ./wordhash.h:46: warning: type defaults to `int' in declaration of `iter_head' ./wordhash.h:46: warning: data definition has no type or storage class ./wordhash.h:47: error: parse error before '*' token ./wordhash.h:47: warning: type defaults to `int' in declaration of `iter_tail' ./wordhash.h:47: warning: data definition has no type or storage class ./wordhash.h:49: error: parse error before '*' token ./wordhash.h:49: warning: type defaults to `int' in declaration of `order' ./wordhash.h:49: warning: data definition has no type or storage class ./wordhash.h:50: error: parse error before '*' token ./wordhash.h:50: warning: type defaults to `int' in declaration of `props' ./wordhash.h:50: warning: data definition has no type or storage class ./wordhash.h:51: error: parse error before '*' token ./wordhash.h:51: warning: type defaults to `int' in declaration of `cnts' ./wordhash.h:51: warning: data definition has no type or storage class ./wordhash.h:52: error: parse error before '}' token ./wordhash.h:52: warning: type defaults to `int' in declaration of `wordhash_t' ./wordhash.h:52: warning: data definition has no type or storage class ./wordhash.h:54: error: parse error before '*' token ./wordhash.h:54: warning: type defaults to `int' in declaration of `wordhash_new' ./wordhash.h:54: warning: data definition has no type or storage class ./wordhash.h:55: error: parse error before '*' token ./wordhash.h:55: error: parse error before "uint" ./wordhash.h:55: warning: type defaults to `int' in declaration of `wordhash_init' ./wordhash.h:55: warning: function declaration isn't a prototype ./wordhash.h:55: warning: data definition has no type or storage class ./wordhash.h:57: error: parse error before '*' token ./wordhash.h:57: warning: function declaration isn't a prototype ./wordhash.h:58: error: parse error before '*' token ./wordhash.h:58: warning: function declaration isn't a prototype ./wordhash.h:59: error: parse error before '*' token ./wordhash.h:59: warning: function declaration isn't a prototype ./wordhash.h:60: error: parse error before '*' token ./wordhash.h:60: error: parse error before ')' token ./wordhash.h:61: error: parse error before '*' token ./wordhash.h:61: warning: function declaration isn't a prototype ./wordhash.h:63: warning: type defaults to `int' in declaration of `wordhash_t' ./wordhash.h:63: warning: declaration of 'wordhash_t' shadows a global declaration ./wordhash.h:52: warning: shadowed declaration is here ./wordhash.h:63: error: parse error before '*' token ./wordhash.h:63: warning: function declaration isn't a prototype ./wordhash.h:68: error: parse error before '*' token ./wordhash.h:68: error: parse error before ')' token ./wordhash.h:71: error: parse error before '*' token ./wordhash.h:71: warning: function declaration isn't a prototype ./wordhash.h:74: error: parse error before '*' token ./wordhash.h:74: warning: function declaration isn't a prototype ./wordhash.h:76: error: parse error before '*' token ./wordhash.h:76: warning: function declaration isn't a prototype ./wordhash.h:77: error: parse error before '*' token ./wordhash.h:77: warning: function declaration isn't a prototype ./wordhash.h:78: error: parse error before '*' token ./wordhash.h:78: error: parse error before '*' token ./wordhash.h:78: warning: type defaults to `int' in declaration of `convert_propslist_to_countlist' ./wordhash.h:78: warning: function declaration isn't a prototype ./wordhash.h:78: warning: data definition has no type or storage class ./wordhash.h:79: error: parse error before '*' token ./wordhash.h:79: error: parse error before '*' token ./wordhash.h:79: warning: type defaults to `int' in declaration of `convert_wordhash_to_propslist' ./wordhash.h:79: warning: function declaration isn't a prototype ./wordhash.h:79: warning: data definition has no type or storage class ./wordhash.h:83: warning: type defaults to `int' in declaration of `word_t' ./wordhash.h:83: warning: declaration of 'word_t' shadows a global declaration ./word.h:21: warning: shadowed declaration is here ./wordhash.h:83: error: parse error before '*' token ./wordhash.h:83: warning: function declaration isn't a prototype In file included from globals.c:15: ./score.h:18: error: parse error before "u_int32_t" ./score.h:18: warning: no semicolon at end of struct or union ./score.h:23: error: parse error before '}' token ./score.h:23: warning: type defaults to `int' in declaration of `score_t' ./score.h:23: warning: data definition has no type or storage class ./score.h:28: error: parse error before '*' token ./score.h:28: warning: function declaration isn't a prototype globals.c:62: error: parse error before "db_cachesize" globals.c:62: warning: type defaults to `int' in declaration of `db_cachesize' globals.c:62: warning: data definition has no type or storage class globals.c:70: error: parse error before "wordlist_version" globals.c:70: warning: type defaults to `int' in declaration of `wordlist_version' globals.c:70: warning: data definition has no type or storage class {standard input}: Assembler messages: {standard input}:475: Error: symbol `next' is already defined make[3]: *** [globals.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/bogofilter-0.92.8/work/bogofilter-0.92.8/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/bogofilter-0.92.8/work/bogofilter-0.92.8/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/bogofilter-0.92.8/work/bogofilter-0.92.8/src' make: *** [all-recursive] Error 1 !!! ERROR: mail-filter/bogofilter-0.92.8 failed. !!! Function src_compile, Line 556, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message. Any ideas? Lucero, posting in a resolved bug will normally get you ignored... you're pretty lucky that I actually saw this... Also, when providing output from compilation, you need to provide everything from the bottom of the log up to the gcc command that produced the problem (and maybe more). The important error message is contained somewhere in your "(...)" oh, and youu need to recompile glibc to get this fixed. |