On Sat, 2022-08-27 at 15:32 -0700, Samuel Sieb wrote:
On 8/27/22 15:14, Jonathan Ryshpan wrote:I'm trying to build an application for KDE, kpeoplevcard, available fromgithub. The compilation goes OK, but ld produces a large number ofundefined references, so it looks like I should install some libraries.What's the easiest way to find out which libraries to install?That's very odd that it would compile and fail to link. To have theheaders, you need the devel package and that will require the librarypackage. Did you run a configure step of some sort? That should detectany missing libraries.It can be difficult to go from a link error to the required library.Can you show an example?
The program is on github and can be downloaded by:
The output of the build process is attached as all.
--
Sincerely Jonathan Ryshpan <jonrysh@xxxxxxxxxxx> If thousands of volunteers can make an operating system that doesn't crash, thousands of highly paid engineers should be able to do it, too. Then why don't they? -- Al Fasoldt
[ 11%] Automatic MOC for target KPeopleVCard [ 11%] Built target KPeopleVCard_autogen [ 22%] Building CXX object src/CMakeFiles/KPeopleVCard.dir/KPeopleVCard_autogen/mocs_compilation.cpp.o [ 33%] Building CXX object src/CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o [ 44%] Linking CXX shared module ../bin/kpeople/datasource/KPeopleVCard.so /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/KPeopleVCard_autogen/mocs_compilation.cpp.o:(.data.rel.ro._ZTI12KPeopleVCard[_ZTI12KPeopleVCard]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `(anonymous namespace)::Q_QGS_vcardsLocation::innerFunction()': kpeoplevcard.cpp:(.text+0x100): undefined reference to `__cxa_guard_acquire' /usr/bin/ld: kpeoplevcard.cpp:(.text+0x14a): undefined reference to `__cxa_guard_release' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `(anonymous namespace)::Q_QGS_vcardsWriteLocation::innerFunction()': kpeoplevcard.cpp:(.text+0x258): undefined reference to `__cxa_guard_acquire' /usr/bin/ld: kpeoplevcard.cpp:(.text+0x2a2): undefined reference to `__cxa_guard_release' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `KPeopleVCard::KPeopleVCard()': kpeoplevcard.cpp:(.text+0x857): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `KPeopleVCard::~KPeopleVCard()': kpeoplevcard.cpp:(.text+0xa9f): undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `KPeopleVCard::processVCard(QString const&)': kpeoplevcard.cpp:(.text+0x1079): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `VCardDataSource::~VCardDataSource()': kpeoplevcard.cpp:(.text+0x12ed): undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `VCardDataSource::createAllContactsMonitor()': kpeoplevcard.cpp:(.text+0x136d): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `VCardDataSourceFactory::~VCardDataSourceFactory()': kpeoplevcard.cpp:(.text+0x140b): undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `qt_plugin_instance': kpeoplevcard.cpp:(.text+0x1549): undefined reference to `__cxa_guard_acquire' /usr/bin/ld: kpeoplevcard.cpp:(.text+0x1593): undefined reference to `__cxa_guard_release' /usr/bin/ld: kpeoplevcard.cpp:(.text+0x15b6): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `std::enable_if<QtPrivate::FunctionPointer<KPeopleVCard::KPeopleVCard()::{lambda(QString const&)#1}>::ArgumentCount==(-1), QMetaObject::Connection>::type QObject::connect<void (KDirWatch::*)(QString const&), KPeopleVCard::KPeopleVCard()::{lambda(QString const&)#1}>(QtPrivate::FunctionPointer<void (KDirWatch::*)(QString const&)>::Object const*, void (KDirWatch::*)(QString const&), QObject const*, KPeopleVCard::KPeopleVCard()::{lambda(QString const&)#1}, Qt::ConnectionType)': kpeoplevcard.cpp:(.text+0x16da): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `std::enable_if<QtPrivate::FunctionPointer<KPeopleVCard::KPeopleVCard()::{lambda(QString const&)#2}>::ArgumentCount==(-1), QMetaObject::Connection>::type QObject::connect<void (KDirWatch::*)(QString const&), KPeopleVCard::KPeopleVCard()::{lambda(QString const&)#2}>(QtPrivate::FunctionPointer<void (KDirWatch::*)(QString const&)>::Object const*, void (KDirWatch::*)(QString const&), QObject const*, KPeopleVCard::KPeopleVCard()::{lambda(QString const&)#2}, Qt::ConnectionType)': kpeoplevcard.cpp:(.text+0x178f): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `QtPrivate::QFunctorSlotObject<KPeopleVCard::KPeopleVCard()::{lambda(QString const&)#1}, 1, QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)': kpeoplevcard.cpp:(.text+0x1935): undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `QtPrivate::QFunctorSlotObject<KPeopleVCard::KPeopleVCard()::{lambda(QString const&)#2}, 1, QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)': kpeoplevcard.cpp:(.text+0x19bf): undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `QtSharedPointer::ExternalRefCountData::operator delete(void*)': kpeoplevcard.cpp:(.text._ZN15QtSharedPointer20ExternalRefCountDatadlEPv[_ZN15QtSharedPointer20ExternalRefCountDatadlEPv]+0x14): undefined reference to `operator delete(void*)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `KPeople::BasePersonsDataSourceV2::~BasePersonsDataSourceV2()': kpeoplevcard.cpp:(.text._ZN7KPeople23BasePersonsDataSourceV2D0Ev[_ZN7KPeople23BasePersonsDataSourceV2D5Ev]+0x25): undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `QMetaObject::Connection QObject::connect<void (KDirWatch::*)(QString const&), void (KPeopleVCard::*)(QString const&)>(QtPrivate::FunctionPointer<void (KDirWatch::*)(QString const&)>::Object const*, void (KDirWatch::*)(QString const&), QtPrivate::FunctionPointer<void (KPeopleVCard::*)(QString const&)>::Object const*, void (KPeopleVCard::*)(QString const&), Qt::ConnectionType)': kpeoplevcard.cpp:(.text._ZN7QObject7connectIM9KDirWatchFvRK7QStringEM12KPeopleVCardFvS4_EEEN11QMetaObject10ConnectionEPKN9QtPrivate15FunctionPointerIT_E6ObjectESE_PKNSD_IT0_E6ObjectESJ_N2Qt14ConnectionTypeE[_ZN7QObject7connectIM9KDirWatchFvRK7QStringEM12KPeopleVCardFvS4_EEEN11QMetaObject10ConnectionEPKN9QtPrivate15FunctionPointerIT_E6ObjectESE_PKNSD_IT0_E6ObjectESJ_N2Qt14ConnectionTypeE]+0x44): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `QList<QVariant>::node_destruct(QList<QVariant>::Node*, QList<QVariant>::Node*)': kpeoplevcard.cpp:(.text._ZN5QListI8QVariantE13node_destructEPNS1_4NodeES3_[_ZN5QListI8QVariantE13node_destructEPNS1_4NodeES3_]+0x39): undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*)': kpeoplevcard.cpp:(.text._ZN5QListI8QVariantE9node_copyEPNS1_4NodeES3_S3_[_ZN5QListI8QVariantE9node_copyEPNS1_4NodeES3_S3_]+0x29): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `QList<QVariant>::node_construct(QList<QVariant>::Node*, QVariant const&)': kpeoplevcard.cpp:(.text._ZN5QListI8QVariantE14node_constructEPNS1_4NodeERKS0_[_ZN5QListI8QVariantE14node_constructEPNS1_4NodeERKS0_]+0x1b): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `QtPrivate::QSlotObject<void (KPeopleVCard::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)': kpeoplevcard.cpp:(.text._ZN9QtPrivate11QSlotObjectIM12KPeopleVCardFvRK7QStringENS_4ListIJS4_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb[_ZN9QtPrivate11QSlotObjectIM12KPeopleVCardFvRK7QStringENS_4ListIJS4_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb]+0x5b): undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `QObject* KPluginFactory::createInstance<VCardDataSource, QObject>(QWidget*, QObject*, QList<QVariant> const&)': kpeoplevcard.cpp:(.text._ZN14KPluginFactory14createInstanceI15VCardDataSource7QObjectEEPS2_P7QWidgetS3_RK5QListI8QVariantE[_ZN14KPluginFactory14createInstanceI15VCardDataSource7QObjectEEPS2_P7QWidgetS3_RK5QListI8QVariantE]+0x5f): undefined reference to `operator new(unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o: in function `VCardContact::~VCardContact()': kpeoplevcard.cpp:(.text._ZN12VCardContactD0Ev[_ZN12VCardContactD5Ev]+0x25): undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o:(.data.rel.ro._ZTI22VCardDataSourceFactory[_ZTI22VCardDataSourceFactory]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o:(.data.rel.ro._ZTI12VCardContact[_ZTI12VCardContact]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: CMakeFiles/KPeopleVCard.dir/kpeoplevcard.cpp.o:(.data.rel.ro._ZTI15VCardDataSource[_ZTI15VCardDataSource]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' collect2: error: ld returned 1 exit status make[2]: *** [src/CMakeFiles/KPeopleVCard.dir/build.make:113: bin/kpeople/datasource/KPeopleVCard.so] Error 1 make[1]: *** [CMakeFiles/Makefile2:199: src/CMakeFiles/KPeopleVCard.dir/all] Error 2 make: *** [Makefile:146: all] Error 2
_______________________________________________ users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue