Tim, Darrell, All,
Latest build attempts on k3b led to massive error of the form:
'undefined reference to `vtable for ...'
I have no idea what went wrong. I've never seen this type of error before. I have put up the full log at:
http://www.3111skyline.com/dl/dt/tde/err/applications/k3b/20120723-201006_td...
A summary of the log beginning with the undefined errors is here:
http://www.3111skyline.com/dl/dt/tde/err/applications/k3b/k3b-undef-ref-sum....
What is strange is that k3b builds for a full 7 minutes before hitting whatever it hit and then explodes. A sample of the actual errors are:
/bin/sh ../libtool --tag=CXX --mode=link g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -I/usr/include/tqt -L/opt/trinity/lib -L/opt/tqt3/lib -L/opt/trinity/lib/trinity -R /opt/trinity/lib -R /opt/trinity/lib -R /opt/tqt3/lib -R /opt/trinity/lib/trinity -ltqt-mt -lz -lpng -lz -lm -lXext -lX11 -lSM -lICE -ltqt -lpthread -lDCOP -ltdecore -ltdeui -ltdefx -lkio -lktexteditor -Wl,-O1,--sort-common,--as-needed,-z,relro -o k3b k3bwelcomewidget.o k3bapplication.o k3bdiroperator.o k3bfiletreeview.o k3bprojecttabwidget.o k3bsplash.o k3bfileview.o k3bdirview.o k3b.o main.o k3bstatusbarmanager.o k3bfiletreecombobox.o k3binterface.o k3bjobinterface.o k3bprojectinterface.o k3bdataprojectinterface.o k3bsystemproblemdialog.o k3bmediacontentsview.o k3bsidepanel.o k3bcontentsview.o k3bjobprogressdialog.o k3bburnprogressdialog.o k3btempdirselectionwidget.o k3bdatamodewidget.o k3bwritingmodewidget.o k3bwriterselectionwidget.o k3binteractiondialog.o k3bthememanager.o k3bprojectmanager.o k3btrm.o k3bmusicbrainz.o k3baudioprojectinterface.o k3bmixedprojectinterface.o k3bflatbutton.o k3bemptydiscwaiter.o k3bjobprogressosd.o k3bdebuggingoutputdialog.o k3bdebuggingoutputfile.o k3bappdevicemanager.o k3bmediacache.o k3bmedium.o k3bmediaselectioncombobox.o k3btooltip.o k3bwidgetshoweffect.o k3bmediaselectiondialog.o k3bdiskinfoview.o k3bpassivepopup.o k3btimeoutwidget.o k3bminibutton.o k3bthemedheader.o k3bthemedlabel.o k3blsofwrapper.o k3blsofwrapperdialog.o k3bservicemenuinstaller.o k3bfirstrun.o k3binterface_skel.o k3bjobinterface_skel.o k3bprojectinterface_skel.o k3bdataprojectinterface_skel.o k3baudioprojectinterface_skel.o k3bmixedprojectinterface_skel.o ./option/liboption.la ./rip/librip.la ./projects/libprojects.la ../libk3bdevice/libk3bdevice.la ../libk3b/libk3b.la ./misc/libmisc.la ./fastscale/libfastscale.la -ltdefx -lkio -lkparts -lmusicbrainz -lm -L/opt/trinity/lib -L/opt/tqt3/lib -L/opt/trinity/lib/trinity libtool: link: g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -I/usr/include/tqt -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z -Wl,relro -o .libs/k3b k3bwelcomewidget.o k3bapplication.o k3bdiroperator.o k3bfiletreeview.o k3bprojecttabwidget.o k3bsplash.o k3bfileview.o k3bdirview.o k3b.o main.o k3bstatusbarmanager.o k3bfiletreecombobox.o k3binterface.o k3bjobinterface.o k3bprojectinterface.o k3bdataprojectinterface.o k3bsystemproblemdialog.o k3bmediacontentsview.o k3bsidepanel.o k3bcontentsview.o k3bjobprogressdialog.o k3bburnprogressdialog.o k3btempdirselectionwidget.o k3bdatamodewidget.o k3bwritingmodewidget.o k3bwriterselectionwidget.o k3binteractiondialog.o k3bthememanager.o k3bprojectmanager.o k3btrm.o k3bmusicbrainz.o k3baudioprojectinterface.o k3bmixedprojectinterface.o k3bflatbutton.o k3bemptydiscwaiter.o k3bjobprogressosd.o k3bdebuggingoutputdialog.o k3bdebuggingoutputfile.o k3bappdevicemanager.o k3bmediacache.o k3bmedium.o k3bmediaselectioncombobox.o k3btooltip.o k3bwidgetshoweffect.o k3bmediaselectiondialog.o k3bdiskinfoview.o k3bpassivepopup.o k3btimeoutwidget.o k3bminibutton.o k3bthemedheader.o k3bthemedlabel.o k3blsofwrapper.o k3blsofwrapperdialog.o k3bservicemenuinstaller.o k3bfirstrun.o k3binterface_skel.o k3bjobinterface_skel.o k3bprojectinterface_skel.o k3bdataprojectinterface_skel.o k3baudioprojectinterface_skel.o k3bmixedprojectinterface_skel.o -L/opt/trinity/lib -L/opt/tqt3/lib -L/opt/trinity/lib/trinity /opt/tqt3/lib/libtqt-mt.so -L/usr/lib/mysql -L/usr/X11R6/lib -lpq -lmysqlclient -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -ldl -lpng -lz -lXext -lX11 -lSM -lICE /usr/lib/libtqt.so -lpthread /opt/trinity/lib/libDCOP.so /opt/trinity/lib/libtdeui.so /opt/trinity/lib/libktexteditor.so ./option/.libs/liboption.a ./rip/.libs/librip.a ./projects/.libs/libprojects.a ../libk3bdevice/.libs/libk3bdevice.so ../libk3b/.libs/libk3b.so -lsamplerate -ldvdread /build/src/k3b/libk3bdevice/.libs/libk3bdevice.so ./misc/.libs/libmisc.a ./fastscale/.libs/libfastscale.a /opt/trinity/lib/libtdecore.so -ljpeg /opt/trinity/lib/libtdefx.so /opt/trinity/lib/libkio.so /opt/trinity/lib/libkparts.so -lmusicbrainz -lm -Wl,-rpath -Wl,/opt/trinity/lib -Wl,-rpath -Wl,/opt/tqt3/lib -Wl,-rpath -Wl,/opt/trinity/lib/trinity k3bwritingmodewidget.o: In function `K3bWritingModeWidget::~K3bWritingModeWidget()': k3bwritingmodewidget.cpp:(.text+0x10): undefined reference to `vtable for K3bWritingModeWidget' k3bwritingmodewidget.cpp:(.text+0x17): undefined reference to `vtable for K3bWritingModeWidget' k3bwritingmodewidget.cpp:(.text+0x21): undefined reference to `vtable for K3bWritingModeWidget' k3bwritingmodewidget.o: In function `K3bWritingModeWidget::K3bWritingModeWidget(TQWidget*, char const*)': k3bwritingmodewidget.cpp:(.text+0x722): undefined reference to `vtable for K3bWritingModeWidget' k3bwritingmodewidget.cpp:(.text+0x729): undefined reference to `vtable for K3bWritingModeWidget' k3bwritingmodewidget.o:k3bwritingmodewidget.cpp:(.text+0x733): more undefined references to `vtable for K3bWritingModeWidget' follow ./projects/.libs/libprojects.a(k3bdataimagesettingswidget.o): In function `K3bDataImageSettingsWidget::K3bDataImageSettingsWidget(TQWidget*, char const*)': k3bdataimagesettingswidget.cpp:(.text+0x222): undefined reference to `vtable for K3bDataImageSettingsWidget' ./projects/.libs/libprojects.a(k3bdataimagesettingswidget.o): In function `K3bDataImageSettingsWidget::~K3bDataImageSettingsWidget()': k3bdataimagesettingswidget.cpp:(.text+0xe15): undefined reference to `vtable for K3bDataImageSettingsWidget' k3bwelcomewidget.o: In function `K3bWelcomeWidget::~K3bWelcomeWidget()': k3bwelcomewidget.cpp:(.text+0xbb6): undefined reference to `vtable for K3bWelcomeWidget' k3bwelcomewidget.cpp:(.text+0xbbd): undefined reference to `vtable for K3bWelcomeWidget' k3bwelcomewidget.o: In function `K3bWelcomeWidget::Display::Display(K3bWelcomeWidget*)': k3bwelcomewidget.cpp:(.text+0xeca): undefined reference to `vtable for K3bWelcomeWidget::Display' k3bwelcomewidget.cpp:(.text+0xed1): undefined reference to `vtable for K3bWelcomeWidget::Display' k3bwelcomewidget.o: In function `K3bWelcomeWidget::K3bWelcomeWidget(K3bMainWindow*, TQWidget*, char const*)':
What is this error? gcc? glibc? TQt3? ffmpeg? What is a vtable? What say the experts? Suggestions what to try next? I've read http://gcc.gnu.org/faq.html#vtables -- still didn't help...
On 07/23/2012 08:35 PM, David C. Rankin wrote:
Tim, Darrell, All,
Latest build attempts on k3b led to massive error of the form:
'undefined reference to `vtable for ...'
I have no idea what went wrong. I've never seen this type of error before. I have put up the full log at:
http://www.3111skyline.com/dl/dt/tde/err/applications/k3b/20120723-201006_td...
A summary of the log beginning with the undefined errors is here:
http://www.3111skyline.com/dl/dt/tde/err/applications/k3b/k3b-undef-ref-sum....
<snip>
I punted, created a completely new build environment, and I've started a complete build -- will report back.
gcc 4.7.1-5 glibc 2.16.0-2
On 07/23/2012 09:48 PM, David C. Rankin wrote:
On 07/23/2012 08:35 PM, David C. Rankin wrote:
Tim, Darrell, All,
Latest build attempts on k3b led to massive error of the form:
'undefined reference to `vtable for ...'
I have no idea what went wrong. I've never seen this type of error before. I have put up the full log at:
http://www.3111skyline.com/dl/dt/tde/err/applications/k3b/20120723-201006_td...
A summary of the log beginning with the undefined errors is here:
http://www.3111skyline.com/dl/dt/tde/err/applications/k3b/k3b-undef-ref-sum....
<snip>
I punted, created a completely new build environment, and I've started a complete build -- will report back.
gcc 4.7.1-5 glibc 2.16.0-2
After a complete rebuild with a new build environment and glibc 2.16, ffmpeg 0.11-1, the same failures remain:
FAILED, saving logs to '/home/david/tde/err/bld/tdebindings' FAILED, saving logs to '/home/david/tde/err/bld/applications/k3b' FAILED, saving logs to '/home/david/tde/err/bld/applications/k9copy' FAILED, saving logs to '/home/david/tde/err/bld/applications/kchmviewer' FAILED, saving logs to '/home/david/tde/err/bld/applications/kdmtheme' FAILED, saving logs to '/home/david/tde/err/bld/applications/kbfx' FAILED, saving logs to '/home/david/tde/err/bld/applications/kstreamripper' FAILED, saving logs to '/home/david/tde/err/bld/applications/krusader'
I created a patch (attached) that allows k3b to build with ffmpeg 0.11-1 to get around the errors:
k3bffmpegwrapper.cpp:82:84: error: 'av_open_input_file' was not declared in this scope k3bffmpegwrapper.cpp:131:63: error: 'dump_format' was not declared in this scope
This patch will need to be checked. I don't think the kde4 k3b-2.2 patch is applicable. But I do think we can use the additional scope resolution operators it provides to get rid of some of the scope warnings.
The good news -- everything else built -- including koffice :) Full list:
http://www.3111skyline.com/dl/dt/tde/doc/bldlist_0723.txt
On 07/24/2012 08:40 AM, David C. Rankin wrote:
I created a patch (attached) that allows k3b to build with ffmpeg 0.11-1 to get around the errors:
k3bffmpegwrapper.cpp:82:84: error: 'av_open_input_file' was not declared in this scope k3bffmpegwrapper.cpp:131:63: error: 'dump_format' was not declared in this scope
This patch will need to be checked. I don't think the kde4 k3b-2.2 patch is applicable. But I do think we can use the additional scope resolution operators it provides to get rid of some of the scope warnings.
As Darrell pointed out, preprocessor checks will need to be added for those system using ffmpeg 0.10 or earlier. However, this may go back even further because av_open_input_file and dump_format have been deprecated for some time. We will need to look at ffmpeg to see when that occurred to get the checks correct. (they may not even be needed if the functions have been deprecated for many years...)
Darrell, try building on ffmpeg 0.10 with the patch for k3b. I'd wager you will be fine. I'll also incorporated the kde4 scope resolution changes they made to 2.2 and see if the scope warnings are reduced.
Darrell, try building on ffmpeg 0.10 with the patch for k3b. I'd wager you will be fine. I'll also incorporated the kde4 scope resolution changes they made to 2.2 and see if the scope warnings are reduced.
With Slackware 14 I have been building TDE apps against ffmpeg 0.10.2 without incidents. Other releases of Slackware with ffmpeg 0.8.7.
Darrell
Darrell, try building on ffmpeg 0.10 with the patch for k3b. I'd wager you will be fine. I'll also incorporated the kde4 scope resolution changes they made to 2.2 and see if the scope warnings are reduced.
With Slackware 14 I have been building TDE apps against ffmpeg 0.10.2 without incidents. Other releases of Slackware with ffmpeg 0.8.7.
Darrell
I say go ahead and commit without the preprocessor checks. Ancient distributions can always reverse the commit with a local distro-specific patch, or contribute the needed checks to us. ;-)
Tim
On 07/25/2012 01:43 PM, Timothy Pearson wrote:
I say go ahead and commit without the preprocessor checks. Ancient distributions can always reverse the commit with a local distro-specific patch, or contribute the needed checks to us. ;-)
Tim
Darrell,
Make sure you grab the latest patch: