This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Building ktorrent 3.1.6 on ubuntu 8.10 x64_86

Tags: None
(comma "," separated)
mentis
Registered Member
Posts
2
Karma
0
Building failed with folowing error:

collect2: выполнение ld завершилось с кодом возврата 1
make[2]: *** [lib/ktinfowidgetplugin.so] Ошибка 1
make[1]: *** [plugins/infowidget/CMakeFiles/ktinfowidgetplugin.dir/all] Ошибка 2
make: *** [all] Ошибка 2
George
Moderator
Posts
5421
Karma
1

Sun Jan 25, 2009 3:08 pm
I don't know any russian, so please translate the error.
mentis
Registered Member
Posts
2
Karma
0

Sun Jan 25, 2009 6:54 pm
Sorry. Here is full error stack trace:

Code: Select all
Linking CXX shared module ../../lib/ktlogviewerplugin.so                                                                                                                         
CMakeFiles/ktlogviewerplugin.dir/logviewerplugin.o: In function `kt::LogViewerPlugin::unload()':                                                                                 
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewerplugin.cpp:67: undefined reference to `bt::RemoveLogMonitor(bt::LogMonitorInterface*)'                           
CMakeFiles/ktlogviewerplugin.dir/logviewerplugin.o: In function `kt::LogViewerPlugin::load()':                                                                                   
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewerplugin.cpp:58: undefined reference to `bt::AddLogMonitor(bt::LogMonitorInterface*)'                               
CMakeFiles/ktlogviewerplugin.dir/logviewer.o: In function `~LogViewer':                                                                                                           
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:58: undefined reference to `bt::LogMonitorInterface::~LogMonitorInterface()'                                 
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:58: undefined reference to `bt::LogMonitorInterface::~LogMonitorInterface()'                                 
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:58: undefined reference to `bt::LogMonitorInterface::~LogMonitorInterface()'                                 
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:58: undefined reference to `bt::LogMonitorInterface::~LogMonitorInterface()'                                 
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:58: undefined reference to `bt::LogMonitorInterface::~LogMonitorInterface()'                                 
CMakeFiles/ktlogviewerplugin.dir/logviewer.o:/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:58: more undefined references to `bt::LogMonitorInterface::~LogMonitorInterface()' follow                                                                                                                                                         
CMakeFiles/ktlogviewerplugin.dir/logviewer.o: In function `LogViewer':
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:44: undefined reference to `bt::LogMonitorInterface::LogMonitorInterface()'
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:52: undefined reference to `bt::LogMonitorInterface::~LogMonitorInterface()'
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:44: undefined reference to `bt::LogMonitorInterface::LogMonitorInterface()'
/home/dzmitry/Desktop/ktorrent-3.1.6/plugins/logviewer/logviewer.cpp:52: undefined reference to `bt::LogMonitorInterface::~LogMonitorInterface()'
CMakeFiles/ktlogviewerplugin.dir/logviewer.o:(.data.rel.ro._ZTIN2kt9LogViewerE[typeinfo for kt::LogViewer]+0x28): undefined reference to `typeinfo for bt::LogMonitorInterface'
George
Moderator
Posts
5421
Karma
1

Mon Jan 26, 2009 9:22 am
Strange, I had no problems when I ran a build test.

I'm thinking this is a cmake problem. Try this :

- open plugins/logviewer/CMakeLists.txt
- Look for the line: target_link_libraries(ktlogviewerplugin ${QT_QT3SUPPORT_LIBRARY} ${KDE4_KPARTS_LIBS} ktcore )
- Change it into: target_link_libraries(ktlogviewerplugin ${QT_QT3SUPPORT_LIBRARY} ${KDE4_KPARTS_LIBS} ktcore btcore)
arny
Registered Member
Posts
4
Karma
0

Fail on Bluewhite64 too

Mon Jan 26, 2009 7:36 pm
The same error on Bluewhite64 12.2 too for Ktorrent 3.1.5. and 3.1.6.
This happen only with KDE 4.2 RC1.

After adding the new line I get this:

Code: Select all
[ 53%] Building CXX object plugins/infowidget/CMakeFiles/ktinfowidgetplugin.dir/infowidgetpluginsettings.o                                 
Linking CXX shared module ../../lib/ktinfowidgetplugin.so                                                                                   
CMakeFiles/ktinfowidgetplugin.dir/monitor.o: In function `~Monitor':                                                                       
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:45: undefined reference to `bt::MonitorInterface::~MonitorInterface()'   
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:45: undefined reference to `bt::MonitorInterface::~MonitorInterface()'   
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:45: undefined reference to `bt::MonitorInterface::~MonitorInterface()'   
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:45: undefined reference to `bt::MonitorInterface::~MonitorInterface()'   
CMakeFiles/ktinfowidgetplugin.dir/monitor.o: In function `Monitor':                                                                         
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:34: undefined reference to `bt::MonitorInterface::MonitorInterface()'     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:38: undefined reference to `bt::MonitorInterface::~MonitorInterface()'   
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:34: undefined reference to `bt::MonitorInterface::MonitorInterface()'     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:38: undefined reference to `bt::MonitorInterface::~MonitorInterface()'   
CMakeFiles/ktinfowidgetplugin.dir/monitor.o: In function `~Monitor':                                                                       
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:45: undefined reference to `bt::MonitorInterface::~MonitorInterface()'   
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/monitor.cpp:45: undefined reference to `bt::MonitorInterface::~MonitorInterface()'   
CMakeFiles/ktinfowidgetplugin.dir/monitor.o:(.data.rel.ro._ZTIN2kt7MonitorE[typeinfo for kt::Monitor]+0x10): undefined reference to `typeinfo for bt::MonitorInterface'                                                                                                                 
CMakeFiles/ktinfowidgetplugin.dir/chunkbar.o: In function `~ChunkBar':                                                                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:105: undefined reference to `bt::BitSet::~BitSet()'                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:105: undefined reference to `bt::BitSet::~BitSet()'                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:105: undefined reference to `bt::BitSet::~BitSet()'                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:105: undefined reference to `bt::BitSet::~BitSet()'                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:105: undefined reference to `bt::BitSet::~BitSet()'                     
CMakeFiles/ktinfowidgetplugin.dir/chunkbar.o:/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:105: more undefined references to `bt::BitSet::~BitSet()' follow                                                                                                       
CMakeFiles/ktinfowidgetplugin.dir/chunkbar.o: In function `kt::ChunkBar::drawBarContents(QPainter*)':                                       
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:170: undefined reference to `bt::BitSet::operator=(bt::BitSet const&)'   
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:172: undefined reference to `bt::BitSet::allOn() const'                 
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:182: undefined reference to `bt::BitSet::allOn() const'                 
CMakeFiles/ktinfowidgetplugin.dir/chunkbar.o: In function `kt::ChunkBar::updateBar()':                                                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:111: undefined reference to `bt::BitSet::operator==(bt::BitSet const&)' 
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:114: undefined reference to `bt::BitSet::BitSet(bt::BitSet const&)'     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:116: undefined reference to `bt::BitSet::orBitSet(bt::BitSet const&)'   
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:117: undefined reference to `bt::BitSet::operator=(bt::BitSet const&)'   
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:117: undefined reference to `bt::BitSet::~BitSet()'                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:116: undefined reference to `bt::BitSet::operator==(bt::BitSet const&)' 
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:117: undefined reference to `bt::BitSet::~BitSet()'                     
CMakeFiles/ktinfowidgetplugin.dir/chunkbar.o: In function `ChunkBar':                                                                       
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:88: undefined reference to `bt::BitSet::BitSet(unsigned int)'           
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:88: undefined reference to `bt::BitSet::BitSet(unsigned int)'           
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:101: undefined reference to `bt::BitSet::~BitSet()'                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:101: undefined reference to `bt::BitSet::~BitSet()'                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:88: undefined reference to `bt::BitSet::BitSet(unsigned int)'           
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:88: undefined reference to `bt::BitSet::BitSet(unsigned int)'           
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:101: undefined reference to `bt::BitSet::~BitSet()'                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkbar.cpp:101: undefined reference to `bt::BitSet::~BitSet()'                     
CMakeFiles/ktinfowidgetplugin.dir/availabilitychunkbar.o: In function `kt::AvailabilityChunkBar::getBitSet() const':                       
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/availabilitychunkbar.cpp:45: undefined reference to `bt::BitSet::null'               
CMakeFiles/ktinfowidgetplugin.dir/downloadedchunkbar.o: In function `kt::DownloadedChunkBar::getBitSet() const':                           
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/downloadedchunkbar.cpp:40: undefined reference to `bt::BitSet::null'                 
CMakeFiles/ktinfowidgetplugin.dir/statustab.o: In function `kt::StatusTab::useRatioLimitToggled(bool)':                                     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/statustab.cpp:224: undefined reference to `bt::ShareRatio(bt::TorrentStats const&)'   
CMakeFiles/ktinfowidgetplugin.dir/statustab.o: In function `kt::StatusTab::update()':                                                       
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/statustab.cpp:164: undefined reference to `bt::ShareRatio(bt::TorrentStats const&)'   
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/statustab.cpp:176: undefined reference to `bt::KBytesPerSecToString(double, int)'     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/statustab.cpp:187: undefined reference to `bt::KBytesPerSecToString(double, int)'     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/statustab.cpp:192: undefined reference to `bt::KBytesPerSecToString(double, int)'     
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/statustab.cpp:181: undefined reference to `bt::KBytesPerSecToString(double, int)'     
CMakeFiles/ktinfowidgetplugin.dir/peerview.o: In function `kt::PeerView::banPeer()':                                                       
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/peerview.cpp:77: undefined reference to `bt::IPBlocklist::instance()'                 
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/peerview.cpp:85: undefined reference to `bt::IPBlocklist::insert(QString const&, int)'
CMakeFiles/ktinfowidgetplugin.dir/peerviewmodel.o: In function `kt::PeerViewModel::Item::data(int) const':                                 
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/peerviewmodel.cpp:140: undefined reference to `bt::BytesToString(unsigned long long, int)'                                                                                                                                       
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/peerviewmodel.cpp:125: undefined reference to `bt::KBytesPerSecToString(double, int)'
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/peerviewmodel.cpp:130: undefined reference to `bt::KBytesPerSecToString(double, int)'
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/peerviewmodel.cpp:141: undefined reference to `bt::BytesToString(unsigned long long, int)'                                                                                                                                       
CMakeFiles/ktinfowidgetplugin.dir/chunkdownloadview.o: In function `kt::ChunkDownloadView::changeTC(bt::TorrentInterface*)':               
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkdownloadview.cpp:94: undefined reference to `bt::BytesToString(unsigned long long, int)'                                                                                                                                     
CMakeFiles/ktinfowidgetplugin.dir/chunkdownloadmodel.o: In function `kt::ChunkDownloadModel::Item::data(int) const':                       
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/chunkdownloadmodel.cpp:62: undefined reference to `bt::KBytesPerSecToString(double, int)'                                                                                                                                         
CMakeFiles/ktinfowidgetplugin.dir/iwfiletreemodel.o: In function `kt::IWFileTreeModel::sortData(kt::TorrentFileTreeModel::Node*, QModelIndex const&) const':                                                                                                                           
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfiletreemodel.cpp:219: undefined reference to `bt::Percentage(bt::TorrentStats const&)'                                                                                                                                         
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfiletreemodel.cpp:200: undefined reference to `bt::TorrentFileInterface::getDownloadPercentage() const'                                                                                                                         
CMakeFiles/ktinfowidgetplugin.dir/iwfiletreemodel.o: In function `IWFileTreeModel':
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfiletreemodel.cpp:40: undefined reference to `bt::IsMultimediaFile(QString const&)'
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfiletreemodel.cpp:40: undefined reference to `bt::IsMultimediaFile(QString const&)'
CMakeFiles/ktinfowidgetplugin.dir/iwfiletreemodel.o: In function `kt::IWFileTreeModel::update()':
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfiletreemodel.cpp:309: undefined reference to `bt::Percentage(bt::TorrentStats const&)'
CMakeFiles/ktinfowidgetplugin.dir/iwfiletreemodel.o: In function `kt::IWFileTreeModel::displayData(kt::TorrentFileTreeModel::Node*, QModelIndex const&) const':
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfiletreemodel.cpp:149: undefined reference to `bt::TorrentFileInterface::getDownloadPercentage() const'
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfiletreemodel.cpp:172: undefined reference to `bt::Percentage(bt::TorrentStats const&)'
CMakeFiles/ktinfowidgetplugin.dir/iwfilelistmodel.o: In function `kt::IWFileListModel::sortData(QModelIndex const&) const':
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfilelistmodel.cpp:202: undefined reference to `bt::TorrentFileInterface::getDownloadPercentage() const'
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfilelistmodel.cpp:221: undefined reference to `bt::Percentage(bt::TorrentStats const&)'
CMakeFiles/ktinfowidgetplugin.dir/iwfilelistmodel.o: In function `IWFileListModel':
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfilelistmodel.cpp:40: undefined reference to `bt::IsMultimediaFile(QString const&)'
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfilelistmodel.cpp:40: undefined reference to `bt::IsMultimediaFile(QString const&)'
CMakeFiles/ktinfowidgetplugin.dir/iwfilelistmodel.o: In function `kt::IWFileListModel::update()':
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfilelistmodel.cpp:279: undefined reference to `bt::Percentage(bt::TorrentStats const&)'
CMakeFiles/ktinfowidgetplugin.dir/iwfilelistmodel.o: In function `kt::IWFileListModel::displayData(QModelIndex const&) const':
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfilelistmodel.cpp:151: undefined reference to `bt::TorrentFileInterface::getDownloadPercentage() const'
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/iwfilelistmodel.cpp:174: undefined reference to `bt::Percentage(bt::TorrentStats const&)'
CMakeFiles/ktinfowidgetplugin.dir/webseedsmodel.o: In function `kt::WebSeedsModel::data(QModelIndex const&, int) const':
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/webseedsmodel.cpp:146: undefined reference to `bt::KBytesPerSecToString(double, int)'
/home/arny/ktorrent/ktorrent-3.1.6/plugins/infowidget/webseedsmodel.cpp:147: undefined reference to `bt::BytesToString(unsigned long long, int)'
collect2: ld returned 1 exit status
make[2]: *** [lib/ktinfowidgetplugin.so] Error 1
make[1]: *** [plugins/infowidget/CMakeFiles/ktinfowidgetplugin.dir/all] Error 2
make: *** [all] Error 2
George
Moderator
Posts
5421
Karma
1

