<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/115907/">https://git.reviewboard.kde.org/r/115907/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On February 20th, 2014, 10:46 a.m. UTC, <b>Alex Merry</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Can you describe the problem this fixes? Are the tests directly using these libraries somehow?</pre>
</blockquote>
<p>On February 20th, 2014, 9:31 p.m. UTC, <b>Adrián Chaves Fernández</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">If I build with these steps:
mkdir -p build && cd build
cmake ../kxmlgui-4.96.0 \
-DCMAKE_INSTALL_PREFIX=/usr/bin \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DLIB_INSTALL_DIR=lib \
-DSYSCONF_INSTALL_DIR=/etc
make
In Chakra, I cannot get it to build. Without these changes, I get something like this when building the tests:
Linking CXX executable kbugreporttest
cd /home/gallaecio/proxectos/empaquetamento/repositorios/desktop/kxmlgui/src/build/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/kbugreporttest.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/kbugreporttest.dir/kbugreporttest.cpp.o CMakeFiles/kbugreporttest.dir/kbugreporttest_automoc.cpp.o -o kbugreporttest -rdynamic /usr/lib/libQt5Test.so.5.2.1 /usr/lib/libKF5WidgetsAddons.so.4.96.0 /usr/lib/libKF5I18n.so.4.96.0 ../src/libKF5XmlGui.so.4.96.0 /usr/lib/libKF5ConfigWidgets.so.4.96.0 /usr/lib/libKF5Codecs.so.4.96.0 /usr/lib/libKF5Auth.so.4.96.0 /usr/lib/libKF5I18n.so.4.96.0 /usr/lib/libKF5CoreAddons.so.4.96.0 /usr/lib/libKF5WidgetsAddons.so.4.96.0 /usr/lib/libKF5ConfigGui.so.4.96.0 /usr/lib/libQt5Xml.so.5.2.1 /usr/lib/libKF5ConfigCore.so.4.96.0 /usr/lib/libQt5Widgets.so.5.2.1 /usr/lib/libQt5Gui.so.5.2.1 /usr/lib/libQt5DBus.so.5.2.1 /usr/lib/libQt5Core.so.5.2.1 -Wl,-rpath,/home/gallaecio/proxectos/empaquetamento/repositorios/desktop/kxmlgui/src/build/src
/usr/bin/ld: warning: libKF5Attica.so.4, needed by ../src/libKF5XmlGui.so.4.96.0, not found (try using -rpath or -rpath-link)
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Person::~Person()'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Provider::~Provider()'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Person::city() const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Person::extendedAttribute(QString const&) const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::ItemJob<Attica::Person>::result() const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Metadata::~Metadata()'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Person::country() const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::ProviderManager::ProviderManager(QFlags<Attica::ProviderManager::ProviderFlag> const&)'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::ProviderManager::providers() const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Provider::name() const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Provider::Provider()'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Person::avatarUrl() const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::ProviderManager::loadDefaultProviders()'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Metadata::error() const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::ProviderManager::~ProviderManager()'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::BaseJob::staticMetaObject'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::BaseJob::start()'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::ProviderManager::providerByUrl(QUrl const&) const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Provider::isValid() const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Provider::requestPerson(QString const&)'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Person::homepage() const'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::Provider::operator=(Attica::Provider const&)'
../src/libKF5XmlGui.so.4.96.0: undefined reference to `Attica::BaseJob::metadata() const'
collect2: error: ld returned 1 exit status
make[2]: *** [tests/kbugreporttest] Error 1
make[2]: Leaving directory `/home/gallaecio/proxectos/empaquetamento/repositorios/desktop/kxmlgui/src/build'
make[1]: *** [tests/CMakeFiles/kbugreporttest.dir/all] Error 2
make[1]: Leaving directory `/home/gallaecio/proxectos/empaquetamento/repositorios/desktop/kxmlgui/src/build'
make: *** [all] Error 2</pre>
</blockquote>
<p>On February 20th, 2014, 10:26 p.m. UTC, <b>Adrián Chaves Fernández</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hmm…
I’ve been toying around, changing things here and there. And here is what I found:
Attica installs in lib64. Then, KXmlGui detects it but tests fail to build. However, if I copy /usr/lib64/* into /usr/lib, KXmlGui builds fine. Maybe this lib64 thing is the key of the issue?</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ah, I bet I know what it is. Our CMake installation/RPath setup figures that, since you're installing to /usr, the RPath doesn't need to be set. It also figures that lib64 is the correct installation directory for a 64-bit non-Debian system. This appears not to hold for Chakra, where I guess that /usr/lib64 isn't in /etc/ld.so.conf.
On ArchLinux, I wouldn't run into this problem, because there is a symlink from /usr/lib64 to /usr/lib. So you have three options: override LIB_INSTALL_DIR for your KDE packages, add /usr/lib64 to /etc/ld.so.conf (and run ldconfig), or symlink /usr/lib64 to /usr/lib.</pre>
<br />
<p>- Alex</p>
<br />
<p>On February 20th, 2014, 5:53 a.m. UTC, Adrián Chaves Fernández wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for KDE Frameworks.</div>
<div>By Adrián Chaves Fernández.</div>
<p style="color: grey;"><i>Updated Feb. 20, 2014, 5:53 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kxmlgui
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Uses the optional extra libraries in the tests as well.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Tests build with and without KF5Attica.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>CMakeLists.txt <span style="color: grey">(4db9ac5)</span></li>
<li>autotests/CMakeLists.txt <span style="color: grey">(01725da)</span></li>
<li>src/CMakeLists.txt <span style="color: grey">(a0dd642)</span></li>
<li>tests/CMakeLists.txt <span style="color: grey">(413fa92)</span></li>
<li>tests/krichtexteditor/CMakeLists.txt <span style="color: grey">(45c1abe)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/115907/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>