Undefined references to Attica

Adrián Chaves Fernández adriyetichaves at gmail.com
Thu Feb 20 21:23:38 UTC 2014


O Xoves, 20 de Febreiro de 2014 10:50:21 Alex Merry escribiu:
> On 20/02/14 06:56, Adrián Chaves Fernández wrote:
> > I was trying to build frameworks 4.96.0, and I run into trouble compiling the tests for KXmlGui, due to undefined references to Attica. I did this to solve it: https://git.reviewboard.kde.org/r/115907/diff/
> > 
> > Now, on the next package, KBookmarks, I again get undefined references to Attica (from the KXmlGui shared library) when building the tests. Am I missing something here? I'm starting to think the issue is with my personal configuration and not with the packages themselves.
> 
> Odd; that shouldn't be happening. 

Does that statement include https://git.reviewboard.kde.org/r/115907/diff/ ? Should I need those changes to build kxmlgui or shouldn’t I?

> What system are you building on?
> Also, `make VERBOSE=1` can be a helpful debugging tool; I could imagine
> maybe getting errors like this if you are doing static builds.

I’m building on Chakra, which should be not too different from Arch Linux.

I’m using this lines for the actual build of kbookmarks (after building kxmlgui with the linked patch):

> mkdir -p build && cd build
> cmake ../kbookmarks-4.96.0 \
>   -DCMAKE_BUILD_TYPE=RelWithDebInfo \
>   -DCMAKE_INSTALL_PREFIX=/usr/bin \
>   -DLIB_INSTALL_DIR=lib 
> make

With VERBOSE=1 in make, I get this towards the end:

Linking CXX executable kbookmarkdialogtest
cd /home/gallaecio/proxectos/empaquetamento/repositorios/desktop/kbookmarks/src/build/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/kbookmarkdialogtest.dir/link.txt --verbose=1
/usr/bin/c++   -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -g -fvar-tracking-assignments -g -fvar-tracking-assignments  -std=c++0x -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -O2 -g -DNDEBUG  -Wl,--enable-new-dtags  -Wl,-O1,--sort-common,--as-needed,-z,relro CMakeFiles/kbookmarkdialogtest.dir/kbookmarkdialogtest.cpp.o CMakeFiles/kbookmarkdialogtest.dir/kbookmarkdialogtest_automoc.cpp.o  -o kbookmarkdialogtest -rdynamic ../src/libKF5Bookmarks.so.4.96.0 /usr/lib/libQt5Xml.so.5.2.1 /usr/lib/libQt5Widgets.so.5.2.1 /usr/lib/libQt5Gui.so.5.2.1 /usr/lib/libQt5Core.so.5.2.1 -Wl,-rpath,/home/gallaecio/proxectos/empaquetamento/repositorios/desktop/kbookmarks/src/build/src 
/usr/bin/ld: warning: libKF5Attica.so.4, needed by /usr/lib/libKF5XmlGui.so.4, not found (try using -rpath or -rpath-link)
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Person::~Person()'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Provider::~Provider()'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Person::city() const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Person::extendedAttribute(QString const&) const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::ItemJob<Attica::Person>::result() const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Metadata::~Metadata()'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Person::country() const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::ProviderManager::ProviderManager(QFlags<Attica::ProviderManager::ProviderFlag> const&)'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::ProviderManager::providers() const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Provider::name() const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Provider::Provider()'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Person::avatarUrl() const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::ProviderManager::loadDefaultProviders()'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Metadata::error() const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::ProviderManager::~ProviderManager()'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::BaseJob::staticMetaObject'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::BaseJob::start()'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::ProviderManager::providerByUrl(QUrl const&) const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Provider::isValid() const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Provider::requestPerson(QString const&)'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Person::homepage() const'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::Provider::operator=(Attica::Provider const&)'
/usr/lib/libKF5XmlGui.so.4: undefined reference to `Attica::BaseJob::metadata() const'
collect2: error: ld returned 1 exit status
make[2]: *** [tests/kbookmarkdialogtest] Error 1
make[2]: Leaving directory `/home/gallaecio/proxectos/empaquetamento/repositorios/desktop/kbookmarks/src/build'
make[1]: *** [tests/CMakeFiles/kbookmarkdialogtest.dir/all] Error 2
make[1]: Leaving directory `/home/gallaecio/proxectos/empaquetamento/repositorios/desktop/kbookmarks/src/build'
make: *** [all] Error 2


More information about the Kde-frameworks-devel mailing list