Summary: | 'emerge openjade' fails | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Vadym Karpenko <karpenko> |
Component: | Current packages | Assignee: | Alastair Tse (RETIRED) <liquidx> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Vadym Karpenko
2003-06-26 05:14:10 UTC
I fixed this app-text/openjade-1.3.1-r6 but only on my machine. It didn't work with gcc 3.2 and 3.3. One include/Attribute.h had a forward declaration of the AttributeValue class, the other class AttributeDefinitionDesc uses the AttributeValue as a template parameter of the ConstPtr ( ConstPtr<AttributeValue> defaultValue; ), but the ConstPtr template wants to call some functions from the parameter. I have just shifted the AttributeValue definition to the top of the file and it compiles. The second problem, that I found later, is in the file grove/Node.cxx The file has 'nice' macros, that gcc 3.3 doesn't want to preprocess. I have no information about gcc 3.2. [code] switch (type) { #define ENUM(e, E) case EntityType::##e: value.set(ComponentName::id##E); break; ENUM(text, Text) ENUM(cdata, Cdata) ENUM(sdata, Sdata) ENUM(ndata, Ndata) ENUM(pi, Pi) ENUM(subdocument, Subdocument) #undef ENUM [/code] There are plenty of the macroses in the file with the same idea. I extracted all of them and it fixed the problem it should work under 3.2.3, there are problems with 3.3 with many c++ applications. well, right now gcc3.3 isn't supported so i'm not going to fix those compile bugs just yet, unless you can supply me with a patch or try openjade-1.3.2 |