I wanted to install kdevelop. It depends on openjade. actual version of openjade is openjade-1.3.1-r6 Reproducible: Always Steps to Reproduce: 1.Install gentoo , stage 3 2. emerge openjade Actual Results: term output emerge openjade ........... skipped ........... g++ -O2 -fno-implicit-templates -I. -I./../include -I./../generic -DPACKAGE=\"openjade\" -DVERSION=\"1.3.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 -DHAVE_ST_BLKSIZE=1 -DSIZEOF_SIZE_T=4 -DSIZEOF_UNSIGNED_INT=4 -DSP_HAVE_LOCALE=1 -DSP_HAVE_WCHAR=1 -DSP_HAVE_GETTEXT=1 -DSIZE_T_IS_UINT=1 -DSP_HAVE_BOOL=1 -DSP_ANSI_CLASS_INST=1 -DSP_HAVE_SOCKET=1 -DJADE_MIF=1 -DJADE_HTML=1 -DSP_MULTI_BYTE=1 -DSGML_CATALOG_FILES_DEFAULT=\"/etc/sgml/catalog\" -DSGML_SEARCH_PATH_DEFAULT=\"/usr/share/sgml\" -DHAVE_DLFCN_H=1 -DDEFAULT_SCHEME_BUILTINS=\"/usr/share/sgml/openjade-1.3.1/builtins.dsl\" -c parser_inst.cxx -fPIC -DPIC In file included from parser_inst.cxx:36: ../include/Ptr.cxx: In destructor `Ptr<T>::~Ptr() [with T = AttributeValue]': ../include/Ptr.h:55: instantiated from `ConstPtr<T>::ConstPtr() [with T = AttributeValue]' ../include/Attribute.h:36: instantiated from here ../include/Ptr.cxx:22: error: `unref' undeclared (first use this function) ../include/Ptr.cxx:22: error: (Each undeclared identifier is reported only once for each function it appears in.) ../include/Ptr.cxx:23: warning: invalid use of undefined type `struct AttributeValue' ../include/Attribute.h:28: warning: forward declaration of `struct AttributeValue' In file included from ../include/UnivCharsetDesc.h:13, from ../include/CharsetInfo.h:11, from ../include/Sd.h:13, from ../include/Markup.h:13, from ../include/Entity.h:22, from ../include/Dtd.h:14, from parser_inst.cxx:40: ../include/RangeMap.h: At global scope: ../include/RangeMap.h:57: warning: `Vector<RangeMapRange<From, To> >::const_iterator' is implicitly a typename ../include/RangeMap.h:57: warning: implicit typename is deprecated, please see the documentation for details In file included from Recognizer.h:15, from parser_inst.cxx:61: ../include/Owner.cxx: In destructor `Owner<T>::~Owner() [with T = BlankTrie]': ../include/CopyOwner.h:16: instantiated from `CopyOwner<T>::CopyOwner() [with T = BlankTrie]' Trie.h:22: instantiated from here ../include/Owner.cxx:15: warning: invalid use of undefined type `struct BlankTrie' Trie.h:18: warning: forward declaration of `struct BlankTrie' make[2]: *** [parser_inst.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/openjade-1.3.1-r6/work/openjade-1.3.1/lib' make[1]: *** [lib] Error 2 make[1]: Leaving directory `/var/tmp/portage/openjade-1.3.1-r6/work/openjade-1.3.1' make: *** [all] Error 2 !!! ERROR: app-text/openjade-1.3.1-r6 failed. !!! Function src_compile, Line 52, Exitcode 2 !!! (no error message) emerge info: Portage 2.0.48-r1 (default-x86-1.4, gcc-3.3, glibc-2.3.1-r4) ================================================================= System uname: 2.4.20-gentoo-r5 i686 AMD Athlon(tm) Processor GENTOO_MIRRORS="http://highlander ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss 3dnow apm avi crypt encode gif jpeg libg++ mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib alsa gdbm berkdb slang readline arts svga java X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis motif opengl mozilla qt kde samba -gnome -gtk cups" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon -mmmx -m3dnow -fomit-frame-pointer -O2 -pipe" CXXFLAGS="-march=athlon -mmmx -m3dnow -fomit-frame-pointer -O2 -pipe" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j3" AUTOCLEAN="yes" SYNC="rsync://highlander/gentoo-portage" FEATURES="sandbox ccache"
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