Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 180643 - dev-util/synopsis-0.8 fails with extra qualification error on > gcc-3.4.*
Summary: dev-util/synopsis-0.8 fails with extra qualification error on > gcc-3.4.*
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo TreeCleaner Project
URL: http://synopsis.fresco.org/issues/bug82
Whiteboard: Vote
Keywords:
Depends on:
Blocks: 117482
  Show dependency tree
 
Reported: 2007-06-02 13:58 UTC by Kent Fredric (IRC: kent\n) (RETIRED)
Modified: 2007-09-04 04:28 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2007-06-02 13:58:59 UTC
This looks to  be a GCC3->GCC4 transitioning problem.

It looks like the problem is feasibly fixed upstream in 0.8.1 and 0.9, but neither of those are in portage.

Several Problems.

g++ -I . -I /tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src -I /tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/gc/include -pthread -O2 -march=i686 -mtune=athlon-xp -pipe -ggdb3 -gstabs3 -fPIC -c -o tools/display-ptree.o /tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/tools/display-ptree.cc
/tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/gc/include/gc_cpp.h:178: error: extra qualification ‘gc::’ on member ‘operator delete []’

This looks like the standard problem a lot of apps had in the GCC3-> GCC4 transition phase. Still compiles fine with 3.4.6-r2

a semi educated guess from my experience with this bug is 

-#   ifndef __BORLANDC__
-      inline void gc::operator delete[]( void*, void* );
-#   endif

+#   ifndef __BORLANDC__
+      inline void operator delete[]( void*, void* );
+#   endif

 Having made this change myself, compiling then proceeds normally untill the next problem, thus solving bug #1.

Bug number 2 then turns up, 

/tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/SymbolLookup/Scope.hh: In constructor ‘Synopsis::SymbolLookup::FunctionScope::FunctionScope(const Synopsis::PTree::Declaration*, Synopsis::SymbolLookup::PrototypeScope*, const Synopsis::SymbolLookup::Scope*)’:
/tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/SymbolLookup/Scope.hh:70: error: ‘typedef class std::multimap<Synopsis::PTree::Encoding, const Synopsis::SymbolLookup::Symbol*, std::less<Synopsis::PTree::Encoding>, std::allocator<std::pair<const Synopsis::PTree::Encoding, const Synopsis::SymbolLookup::Symbol*> > > Synopsis::SymbolLookup::Scope::SymbolTable’ is private
/tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/SymbolLookup/Scopes.cc:44: error: within this context
/tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/SymbolLookup/Scope.hh: In member function ‘Synopsis::SymbolLookup::Namespace* Synopsis::SymbolLookup::Namespace::find_namespace(const Synopsis::PTree::NamespaceSpec*) const’:
/tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/SymbolLookup/Scope.hh:75: error: ‘typedef class std::map<const Synopsis::PTree::Node*, Synopsis::SymbolLookup::Scope*, std::less<const Synopsis::PTree::Node*>, std::allocator<std::pair<const Synopsis::PTree::Node* const, Synopsis::SymbolLookup::Scope*> > > Synopsis::SymbolLookup::Scope::ScopeTable’ is private
/tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/SymbolLookup/Scopes.cc:206: error: within this context
make: *** [Synopsis/SymbolLookup/Scopes.o] Error 1

This bug was also reported upstream under windows at given link, but their patch neither fixes the problem /or/ relates much to the source code, but I think thats also a transitioning problem, which for me at least, can be gotten around by going back to the old compiler. 

PATH=/usr/i686-pc-linux-gnu/gcc-bin/3.4.X/:$PATH make
compiling Synopsis/SymbolLookup/Scopes.o
g++ -I . -I /tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src -I /tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/gc/include -pthread -O2 -march=i686 -mtune=athlon-xp -pipe -ggdb3 -gstabs3 -fPIC -c -o Synopsis/SymbolLookup/Scopes.o /tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/SymbolLookup/Scopes.cc
compiling Synopsis/SymbolLookup/Display.o
g++ -I . -I /tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src -I /tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/gc/include -pthread -O2 -march=i686 -mtune=athlon-xp -pipe -ggdb3 -gstabs3 -fPIC -c -o Synopsis/SymbolLookup/Display.o /tmp/..var/portage/dev-util/synopsis-0.8/work/synopsis-0.8/src/Synopsis/SymbolLookup/Display.cc




Summary of Workaround:
1. Patch gc_cpp.h 
2. Compile Scopes.cc with a 3.4 compiler until a relevant patch is found, or until this release is made redundant and versionbumped.                      

Thanks.



Reproducible: Always
Comment 1 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2007-06-02 14:01:47 UTC
Portage 2.1.2.9 (default-linux/x86/2007.0, gcc-4.1.X/default, glibc-2.5-r3, 2.6.21-gentookz i686)
=================================================================
System uname: 2.6.21-gentookz i686 AMD Athlon(TM) XP 2000+
Gentoo Base System release 1.12.10
Timestamp of tree: Sat, 02 Jun 2007 03:30:08 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [disabled]
app-admin/eselect-compiler: 2.0.0_rc2-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.3.6-r2, 2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -mtune=athlon-xp -pipe -ggdb3 -gstabs3"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/local/kdeextra/share/config /usr/local/kdeextra/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect/compiler /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=i686 -mtune=athlon-xp -pipe -ggdb3 -gstabs3"
DISTDIR="/mnt/fission/distfiles/distfiles"
FEATURES="autoaddcvs cvs distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_AU.UTF-8"
LC_ALL="C"
LDFLAGS="-Wl,-O1,-z,combreloc,--sort-common,--enable-new-dtags"
LINGUAS="en_NZ en_GB en en_US"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Xake 2007-07-18 09:52:00 UTC
There are two apparent portage resolutions for this: Bump to version 0.9 or remove from tree.
synopsis-0.9 (rename ebuild) compiles fine here (gcc-4.2), while 0.8 does not.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-08-31 07:21:29 UTC
Unless someone wants to bump it ASAP, I'm voting for removal. It's useless as it is and looking at bugzilla, noone's really using it anyway, otherwise we'd have at least some dupes here after the years when gcc-3.4+ has been stable.
Comment 4 Ryan Hill (RETIRED) gentoo-dev 2007-09-04 04:28:42 UTC
Bumped.  Thanks.