Reply to topic

Compile Tellico 3.0.1 on Fedora/Korora

bitmizer
Registered Member
Posts
8
Karma
0
This is what I did to install Tellico 3.0.1 on my Korora distro. I'll update this post until all errors are cleared.

NOTE: Any results are on proceeding posts to keep this one clean.

Download Tellico, extract tellico-3.0.1.tar.xz and change to new folder.
Code: Select all
$ cd tellico-3.0.1

I looked at CMakeLists.txt in the tellico-3.0.1 folder to see what modules and packages were being looked for and installed the libraries:
Code: Select all
$ sudo dnf install exempi-devel extra-cmake-modules kf5-karchive-devel kf5-kcodecs-devel kf5-kconfig-devel kf5-kconfigwidgets-devel kf5-kcoreaddons-devel kf5-kcrash-devel kf5-kdoctools-devel kf5-kfilemetadata-devel kf5-kguiaddons-devel kf5-khtml-devel kf5-kiconthemes-devel kf5-kio-devel kf5-kitemmodels-devel kf5-ki18n-devel kf5-kjobwidgets-devel kf5-knewstuff-devel kf5-kwallet-devel kf5-kwidgetsaddons-devel kf5-kwindowsystem-devel kf5-kxmlgui-devel kf5-solid-devel kf5-libkcddb-devel kf5-libkdepim-devel kf5-libksane-devel libv4l libv4l-devel libcsv-devel libdiscid-devel libxml2-devel libxslt-devel libyaz-devel poppler-qt5-devel qimageblitz qimageblitz-devel qt5-qtbase qt5-qtbase-devel qt5-qtbase-gui taglib-devel

NOTE: I noticed a difference between Fedora and Debian file naming conventions (i.e., -devel vs -dev and incl. of hyphenation):
Debian/Ubuntu: libexempi-dev kf5khtml-dev
Fedora/Korora: exempi-devel kf5-khtml-devel

Next, I used CMake to configure the compilation environment:
Code: Select all
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=`kf5-config --prefix` -DCMAKE_BUILD_TYPE=release -DENABLE_WEBCAM=TRUE

OPTIONS: -DCMAKE_BUILD_TYPE=debug -DENABLE_WEBCAM=TRUE -DBUILD_TESTS=TRUE -DBUILD_FETCHER_TESTS=TRUE

NOTE: If you want debugging use -DCMAKE_BUILD_TYPE=debug (I used all options to troubleshoot). Barcode scanner needs -DENABLE_WEBCAM=TRUE

If you see this:
Code: Select all
-- The following OPTIONAL packages have not been found:
 * Btparse

Ignore missing library and use btparse included with Tellico, per developer's instruction. https://forum.kde.org/viewtopic.php?f=200&t=139255#p373149
I could not find or it's equivalent: libbtparse libbtparse-dev libtaglib-ocaml-dev in the Fedora repository.

Code: Select all
$ make

Result: [100%] BLAH BLAH

Optionally, I tested my build by using:
Code: Select all
$ make test

Then I installed Tellico using:
Code: Select all
$ sudo make install

Last edited by bitmizer on Wed Mar 15, 2017 6:04 pm, edited 2 times in total.
bitmizer
Registered Member
Posts
8
Karma
0
Because I'm missing a couple of libraries, I decided to compile with troubleshooting in mind. I used the following CMake command:
Code: Select all
$ cmake .. -DCMAKE_INSTALL_PREFIX=`kf5-config --prefix` -DCMAKE_BUILD_TYPE=debug -DENABLE_WEBCAM=TRUE -DBUILD_TESTS=TRUE -DBUILD_FETCHER_TESTS=TRUE

The results were copied from the terminal and edited to include only what I thought was important.

CMake Results:
Code: Select all
-- Looking for strlwr - not found
-- Looking for strupr - not found

-- The following REQUIRED packages have been found:
 * ECM (required version >= 1.3.0)
 * Qt5Core
 * Qt5Gui (required version >= 5.7.1)
 * Qt5Widgets
 * Qt5Xml
 * Qt5DBus
 * Qt5Test
 * Qt5Network
 * Qt5 (required version >= 5.4.0)
 * KF5Archive
 * KF5Codecs
 * KF5Config
 * KF5ConfigWidgets
 * KF5CoreAddons
 * KF5Crash
 * KF5DocTools
 * KF5GuiAddons
 * KF5IconThemes
 * KF5ItemModels
 * PythonInterp
 * KF5I18n
 * KF5JobWidgets
 * KF5KIO
 * KF5Solid
 * KF5Wallet
 * KF5WidgetsAddons
 * KF5WindowSystem
 * KF5XmlGui
 * KF5
 * KF5KHtml
 * Gettext
 * LibXml2
 * LibXslt