Tue Jan 27, 2009 10:36 am
Then you need to add btcore in the library list for the other plugins too.

I'm gonna update the package soon.
George
Moderator
Posts
5421
Karma
1

Tue Jan 27, 2009 1:05 pm
Could you test this package :

http://ktorrent.org/downloads/3.1.6/kto ... -2.tar.bz2

If that compiles, I will update the website.
User avatar
Alien Bob
Registered Member
Posts
4
Karma
0

Tue Jan 27, 2009 2:24 pm
With this new tarball on Slackware 12.2 with KDE 4.2.0 I still get a lot of "undefined reference" errors. This is where it starts:
Code: Select all
[ 89%] [ 90%] Building CXX object plugins/bwscheduler/CMakeFiles/ktbwschedulerplugin.dir/schedulegraphicsitem.o
Building CXX object plugins/infowidget/CMakeFiles/ktinfowidgetplugin.dir/infowidgetpluginsettings.o
Linking CXX shared module ../../lib/ktmediaplayerplugin.so
/tmp/ktorrent-3.1.6/plugins/upnp/routermodel.cpp:125: warning: unused parameter 'parent'
/tmp/ktorrent-3.1.6/plugins/upnp/routermodel.cpp:132: warning: unused parameter 'parent'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaModel::qt_metacall(QMetaObject::Call, int, void**)':
ktmediaplayerplugin_automoc.cpp:(.text+0x72): undefined reference to `QAbstractItemModel::qt_metacall(QMetaObject::Call, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::VideoWidget::toggleFullScreen(bool)':
ktmediaplayerplugin_automoc.cpp:(.text+0x19b): undefined reference to `QMetaObject::activate(QObject*, QMetaObject const*, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaPlayer::enableActions(unsigned int)':
ktmediaplayerplugin_automoc.cpp:(.text+0x25a): undefined reference to `QMetaObject::activate(QObject*, QMetaObject const*, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaView::doubleClicked(QModelIndex const&)':
ktmediaplayerplugin_automoc.cpp:(.text+0x2b1): undefined reference to `QMetaObject::activate(QObject*, QMetaObject const*, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaView::selectionChanged(QModelIndex const&)':
ktmediaplayerplugin_automoc.cpp:(.text+0x2de): undefined reference to `QMetaObject::activate(QObject*, QMetaObject const*, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::VideoWidget::qt_metacall(QMetaObject::Call, int, void**)':
ktmediaplayerplugin_automoc.cpp:(.text+0x311): undefined reference to `QWidget::qt_metacall(QMetaObject::Call, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaPlayer::qt_metacall(QMetaObject::Call, int, void**)':
ktmediaplayerplugin_automoc.cpp:(.text+0x5a1): undefined reference to `QObject::qt_metacall(QMetaObject::Call, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaView::qt_metacall(QMetaObject::Call, int, void**)':
ktmediaplayerplugin_automoc.cpp:(.text+0x6c1): undefined reference to `QWidget::qt_metacall(QMetaObject::Call, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaModel::qt_metacast(char const*)':
ktmediaplayerplugin_automoc.cpp:(.text+0x16a): undefined reference to `QAbstractItemModel::qt_metacast(char const*)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaPlayer::aboutToFinish()':
ktmediaplayerplugin_automoc.cpp:(.text+0x1bf): undefined reference to `QMetaObject::activate(QObject*, QMetaObject const*, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaPlayer::stopped()':
ktmediaplayerplugin_automoc.cpp:(.text+0x1df): undefined reference to `QMetaObject::activate(QObject*, QMetaObject const*, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaPlayer::closeVideo()':
ktmediaplayerplugin_automoc.cpp:(.text+0x1ff): undefined reference to `QMetaObject::activate(QObject*, QMetaObject const*, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaPlayer::openVideo()':
ktmediaplayerplugin_automoc.cpp:(.text+0x21f): undefined reference to `QMetaObject::activate(QObject*, QMetaObject const*, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaView::randomModeActivated()':
ktmediaplayerplugin_automoc.cpp:(.text+0x27f): undefined reference to `QMetaObject::activate(QObject*, QMetaObject const*, int, void**)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::VideoWidget::qt_metacast(char const*)':
ktmediaplayerplugin_automoc.cpp:(.text+0x3fa): undefined reference to `QWidget::qt_metacast(char const*)'
CMakeFiles/ktmediaplayerplugin.dir/ktmediaplayerplugin_automoc.o: In function `kt::MediaView::qt_metacast(char const*)':
ktmediaplayerplugin_automoc.cpp:(.text+0x43a): undefined reference to `QWidget::qt_metacast(char const*)'

And it goes on and on. Full logfile at http://alienbase.nl/~eha/_build_ktorrent.log

Note that ktorrent 3.1.6 still builds fine on KDE 4.1.3 but no longer on KDE 4.2.0

Cheers, Eric
arny
Registered Member
Posts
4
Karma
0

Tue Jan 27, 2009 2:43 pm
The same thing here too. The build log can be found here:

http://www.bluewhite64.com/testing/build.log
MoDaX
Registered Member
Posts
241
Karma
0
OS

Tue Jan 27, 2009 5:39 pm
George, apply this patch to original ktorrent 3.1.6:
Code: Select all
diff -uNr ktorrent-3.1.6/libbtcore/CMakeLists.txt ktorrent-3.1.6.n/libbtcore/CMakeLists.txt
--- ktorrent-3.1.6/libbtcore/CMakeLists.txt 2009-01-26 14:15:34.000000000 +0200
+++ ktorrent-3.1.6.n/libbtcore/CMakeLists.txt   2009-01-27 19:16:46.000000000 +0200
@@ -182,6 +182,7 @@


 target_link_libraries(btcore ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS} ${GMP_LIBRARIES} ${QCA2_LIBRARIES})
+target_link_libraries(btcore LINK_INTERFACE_LIBRARIES ${QT_QTCORE_LIBRARY})
 if(WIN32)
 target_link_libraries(btcore ws2_32)
 endif(WIN32)
diff -uNr ktorrent-3.1.6/libktcore/CMakeLists.txt ktorrent-3.1.6.n/libktcore/CMakeLists.txt
--- ktorrent-3.1.6/libktcore/CMakeLists.txt 2009-01-26 14:15:41.000000000 +0200
+++ ktorrent-3.1.6.n/libktcore/CMakeLists.txt   2009-01-27 19:19:30.000000000 +0200
@@ -45,6 +45,7 @@
 kde4_add_library(ktcore SHARED ${libktorrent_SRC})

 target_link_libraries(ktcore ${KDE4_KDE3SUPPORT_LIBS} ${KDE4_KPARTS_LIBS} ${KDE4_KUTILS_LIBS} btcore ${KDE4_SOLID_LIBS} ${GMP_LIBRARIES})
+target_link_libraries(ktcore LINK_INTERFACE_LIBRARIES btcore ${KDE4_KPARTS_LIBS})
 set_target_properties(ktcore PROPERTIES VERSION 6.5.0 SOVERSION 6 )
 install(TARGETS ktcore  ${INSTALL_TARGETS_DEFAULT_ARGS} )


Raw version:
http://pastebin.com/f5c9c6fb
MoDaX
Registered Member
Posts
241
Karma
0
OS

Tue Jan 27, 2009 5:56 pm
The previous patch is incompatible with cmake 2.4. This one is:

http://pastebin.com/f18d8ce01
George
Moderator
Posts
5421
Karma
1

Tue Jan 27, 2009 6:04 pm
Before I try that patch, please test this :

http://ktorrent.org/downloads/3.1.6/kto ... -3.tar.bz2

This contains a backport from trunk, which should also fix it.
MoDaX
Registered Member
Posts
241
Karma
0
OS

Tue Jan 27, 2009 6:27 pm
George wrote:Before I try that patch, please test this :

http://ktorrent.org/downloads/3.1.6/kto ... -3.tar.bz2

This contains a backport from trunk, which should also fix it.


It still fails at ktmediaplayerplugin. You get these failures because "reduced link interfaces" is enabled in kde 4.2. There is no extensive recursive linking of all libraries any more. A proper way to fix this is to expose kparts via ktcore link interface (kparts is already exposed via header files) since all ktcore users need it. As for btcore, it is not strictly part of ktcore interface but whatever uses ktcore, will also use btcore. So it does not hurt.
MoDaX
Registered Member
Posts
241
Karma
0
OS

Tue Jan 27, 2009 6:28 pm
And please change version number to e.g. 3.1.6.1 to avoid confusion.
George
Moderator
Posts
5421
Karma
1

Tue Jan 27, 2009 6:48 pm
I get this when I apply your last patch :

CMake Error at libbtcore/CMakeLists.txt:185 (set_target_properties):
set_target_properties called with incorrect number of arguments.

Also, I'm on a KDE nightly which is already past 4.2 (4.2.60), and the 3.1.6 package just compiles, without a problem.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], q.ignora, watchstar