synaptic no longer builds after g++-4.1 (4.1.1-13ubuntu2) to 4.1.1-13ubuntu3 upgradae

Bug #62461 reported by Michael Vogt
4
Affects Status Importance Assigned to Milestone
APT
Invalid
Medium
apt (Ubuntu)
Fix Released
High
Michael Vogt

Bug Description

Synaptic no longer builds after g++-4.1 (4.1.1-13ubuntu2) to 4.1.1-13ubuntu3 upgradae on i386.

Here is the error log:
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

Note that this build fine with 4.1.1-13ubuntu2. It currently means I can't fix a segfault for the beta because it does not build.

Michael Vogt (mvo)
Changed in gcc-4.1:
importance: Undecided → High
Revision history for this message
Michael Vogt (mvo) wrote :

Happens on amd64 as well.

Setting it to beta-milestone as it blocks a fix for synaptic in the beta.

Kees Cook (kees)
description: updated
Revision history for this message
Michael Vogt (mvo) wrote :

This seems to be some sort of ABI breakage between the two versions. On edgy re-building/re-installing apt (both amd64/i386) fixes the issue.

Revision history for this message
Michael Vogt (mvo) wrote :

Removed the beta-blocker tag. We worked around the problem with a apt rebuild.

Changed in gcc-4.1:
status: Unconfirmed → Confirmed
Revision history for this message
Matthias Klose (doko) wrote :

see http://gcc.gnu.org/PR29289
please could you review the use of #pragma interface? see PR26195 as well.

Revision history for this message
Matthias Klose (doko) wrote :

reassigning to apt, see the comments on the upstream report

Changed in apt:
status: Unknown → Unconfirmed
Revision history for this message
Michael Vogt (mvo) wrote :

We finally got rid of all #pragma interface madness in libapt.

Changed in apt:
assignee: nobody → mvo
status: Confirmed → Fix Released
Changed in apt:
status: New → Invalid
Changed in apt:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.