-- The following OPTIONAL packages have been found:
 * KF5FileMetaData
 * KF5NewStuff
 * KF5Sane
 * KF5Cddb
 * Taglib
 * Yaz
 * PopplerQt5
 * Exempi
 * PkgConfig
 * DiscID
 * Csv

-- The following OPTIONAL packages have not been found:
 * Btparse

Make Results:
Code: Select all
I/O warning : failed to load external entity "/usr/share/kf5/kdoctools/customi
zation/xsl/pt-BR.xml"
No "pt_br" localization of "footer-doc-comment" exists; using "en".
No "pt_br" localization of "footer-doc-feedback" exists; using "en".
No "pt_br" localization of "footer-doc-teamname" exists; using "en".
[100%] Built target doc-pt-BR-index-cache-bz2
Scanning dependencies of target doc-ca-index-cache-bz2
[100%] Generating index.cache.bz2
[100%] Built target doc-ca-index-cache-bz2

Make Test Results:
Code: Select all
The following tests FAILED:
      34 - allocinefetchertest    (OTHER_FAULT)
      36 - animenfofetchertest    (Failed)
      45 – doubanfetchertest      (Failed)
      47 - entrezfetchertest      (Failed)
      49 - filmasterfetchertest   (Failed)
      50 - freebasefetchertest    (Failed)
      54 – hathitrustfetchertest  (Failed)
      55 - ibsfetchertest         (OTHER_FAULT)
      56 - imdbfetchertest        (OTHER_FAULT)
      57 – isbndbfetchertest      (Failed)
      59 - mrlookupfetchertest    (Failed)
      60 - musicbrainzfetchertest (Failed)
      62 - springerfetchertest    (OTHER_FAULT)
Errors while running CTest
Makefile:127: recipe for target 'test' failed
make: *** [test] Error 8

I went through the build process several times and fetchers 34 to 59 (listed above) failed consistently. I'm not sure if this was because there are no Tokens/API keys.

Using/Launching
When I launch Tellico from the menu, I get a "tellico Closed Unexpectedly" alert. If I click "Restart App", Tellico seems to work fine. Of course, I'm only using Music and Video collections right now. Here's the debug info:

[bug]
Application: tellico (tellico), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa2f8642980 (LWP 18438))]

Thread 3 (Thread 0x7fa2d10a5700 (LWP 18441)):
[KCrash Handler]
#6 0x00007fa2ef9e8f8d in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) () at /lib64/libQt5Core.so.5
#7 0x00007fa2f878dfb0 in QDBusConnectionPrivate::closeConnection() () at /lib64/libQt5DBus.so.5
#8 0x00007fa2f877a852 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#9 0x00007fa2ef81e9ca in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#10 0x00007fa2eba546ca in start_thread () at /lib64/libpthread.so.0
#11 0x00007fa2eec11f7f in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7fa2d23bc700 (LWP 18440)):
#0 0x00007fa2eec0601d in poll () at /lib64/libc.so.6
#1 0x00007fa2e84a9d10 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2 0x00007fa2e84abaa9 in xcb_wait_for_event () at /lib64/libxcb.so.1
#3 0x00007fa2d5997d69 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5
#4 0x00007fa2ef81e9ca in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5 0x00007fa2eba546ca in start_thread () at /lib64/libpthread.so.0
#6 0x00007fa2eec11f7f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7fa2f8642980 (LWP 18438)):
#0 0x00007fa2eba5a460 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007fa2ef81f04a in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2 0x00007fa2ef81e5ce in QThread::wait(unsigned long) () at /lib64/libQt5Core.so.5
#3 0x00007fa2f877a5a6 in QDBusConnectionManager::~QDBusConnectionManager() () at /lib64/libQt5DBus.so.5
#4 0x00007fa2f877a639 in (anonymous namespace)::Q_QGS__q_manager::innerFunction()::Holder::~Holder() () at /lib64/libQt5DBus.so.5
#5 0x00007fa2eeb44410 in __run_exit_handlers () at /lib64/libc.so.6
#6 0x00007fa2eeb4446a in () at /lib64/libc.so.6
#7 0x00007fa2ef82c8be in QCommandLineParser::process(QStringList const&) () at /lib64/libQt5Core.so.5
#8 0x00007fa2ef82c92f in QCommandLineParser::process(QCoreApplication const&) () at /lib64/libQt5Core.so.5
#9 0x00000000004f7762 in main(int, char**) (argc=3, argv=0x7fff7bcf5b18) at /home/xxxx/tellico-3.0.1/src/main.cpp:147
[/bug]
robbystephenson
KDE Developer
Posts
268
Karma
1
OS
bitmizer wrote:
Code: Select all
The following tests FAILED:
      34 - allocinefetchertest    (OTHER_FAULT)
      36 - animenfofetchertest    (Failed)
      45 – doubanfetchertest      (Failed)
      47 - entrezfetchertest      (Failed)
      49 - filmasterfetchertest   (Failed)
      50 - freebasefetchertest    (Failed)
      54 – hathitrustfetchertest  (Failed)
      55 - ibsfetchertest         (OTHER_FAULT)
      56 - imdbfetchertest        (OTHER_FAULT)
      57 – isbndbfetchertest      (Failed)
      59 - mrlookupfetchertest    (Failed)
      60 - musicbrainzfetchertest (Failed)
      62 - springerfetchertest    (OTHER_FAULT)
