seen on various linux architectures, building apt results in a library with
several additional weak symbols defined. trying to build and link a program
(built with the changed compiler version) to the apt library built with the
older compiler version results in a link failure, shown below. rebuilding the
library with the changed compiler lets the application link again.

- on the 4.1 branch, the additional symbols seem to be the result
  of a part of the r116763 checkin; reverting the changes for PR26195
  restores the old behaviour.
- not yet searched on mainline; the change is between 20060815 and
  20060923.

is this a bug in apt's use in #pragma interface?


g++ -g -O2 -o synaptic gsynaptic.o gtkpkglist.o rgaboutpanel.o
rgcacheprogress.o rgpkgcdrom.o rgpreferenceswindow.o rgfetchprogress.o
rgfiltermanager.o rgfindwindow.o rgiconlegend.o rglogview.o rgmisc.o
rgsetoptwindow.o rgdummyinstallprogress.o rgdebinstallprogress.o
rgterminstallprogress.o rginstallprogress.o rgslideshow.o rgtaskswin.o
rgcdscanner.o rgmainwindow.o rgpkgdetails.o rgrepositorywin.o rgvendorswindow.o
rgsummarywindow.o rgchangeswindow.o rguserdialog.o rgwindow.o rggladewindow.o
../common/libsynaptic.a -lapt-pkg -lapt-inst -lglade-2.0 -lgtk-x11-2.0 -lxml2
-lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig
-lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lcairo -lX11
-lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lvte -lncurses -lXft
-lgtk-x11-2.0 -lpangoxft-1.0 -lpangox-1.0 -lgdk-x11-2.0 -latk-1.0
-lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama
-lXi -lXrandr -lXcursor -lXfixes -lcairo -lX11 -lpangoft2-1.0 -lpango-1.0
-lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -llaunchpad-integration
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0
-lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes
-lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lpthread
rgpkgcdrom.o: In function `pkgCdromStatus':
/usr/include/apt-pkg/cdrom.h:20: undefined reference to `vtable for
pkgCdromStatus'
rgpkgcdrom.o: In function `~pkgCdromStatus':
/usr/include/apt-pkg/cdrom.h:21: undefined reference to `vtable for
pkgCdromStatus'
rgpkgcdrom.o: In function `pkgCdromStatus':
/usr/include/apt-pkg/cdrom.h:20: undefined reference to `vtable for
pkgCdromStatus'
rgpkgcdrom.o: In function `~pkgCdromStatus':
/usr/include/apt-pkg/cdrom.h:21: undefined reference to `vtable for
pkgCdromStatus'
/usr/include/apt-pkg/cdrom.h:21: undefined reference to `vtable for
pkgCdromStatus'
rgpkgcdrom.o:/usr/include/apt-pkg/cdrom.h:21: more undefined references to
`vtable for pkgCdromStatus' follow
rgpkgcdrom.o:(.rodata._ZTV11RGCDScanner[vtable for RGCDScanner]+0x10):
undefined reference to `pkgCdromStatus::SetTotal(int)'
rgpkgcdrom.o:(.rodata._ZTV11RGCDScanner[vtable for RGCDScanner]+0x20):
undefined reference to `pkgCdromStatus::GetOpProgress()'
rgpkgcdrom.o:(.rodata._ZTI11RGCDScanner[typeinfo for RGCDScanner]+0x10):
undefined reference to `typeinfo for pkgCdromStatus'
rgmainwindow.o: In function `~pkgCdromStatus':
/usr/include/apt-pkg/cdrom.h:21: undefined reference to `vtable for
pkgCdromStatus'
../common/libsynaptic.a(rpackagecache.o): In function `~RPkgPolicy':
/tmp/2/synaptic-0.57.11ubuntu9/common/rpackagecache.h:40: undefined reference
to `pkgPolicy::~pkgPolicy()'
/tmp/2/synaptic-0.57.11ubuntu9/common/rpackagecache.h:40: undefined reference
to `pkgPolicy::~pkgPolicy()'
../common/libsynaptic.a(rpackagelister.o): In function `pkgArchiveCleaner':
/usr/include/apt-pkg/clean.h:20: undefined reference to `vtable for
pkgArchiveCleaner'
../common/libsynaptic.a(rpackagelister.o): In function `~pkgArchiveCleaner':
/usr/include/apt-pkg/clean.h:28: undefined reference to `vtable for
pkgArchiveCleaner'
/usr/include/apt-pkg/clean.h:28: undefined reference to `vtable for
pkgArchiveCleaner'
/usr/include/apt-pkg/clean.h:28: undefined reference to `vtable for
pkgArchiveCleaner'
collect2: ld returned 1 exit status


-- 
           Summary: [4.1/4.2] additionally weak symbols referenced/generated
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: doko at ubuntu dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29289

Reply via email to