<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>180643</bug_id>
          
          <creation_ts>2007-06-02 13:58 0000</creation_ts>
          <short_desc>dev-util/synopsis-0.8 fails with extra qualification error on &gt; gcc-3.4.*</short_desc>
          <delta_ts>2007-09-04 04:28:42 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Development</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          <bug_file_loc>http://synopsis.fresco.org/issues/bug82</bug_file_loc>
          <status_whiteboard>Vote</status_whiteboard>
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>117482</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>kentfredric@gmail.com</reporter>
          <assigned_to>treecleaner@gentoo.org</assigned_to>
          <cc>maintainer-needed@gentoo.org</cc>
    
    <cc>xake@rymdraket.net</cc>

      

      
          <long_desc isprivate="0">
            <who>kentfredric@gmail.com</who>
            <bug_when>2007-06-02 13:58:59 0000</bug_when>
            <thetext>This looks to  be a GCC3-&gt;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-&gt; 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&lt;Synopsis::PTree::Encoding, const Synopsis::SymbolLookup::Symbol*, std::less&lt;Synopsis::PTree::Encoding&gt;, std::allocator&lt;std::pair&lt;const Synopsis::PTree::Encoding, const Synopsis::SymbolLookup::Symbol*&gt; &gt; &gt; 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&lt;const Synopsis::PTree::Node*, Synopsis::SymbolLookup::Scope*, std::less&lt;const Synopsis::PTree::Node*&gt;, std::allocator&lt;std::pair&lt;const Synopsis::PTree::Node* const, Synopsis::SymbolLookup::Scope*&gt; &gt; &gt; 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</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kentfredric@gmail.com</who>
            <bug_when>2007-06-02 14:01:47 0000</bug_when>
            <thetext>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=&quot;x86 ~x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-O2 -march=i686 -mtune=athlon-xp -pipe -ggdb3 -gstabs3&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/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&quot;
CONFIG_PROTECT_MASK=&quot;/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&quot;
CXXFLAGS=&quot;-O2 -march=i686 -mtune=athlon-xp -pipe -ggdb3 -gstabs3&quot;
DISTDIR=&quot;/mnt/fission/distfiles/distfiles&quot;
FEATURES=&quot;autoaddcvs cvs distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict userfetch userpriv usersandbox&quot;
GENTOO_MIRRORS=&quot;http://distfiles.gentoo.org&quot;
LANG=&quot;en_AU.UTF-8&quot;
LC_ALL=&quot;C&quot;
LDFLAGS=&quot;-Wl,-O1,-z,combreloc,--sort-common,--enable-new-dtags&quot;
LINGUAS=&quot;en_NZ en_GB en en_US&quot;
MAKEOPTS=&quot;-j5&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--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-*&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>xake@rymdraket.net</who>
            <bug_when>2007-07-18 09:52:00 0000</bug_when>
            <thetext>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.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2007-08-31 07:21:29 0000</bug_when>
            <thetext>Unless someone wants to bump it ASAP, I&apos;m voting for removal. It&apos;s useless as it is and looking at bugzilla, noone&apos;s really using it anyway, otherwise we&apos;d have at least some dupes here after the years when gcc-3.4+ has been stable.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dirtyepic@gentoo.org</who>
            <bug_when>2007-09-04 04:28:42 0000</bug_when>
            <thetext>Bumped.  Thanks.</thetext>
          </long_desc>
      
    </bug>

</bugzilla>