Errors while running CTest
Makefile:127: recipe for target 'test' failed
make: *** [test] Error 8

I went through the build process several times and fetchers 34 to 59 (listed above) failed consistently. I'm not sure if this was because there are no Tokens/API keys.

If you run the specific test directly, it might provide more info. But yes, some of them depend on API keys, and some of them are actually failing because of changes to different websites. That's why I separated all the fetcher tests from the regular unit tests with a different CMake build flag.

bitmizer wrote:Using/Launching
When I launch Tellico from the menu, I get a "tellico Closed Unexpectedly" alert. If I click "Restart App", Tellico seems to work fine. Of course, I'm only using Music and Video collections right now. Here's the debug info:

Unfortunately, the debug output doesn't appear to have anything related to Tellico in it. Have you compiled any other KDE-based applications? Do they exhibit any similar issues? I'm not exactly sure what to suggest there.
bitmizer
Registered Member
Posts
8
Karma
0
As I said in the other thread, I'm not a programmer and I am not too familiar with Linux, it's file structure or file extensions. This is the first time I have tried to compile anything. So, I'll apologize in advance for not getting the nomenclature correct while describing various interfaces and such.

On that note, I tried to find a couple of Tellico executables and desktop links and I noticed a difference in their properties. I made changes to the launcher link at All Applications --> Office and Tellico started without any errors.

I right-clicked the link and selected Properties and left-clicked Edit Application. Once the Properties dialogue appeared, I selected the Application tab and edited the Command field:

From:
Code: Select all
tellico -caption %c %u

To:
Code: Select all
tellico -qwindowtitle %c %u

I repeated this for every link in the launcher. I don't understand why, but Tellico launches without any alerts. Essentially, it works fine. I did have have 2.3.12 (KDE4) installed previously. The link wasn't updated during my 3.0.1 installation?

Now about tests. I notice that one of my cpu cores was pegged at 100% after running make test. So I opened System Monitor and found a process name "python" and hovered my mouse over it. The tool tip showed the process fr.allocine.py which didn't terminate after the test. I had to manually end the process.

I took a closer look at the LastTest.log and found warnings in core modules and fetchers, as well as stack dumps for fetchers. One of the stack dumps was for allocinefetchertest. The file is pretty long and I'm not sure if you would like me to post or email it. What should I do with the log?

EDIT: Tellico closes fine through its menu, but I intermittently get the alert window (Restart App/Report Bug) when I click the close button on the upper-right of the window. I'm going to try to consistently replicate the fault. Doesn't KDE5/Plasma not like Tellico? How do I fix this?
robbystephenson
KDE Developer
Posts
268
Karma
1
OS
bitmizer wrote:As I said in the other thread, I'm not a programmer and I am not too familiar with Linux, it's file structure or file extensions. This is the first time I have tried to compile anything. So, I'll apologize in advance for not getting the nomenclature correct while describing various interfaces and such.

No worries. You've made a lot of progress, and I'm happy to try to help.
bitmizer wrote:
Code: Select all
tellico -qwindowtitle %c %u
I repeated this for every link in the launcher. I don't understand why, but Tellico launches without any alerts. Essentially, it works fine. I did have have 2.3.12 (KDE4) installed previously. The link wasn't updated during my 3.0.1 installation.

That qwindowtitle string is in the org.kde.tellico.desktop file that gets installed. If you had a previous version of Tellico installed for KDE4, I would uninstall it. Since the desktop file name changed, it's likely you were executing the old one.
bitmizer wrote:Now about tests. I notice that one of my cpu cores was pegged at 100% after running make test. So I opened System Monitor and found a process name "python" and hovered my mouse over it. The tool tip showed the process fr.allocine.py which didn't terminate after the test. I had to manually end the process.

I took a closer look at the LastTest.log and found warnings in core modules and fetchers, as well as stack dumps for fetchers. One of the stack dumps was for allocinefetchertest. The file is pretty long and I'm not sure if you would like me to post or email it. What should I do with the log?

The old version of the Allocine data source did use a python script, but the current version uses a direct API. I should just remove the tests for the old version. Don't bother worrying about that one.
bitmizer wrote:Tellico closes fine through its menu, but I intermittently get the alert window (Restart App/Report Bug) when I click the close button on the upper-right of the window. I'm going to try to consistently replicate the fault. Doesn't KDE5/Plasma not like Tellico? How do I fix this?

If you can get a backtrace of that crash, it might be helpful.
bitmizer
Registered Member
Posts
8
Karma
0
I'm not sure if this is a "backtrace" you're talking about, but this is what i get when I click Debug in the alert window:
Code: Select all
Application: tellico (tellico), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa259990980 (LWP 14897))]

Thread 2 (Thread 0x7fa2323f3700 (LWP 14900)):
#0  0x00007fa245776925 in g_main_context_query () at /lib64/libglib-2.0.so.0
#1  0x00007fa2457770d8 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007fa24577727c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007fa250d5a6eb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007fa250d0b68a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007fa250b685e3 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007fa259ac8739 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#7  0x00007fa250b6c9ca in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007fa24cda26ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007fa24ff5ff7f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7fa259990980 (LWP 14897)):
[KCrash Handler]
#6  0x00007fa254430f34 in QHash<QString, bool>::deleteNode2(QHashData::Node*) () at /lib64/libKF5IconThemes.so.5
#7  0x00007fa250bc0129 in QHashData::free_helper(void (*)(QHashData::Node*)) () at /lib64/libQt5Core.so.5
#8  0x00007fa25442d3fc in KIconLoader::~KIconLoader() () at /lib64/libKF5IconThemes.so.5
#9  0x00007fa25442d459 in (anonymous namespace)::Q_QGS_globalIconLoader::innerFunction()::Holder::~Holder() () at /lib64/libKF5IconThemes.so.5
#10 0x00007fa24fe92410 in __run_exit_handlers () at /lib64/libc.so.6
#11 0x00007fa24fe9246a in  () at /lib64/libc.so.6
#12 0x00007fa24fe78408 in __libc_start_main () at /lib64/libc.so.6
#13 0x0000000000473bda in _start ()

Steps to duplicate crash:
Launch Telllico, close Tip of the Day, Settings-→Configure (Tellico or Toolbars or Shortcuts), click Cancel (or OK for changes), exit Tellico (either by close button on upper-right of window, or Tellico icon upper-left of window or Menu-->Exit). If I remember correctly, this didn't appear until I changed properties value to "-qwindowtitle" which solved my crash during launch.

Sometimes I'll get this:
Code: Select all
Application: tellico (tellico), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f313f326980 (LWP 18593))]

Thread 2 (Thread 0x7f3113d50700 (LWP 18596)):
#0 0x00007fff71df8941 in ()
#1 0x00007fff71df8bd9 in clock_gettime ()
#2 0x00007f3135904726 in clock_gettime () at /lib64/libc.so.6
#3 0x00007f3136599b31 in qt_gettime() () at /lib64/libQt5Core.so.5
#4 0x00007f31366eed99 in QTimerInfoList::updateCurrentTime() () at /lib64/libQt5Core.so.5
#5 0x00007f31366ef195 in QTimerInfoList::timerWait(timespec&) () at /lib64/libQt5Core.so.5
#6 0x00007f31366f038c in timerSourcePrepareHelper(GTimerSource*, int*) () at /lib64/libQt5Core.so.5
#7 0x00007f31366f0455 in timerSourcePrepare(_GSource*, int*) () at /lib64/libQt5Core.so.5
#8 0x00007f312b10c69d in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#9 0x00007f312b10d08b in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#10 0x00007f312b10d27c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#11 0x00007f31366f06eb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#12 0x00007f31366a168a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#13 0x00007f31364fe5e3 in QThread::exec() () at /lib64/libQt5Core.so.5

I clicked a link in the Report window and I got this message:

The packages containing debug information for the following application and libraries are missing:

/usr/bin/tellico

I'm confused.

 
Reply to topic

Bookmarks



Who is online

Registered users: agrieg, Bing [Bot], boudewijn, Exabot [Bot], Google [Bot], jehojakim2, Majestic-12 [Bot], slowfish, Sogou [Bot], tobym, Yahoo [Bot]