New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails on Slackware 14.1 64 bits [SOLVED] #226

Closed
richarson opened this Issue Jun 21, 2016 · 55 comments

Comments

Projects
None yet
2 participants
@richarson

richarson commented Jun 21, 2016

I'm obvoiusly missing something but I'm not sure what.
Do I need some -D flag to specify QQmlEngine's location?

I tried googling but found nothing concrete, any hints appreciated.

$ export LANG=C

$ slp qt5
qt5-5.5.1-x86_64-4alien

$ git clone https://github.com/pbek/QOwnNotes.git -b master
Cloning into 'QOwnNotes'...
remote: Counting objects: 12267, done.
remote: Compressing objects: 100% (359/359), done.
remote: Total 12267 (delta 195), reused 0 (delta 0), pack-reused 11897
Receiving objects: 100% (12267/12267), 39.42 MiB | 1.60 MiB/s, done.
Resolving deltas: 100% (8783/8783), done.
Checking connectivity... done.

$ cd QOwnNotes/

$ git submodule update --init
Submodule 'src/libraries/piwiktracker' (https://github.com/pbek/qt-piwik-tracker.git) registered for path 'src/libraries/piwiktracker'
Submodule 'src/libraries/qmarkdowntextedit' (https://github.com/pbek/qmarkdowntextedit.git) registered for path 'src/libraries/qmarkdowntextedit'
Cloning into 'src/libraries/piwiktracker'...
remote: Counting objects: 57, done.
remote: Total 57 (delta 0), reused 0 (delta 0), pack-reused 57
Unpacking objects: 100% (57/57), done.
Checking connectivity... done.
Submodule path 'src/libraries/piwiktracker': checked out '31f09eff4015e3bf0defe881e31bc35664f0682a'
Cloning into 'src/libraries/qmarkdowntextedit'...
remote: Counting objects: 336, done.
remote: Total 336 (delta 0), reused 0 (delta 0), pack-reused 336
Receiving objects: 100% (336/336), 533.57 KiB | 265.00 KiB/s, done.
Resolving deltas: 100% (212/212), done.
Checking connectivity... done.
Submodule path 'src/libraries/qmarkdowntextedit': checked out '7a680805e6b28123c334c4c7bc6b8c8db26abf46'

$ cd src

$ qmake
Project MESSAGE: Currently in RELEASE mode.
Project MESSAGE: Warning: unknown QT: qml

$ make
/usr/lib64/qt/bin/uic mainwindow.ui -o ui_mainwindow.h
/usr/lib64/qt/bin/uic dialogs/notediffdialog.ui -o ui_notediffdialog.h
/usr/lib64/qt/bin/uic dialogs/aboutdialog.ui -o ui_aboutdialog.h
/usr/lib64/qt/bin/uic dialogs/updatedialog.ui -o ui_updatedialog.h
/usr/lib64/qt/bin/uic dialogs/settingsdialog.ui -o ui_settingsdialog.h
/usr/lib64/qt/bin/uic dialogs/versiondialog.ui -o ui_versiondialog.h
/usr/lib64/qt/bin/uic dialogs/trashdialog.ui -o ui_trashdialog.h
/usr/lib64/qt/bin/uic dialogs/linkdialog.ui -o ui_linkdialog.h
/usr/lib64/qt/bin/uic dialogs/tododialog.ui -o ui_tododialog.h
/usr/lib64/qt/bin/uic dialogs/passworddialog.ui -o ui_passworddialog.h
/usr/lib64/qt/bin/uic dialogs/welcomedialog.ui -o ui_welcomedialog.h
/usr/lib64/qt/bin/uic dialogs/tagadddialog.ui -o ui_tagadddialog.h
/usr/lib64/qt/bin/uic dialogs/logdialog.ui -o ui_logdialog.h
/usr/lib64/qt/bin/uic libraries/qmarkdowntextedit/qtexteditsearchwidget.ui -o ui_qtexteditsearchwidget.h
g++ -c -pipe -fPIC -fpermissive -finline-functions -Wno-long-long -O2 -Wall -W -D_REENTRANT -DBOTAN_DLL= -DBOTAN_TARGET_OS_HAS_GETTIMEOFDAY -DBOTAN_HAS_ALLOC_MMAP -DBOTAN_HAS_ENTROPY_SRC_DEV_RANDOM -DBOTAN_HAS_ENTROPY_SRC_EGD -DBOTAN_HAS_ENTROPY_SRC_FTW -DBOTAN_HAS_ENTROPY_SRC_UNIX -DBOTAN_HAS_MUTEX_PTHREAD -DBOTAN_HAS_PIPE_UNIXFD_IO -DBOTAN_TARGET_OS_IS_LINUX -DBOTAN_TARGET_OS_HAS_CLOCK_GETTIME -DBOTAN_TARGET_OS_HAS_DLOPEN -DBOTAN_TARGET_OS_HAS_GMTIME_R -DBOTAN_TARGET_OS_HAS_POSIX_MLOCK -DBOTAN_HAS_DYNAMICALLY_LOADED_ENGINE -DBOTAN_HAS_DYNAMIC_LOADER -DBOTAN_BUILD_COMPILER_IS_GCC -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib64/qt/mkspecs/linux-g++ -I. -I/usr/lib64/qt/include/QtCore -I/usr/lib64/qt/include/QtNetwork -I/usr/lib64/qt/include/QtGui -I/usr/lib64/qt/include/QtXml -I/usr/lib64/qt/include/QtSql -I/usr/lib64/qt/include/QtSvg -I/usr/lib64/qt/include -Ilibraries -Ilibraries/qmarkdowntextedit -Ilibraries/qmarkdowntextedit -Ilibraries/qmarkdowntextedit -Ilibraries/piwiktracker -Ilibraries -I. -I. -o main.o main.cpp
In file included from mainwindow.h:19:0,
                 from main.cpp:2:
./services/scriptingservice.h:4:22: fatal error: QQmlEngine: No such file or directory
 #include <QQmlEngine>
                      ^
compilation terminated.
make: *** [main.o] Error 1

$ locate QQmlEngine
/usr/include/qt5/QtQml/QQmlEngine
@pbek

This comment has been minimized.

Owner

pbek commented Jun 22, 2016

That's strange, just using qmake; make should be enough...

Maybe you need to set a QTDIR (and maybe also PATH), like here:
https://github.com/pbek/QOwnNotes/blob/develop/.travis.yml

@pbek pbek added the question label Jun 22, 2016

@pbek

This comment has been minimized.

Owner

pbek commented Jun 22, 2016

Usually QML is located inside a package like libqt5-qtdeclarative-devel (example from openSUSE).

@richarson

This comment has been minimized.

richarson commented Jun 22, 2016

Slackware doesn't usually split packages up so there's only qt5 with everything, my env has:

$ env | grep QT
QT5DIR=/usr/lib64/qt5
QT4DIR=/usr/lib64/qt
QT_PLUGIN_PATH=/home/richis/.kde/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/

and $QT5DIR is already in my $PATH but after $QT4DIR

I'll try setting QTDIR=$QT5DIR and removing $QT4DIR from my $PATH.

Thanks for the pointers!

@richarson

This comment has been minimized.

richarson commented Jun 22, 2016

Man, I'm so stupid!

I have both qt4 and qt5, so I have qmake and qmake-qt5 ...

It's compiling now, thanks for your help and sorry for the false alarm.

This is the series of commands I had to use, if you want to add instructions for Slackware (but if I like QOwnNotes, I'll probably make a slackBuild script and contribute it to https://slackbuilds.org/):

# After installing qt5 from AlienBOB's repositories
# http://bear.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86/qt5/
# or
# http://bear.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86_64/qt5/

git clone https://github.com/pbek/QOwnNotes.git -b master
cd QOwnNotes/
git submodule update --init
cd src/
qmake-qt5
make
sudo make install

@richarson richarson closed this Jun 22, 2016

@pbek

This comment has been minimized.

Owner

pbek commented Jun 22, 2016

I'm glad it worked now! But to be true I don't know if make install does all the things to do...
You can see here what I did for OBS:
https://github.com/pbek/QOwnNotes/blob/develop/obs/qownnotes.spec

Slackbuilds: That's great! If it's something I should maintain (e.g. update commit tags) I happily will...
Also there are source code archives (with the git submodules included) here: https://sourceforge.net/projects/qownnotes/files/src/

@richarson richarson changed the title from Buid fails on Slackware 14.1 64 bits to Build fails on Slackware 14.1 64 bits Jun 22, 2016

@richarson richarson changed the title from Build fails on Slackware 14.1 64 bits to Build fails on Slackware 14.1 64 bits [SOLVED] Jun 22, 2016

@richarson

This comment has been minimized.

richarson commented Jun 22, 2016

OK, I checked the .spec and replicated those install commands in my script, seems to be fine now!

The slackbuild is in my git repo for the moment, if you want to check it out:
https://github.com/richarson/slackbuilds/tree/master/14.1/qownnotes

I've no problem maintaining it but if you want to take it that's fine also.

Slackbuilds.org is not accepting new submissions ATM (testing and waiting for Slackware 14.2, which is coming Real Soon Now!) but I can check their mailing list, or just wait till 14.2 gets released.

@richarson

This comment has been minimized.

richarson commented Jun 22, 2016

Well, it compiles and installs fine, but segfaults :(

A gdb backtrace shows it seems to be trying to use some KDE files (/usr/lib64/libkdecore.so.5, /usr/lib64/libproxy/0.4.11/modules/config_kde4.so).

I'm using KDE SC 4.14.6 BTW, no Plasma 5 for Slackware 14.1, can that be a problem?

@pbek

This comment has been minimized.

Owner

pbek commented Jun 23, 2016

SlackBuild: wonderful, great work! I guess I will create a repository and update it as part of my build process, so you don't have to worry! Thanks a lot for your help!

Segfault: Maybe you have to set QTDIR because you use a different version of Qt.
We do that at http://www.qownnotes.org/installation#Linux for Ubuntu Trusty...
/opt/qt56/bin/qt56-env.sh does the magic in that case...

If you can't find the variables (I didn't find the content of the shell script) I will take a look if I can find it somewhere...

Maybe this helps:

export QTDIR="/opt/qt55" && export PATH="$QTDIR/bin:$PATH" && qt55-env.sh
export PKG_CONFIG_PATH="/opt/qt55/lib/pkgconfig:$PKG_CONFIG_PATH"

Can we integrate a start script with the variables into the SlackBuild?

@pbek

This comment has been minimized.

Owner

pbek commented Jun 23, 2016

SlackBuild: Is there a "best practice" to use such a git repository on Slackware? I haven't found anything else rather than cloning the repository, downloading the archive manually, installing all dependencies manually and running the SlackBuild script...
And so far I didn't manage to install Qt5...
Do you have any insights on this, @richarson?

@richarson

This comment has been minimized.

richarson commented Jun 23, 2016

Sorry for my late reply (stuck at work).

You're basically right, to use the slackbuild script, download the content of https://github.com/richarson/slackbuilds/tree/master/14.1/qownnotes, install the dependencies listed in the .info file, e.g.:

wget http://bear.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86_64/qt5/qt5-5.5.1-x86_64-4alien.txz
sudo installpkg qt5-5.5.1-x86_64-4alien.txz

Then donwload http://downloads.sourceforge.net/project/qownnotes/src/qownnotes-16.06.10.tar.xz in the same directory as the slackbuild and execute ./qownnotes.SlackBuild as root.

That'll leave a package in /tmp that you can install with:

sudo installpkg /tmp/qownnotes-16.06.10-x86_64-1_SBo.tgz

I'll check your recomendations later at home, thanks!

@pbek

This comment has been minimized.

Owner

pbek commented Jun 24, 2016

Thank you for your explanation, I will try that.
Is that the usual way to do things? I saw you added a lot of meta information, like the qt5 dependency and the download link with checksum to your repository. What is the use of the repository?

I want to write an install guide for Slackware for https://github.com/pbek/qownnotes-slackbuilds.

@pbek

This comment has been minimized.

Owner

pbek commented Jun 24, 2016

I installed Qt5 and tried to build QOwnNotes, but I have a missing libicui18n, did you have the same problem? Do you know where to get it for Slackware?

Edit: I'm running a Slackware 14.2.

virtualbox_slackware_24_06_2016_07_14_12

@pbek

This comment has been minimized.

Owner

pbek commented Jun 24, 2016

That was my problem. I only found a ready Slackware 14.2 Virtualbox VM, no 14.1. (I have no experience setting up Slackware myself). libicui18n.51 is for 14.1, 14.2 is using libicui18n.56... You you know a VM with e.g. KDE for 14.1 or a Qt 5 package for 14.2?

@richarson

This comment has been minimized.

richarson commented Jun 24, 2016

Re slackbuilds: yes, usually you manually download and install slackbuilds and its dependencies, but there are some automation tools (sbotools, slpkg, etc).

Re versions: I guess with Slackware 14.2 being so close there's no point in triyng to make it work on 14.1. If you already have a VM with -current (a.k.a. 14.2 development) you can install a (newer) qt5 compiled for -current from here:

http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86_64/qt5/

@pbek

This comment has been minimized.

Owner

pbek commented Jun 24, 2016

Sounds promising, I will test that. Thanks a lot!
Did you have any luck yet with running QOwnNotes with Qt 5?

@richarson

This comment has been minimized.

richarson commented Jun 24, 2016

El Viernes 24/06/2016, Patrizio Bekerle escribió:

Sounds promising, I will test that. Thanks a lot!
Did you have any luck yet with running QOwnNotes with Qt 5?

Haven't tried yet, hopefully tonight I will.

Ricardo J. Barberis
Usuario Linux Nº 250625: http://counter.li.org/
Usuario LFS Nº 5121: http://www.linuxfromscratch.org/
Senior SysAdmin / IT Architect - www.DonWeb.com

@pbek

This comment has been minimized.

Owner

pbek commented Jun 25, 2016

The "official" QOwnNotes repository with the current version 16.06.12 is now in place: https://github.com/pbek/qownnotes-slackbuilds

@pbek

This comment has been minimized.

Owner

pbek commented Jun 25, 2016

I still get errors when building for Slackware 14.2, maybe this will work when Slackware 14.2 is released...

I wrote a disclaimer for http://www.qownnotes.org/installation#Slackware.
If you get the chance to test the build process that would be awesome.

@richarson

This comment has been minimized.

richarson commented Jun 25, 2016

Variables: qt5 package comes with a file that sets some env:

cat /etc/profile.d/qt5.sh
#!/bin/sh
# Environment variables for the Qt package.
#
# It's best to use the generic directory to avoid
# compiling in a version-containing path:
if [ -d /usr/lib64/qt5 ]; then
  QT5DIR=/usr/lib64/qt5
else
  # Find the newest Qt directory and set $QT5DIR to that:
  for qtd in /usr/lib64/qt5-* ; do
    if [ -d $qtd ]; then
      QT5DIR=$qtd
    fi
  done
fi
PATH="$PATH:$QT5DIR/bin"
export QT5DIR

PKGCONFIG and PATH shouldn't be a problem, I'll try setting QTDIR=$QT5DIR

Is there a way to build with debug on (besides not stripping the binaries)?

@pbek

This comment has been minimized.

Owner

pbek commented Jun 26, 2016

Did you execute /etc/profile.d/qt5.sh and it still didn't work?

debug: You just have to use the parameter CONFIG+=debug with qmake.

@richarson

This comment has been minimized.

richarson commented Jun 26, 2016

Yes, QTDIR gets picked up fine but no luck on Slackware 14.1 so far, still segfaults.

Right now I'm upgrading 2 VMs (32 and 64 bits) from Slack 14.1 to current and will try there.
In the meantime I'm triyng to do a debug build on my laptop.

Oh, and realized that if I delete ~/.config/PBE QOwnNotes wizards starts fine but segfaults later.

@richarson

This comment has been minimized.

richarson commented Jun 26, 2016

Weird thing, I just started QOwnNotes and the wizard started so I clicked next.

If I click on "open ownClod settings" it segfaults.
If I click Next and "open network settings" I can configure it, change "Use system proxy" to "No Proxy" and QOwnNotes doesn't segfault, yay!

I'm collecting QOwnNote's debug information from before and after running the wizard, would you like me to send them to you or simply setting a default "networking/proxyType" is enough?

@pbek

This comment has been minimized.

Owner

pbek commented Jun 26, 2016

I'm curious what segfaults... I remember having compile problem with the Qt library under 14.2. If you send me the errors I will take a look at them... I wonder if the Qt 5 libraries for Slackware have some problems...

@richarson

This comment has been minimized.

richarson commented Jun 26, 2016

Attached a .zip with QOwnNotes Debug Information1.md (first run, before configuring the proxy) and QOwnNotes Debug Information2.md (succesful run, after configuring the proxy).

QOwnNotes Debug Information.zip

The segfault:

$ QOwnNotes
QSqlQuery::prepare: database not open
countAll :  QSqlError("", "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
store :  QSqlError("", "Driver not loaded", "Driver not loaded")
Segmentation fault

And here's a gdb backtrace:

$ gdb -q QOwnNotes
Reading symbols from /usr/bin/QOwnNotes...done.
(gdb) run
Starting program: /usr/bin/QOwnNotes 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.3600.4-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
[New Thread 0x7fffebba3700 (LWP 7917)]
[New Thread 0x7fffead44700 (LWP 7918)]
QSqlQuery::prepare: database not open
countAll :  QSqlError("", "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
store :  QSqlError("", "Driver not loaded", "Driver not loaded")
[New Thread 0x7fffe3529700 (LWP 7919)]
[Thread 0x7fffe3529700 (LWP 7919) exited]
[New Thread 0x7fffe3529700 (LWP 7920)]
[Thread 0x7fffe3529700 (LWP 7920) exited]
[New Thread 0x7fffe3529700 (LWP 7921)]
[New Thread 0x7fffe1fc8700 (LWP 7922)]
[Thread 0x7fffe1fc8700 (LWP 7922) exited]
[New Thread 0x7fffe1fc8700 (LWP 7923)]

Program received signal SIGSEGV, Segmentation fault.
0x00007fffd73981ba in ?? () from /usr/lib64/libkdecore.so.5
(gdb) 
(gdb) bt
#0  0x00007fffd73981ba in ?? () from /usr/lib64/libkdecore.so.5
#1  0x00007fffd7521806 in ?? () from /usr/lib64/libkdecore.so.5
#2  0x00007fffd77c89b0 in ?? () from /usr/lib64/libproxy/0.4.11/modules/config_kde4.so
#3  0x0000000000000001 in ?? ()
#4  0x00007fffffffdca8 in ?? ()
#5  0x00007fffd738d25f in _init () from /usr/lib64/libkdecore.so.5
#6  0x00007fffd77c8e00 in ?? () from /usr/lib64/libproxy/0.4.11/modules/config_kde4.so
#7  0x00007ffff7de8acf in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2
#8  0x00007ffff7ded61f in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#9  0x00007ffff7de8924 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#10 0x00007ffff7decc7b in _dl_open () from /lib64/ld-linux-x86-64.so.2
#11 0x00007ffff79ce01b in dlopen_doit () from /lib64/libdl.so.2
#12 0x00007ffff7de8924 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#13 0x00007ffff79ce61d in _dlerror_run () from /lib64/libdl.so.2
#14 0x00007ffff79ce0b1 in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2
#15 0x00007ffff2ecd8d5 in libmodman::module_manager::load_file(std::string, bool) () from /usr/lib64/libproxy.so.1
#16 0x00007ffff2ecdc63 in libmodman::module_manager::load_dir(std::string, bool) () from /usr/lib64/libproxy.so.1
#17 0x00007ffff2ebf35e in ?? () from /usr/lib64/libproxy.so.1
#18 0x00007ffff2ec004b in px_proxy_factory_new () from /usr/lib64/libproxy.so.1
#19 0x00007ffff5a1cb9d in QNetworkProxyFactory::systemProxyForQuery(QNetworkProxyQuery const&) () from /usr/lib64/libQt5Network.so.5
#20 0x00007ffff5a14911 in ?? () from /usr/lib64/libQt5Network.so.5
#21 0x00007ffff5a1407f in ?? () from /usr/lib64/libQt5Network.so.5
#22 0x00007ffff5a144f8 in QNetworkProxyFactory::proxyForQuery(QNetworkProxyQuery const&) () from /usr/lib64/libQt5Network.so.5
#23 0x00007ffff59c2e88 in ?? () from /usr/lib64/libQt5Network.so.5
#24 0x00007ffff59e8494 in ?? () from /usr/lib64/libQt5Network.so.5
#25 0x00007ffff59ea1a4 in ?? () from /usr/lib64/libQt5Network.so.5
#26 0x00007ffff59ea4f8 in ?? () from /usr/lib64/libQt5Network.so.5
#27 0x00007ffff5a6a791 in ?? () from /usr/lib64/libQt5Network.so.5
#28 0x00007ffff5300016 in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5
#29 0x00007ffff6dec5cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#30 0x00007ffff6df14f8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#31 0x00007ffff52cf575 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#32 0x00007ffff52d1737 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQt5Core.so.5
#33 0x00007ffff5326cb3 in ?? () from /usr/lib64/libQt5Core.so.5
#34 0x00007ffff388c316 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#35 0x00007ffff388c668 in ?? () from /usr/lib64/libglib-2.0.so.0
#36 0x00007ffff388c70c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#37 0x00007ffff532612c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#38 0x00007ffff52cd443 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#39 0x00007ffff52d4fb6 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#40 0x000000000042b295 in main ()
(gdb)
#0  0x00007fffd73981ba in ?? () from /usr/lib64/libkdecore.so.5
#1  0x00007fffd7521806 in ?? () from /usr/lib64/libkdecore.so.5
#2  0x00007fffd77c89b0 in ?? () from /usr/lib64/libproxy/0.4.11/modules/config_kde4.so
#3  0x0000000000000001 in ?? ()
#4  0x00007fffffffdca8 in ?? ()
#5  0x00007fffd738d25f in _init () from /usr/lib64/libkdecore.so.5
#6  0x00007fffd77c8e00 in ?? () from /usr/lib64/libproxy/0.4.11/modules/config_kde4.so
#7  0x00007ffff7de8acf in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2
#8  0x00007ffff7ded61f in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#9  0x00007ffff7de8924 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#10 0x00007ffff7decc7b in _dl_open () from /lib64/ld-linux-x86-64.so.2
#11 0x00007ffff79ce01b in dlopen_doit () from /lib64/libdl.so.2
#12 0x00007ffff7de8924 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#13 0x00007ffff79ce61d in _dlerror_run () from /lib64/libdl.so.2
#14 0x00007ffff79ce0b1 in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2
#15 0x00007ffff2ecd8d5 in libmodman::module_manager::load_file(std::string, bool) () from /usr/lib64/libproxy.so.1
#16 0x00007ffff2ecdc63 in libmodman::module_manager::load_dir(std::string, bool) () from /usr/lib64/libproxy.so.1
#17 0x00007ffff2ebf35e in ?? () from /usr/lib64/libproxy.so.1
#18 0x00007ffff2ec004b in px_proxy_factory_new () from /usr/lib64/libproxy.so.1
#19 0x00007ffff5a1cb9d in QNetworkProxyFactory::systemProxyForQuery(QNetworkProxyQuery const&) () from /usr/lib64/libQt5Network.so.5
#20 0x00007ffff5a14911 in ?? () from /usr/lib64/libQt5Network.so.5
#21 0x00007ffff5a1407f in ?? () from /usr/lib64/libQt5Network.so.5
#22 0x00007ffff5a144f8 in QNetworkProxyFactory::proxyForQuery(QNetworkProxyQuery const&) () from /usr/lib64/libQt5Network.so.5
#23 0x00007ffff59c2e88 in ?? () from /usr/lib64/libQt5Network.so.5
#24 0x00007ffff59e8494 in ?? () from /usr/lib64/libQt5Network.so.5
#25 0x00007ffff59ea1a4 in ?? () from /usr/lib64/libQt5Network.so.5
#26 0x00007ffff59ea4f8 in ?? () from /usr/lib64/libQt5Network.so.5
#27 0x00007ffff5a6a791 in ?? () from /usr/lib64/libQt5Network.so.5
#28 0x00007ffff5300016 in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5
#29 0x00007ffff6dec5cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#30 0x00007ffff6df14f8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#31 0x00007ffff52cf575 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#32 0x00007ffff52d1737 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQt5Core.so.5
#33 0x00007ffff5326cb3 in ?? () from /usr/lib64/libQt5Core.so.5
#34 0x00007ffff388c316 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#35 0x00007ffff388c668 in ?? () from /usr/lib64/libglib-2.0.so.0
#36 0x00007ffff388c70c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#37 0x00007ffff532612c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#38 0x00007ffff52cd443 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#39 0x00007ffff52d4fb6 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#40 0x000000000042b295 in main ()
@richarson

This comment has been minimized.

richarson commented Jun 26, 2016

Attached config files from before (Use system proxy) and after (No Proxy).

QOwnNotes_config.zip

@richarson

This comment has been minimized.

richarson commented Jun 27, 2016

OK, my Slack 14.2 32 bits VM finished the upgrade to current.

I installed qt5 and libxkbcommon (a dependency for qt5):

wget http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86/qt5/qt5-5.6.1_1-i486-1alien.txz
wget http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86/libxkbcommon/libxkbcommon-0.5.0-i486-1alien.txz
installpkg libxkbcommon-0.5.0-i486-1alien.txz qt5-5.6.1_1-i486-1alien.txz

installpkg /tmp/qownnotes-16.06.12-i486-1_SBo.tgz

After that, I successfully compiled QOwnNotes and it seems to work fine :)

I tried with a fresh user and didn't get the segfault, so I guess the problem lies somewhere in either Slack 14.1 or qt-5.5.1.

@richarson

This comment has been minimized.

richarson commented Jun 27, 2016

BTW, I didn't need to install libproxy, your VM is probably "incomplete", as Slackware is intended to be installed full.

You might want to try slackpkg install-new to install missing packages.

@richarson

This comment has been minimized.

richarson commented Jun 27, 2016

Another success on 14.2 64 bits! \o/

wget http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86_64/qt5/qt5-5.6.1_1-x86_64-1alien.txz
wget http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86_64/libxkbcommon/libxkbcommon-0.5.0-x86_64-1alien.txz
installpkg libxkbcommon-0.5.0-x86_64-1alien.txz qt5-5.6.1_1-x86_64-1alien.txz

installpkg /tmp/qownnotes-16.06.12-x86_64-1_SBo.tgz

I got this on konsole (but QOwnNotes still seems to work fine):

$ QOwnNotes 
QSqlQuery::prepare: database not open
countAll :  QSqlError("", "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
store :  QSqlError("", "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
countAll :  QSqlError("", "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
store :  QSqlError("", "Driver not loaded", "Driver not loaded")
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
sh: kreadconfig5: command not found
@pbek

This comment has been minimized.

Owner

pbek commented Jun 27, 2016

segfault: it really seems to be a kde4 thing...

#0  0x00007fffd73981ba in ?? () from /usr/lib64/libkdecore.so.5
#1  0x00007fffd7521806 in ?? () from /usr/lib64/libkdecore.so.5
#2  0x00007fffd77c89b0 in ?? () from /usr/lib64/libproxy/0.4.11/modules/config_kde4.so

it looks like a kde4 library was loaded...

Slack 14.2: Thanks a lot for the libxkbcommon hint, I will try that! did you have to set some additional environment variables?

QSqlQuery: I will see what causes this errors...

@pbek

This comment has been minimized.

Owner

pbek commented Jun 27, 2016

I still seem to miss libmozjs, do you have any idea where I can get one for 14.2? I already tried a slackpkg install-new.

virtualbox_slackware_27_06_2016_07_04_03

@pbek

This comment has been minimized.

Owner

pbek commented Jun 27, 2016

I fixed some database not open errors and possible problems with the database in the current version 16.06.13.

@richarson

This comment has been minimized.

richarson commented Jun 27, 2016

Slack 14.2: no additional variables, stock install worked fine!

libmozjs185.so.1.0 comes from js185.

In case you get another missing library you can search for it with slackpkg:

# slackpkg file-search libmozjs185.so.1.0

Looking for libmozjs185.so.1.0 in package list. Please wait... DONE

The list below shows the packages that contains "libmozjs185\.so\.1\.0" file.

[ installed ] - js185-1.0.0-x86_64-1

You can search specific packages using "slackpkg search package".
@pbek

This comment has been minimized.

Owner

pbek commented Jun 27, 2016

slackpkg file-search libmozjs185.so.1.0: that's a great advice, thank you!
I could build QOwnNotes, but when I start it I get a seg fault as well. :)

virtualbox_slackware_27_06_2016_16_26_39

I tried to set a QTDIR manually, but that neither helped. I guess that's a thing of the Slackware system I'm running. I'll trust your installation and updated http://www.qownnotes.org/installation#Slackware. :)

@richarson

This comment has been minimized.

richarson commented Jun 27, 2016

From what I read (nothing official, though) $QTDIR is deprecated in favor of $QT4DIR and $QT5DIR, (probably so Qt-4.x and Qt-5.x can coexist in the system) so the variable shouldn't be a problem.

The segfault you get is weird, but since it works on a full Slackware-current (which is the recommended and supported way for slackbuilds.org) we're probably safe.
Maybe add a warning that if you get segfaults try setting "No Proxy" in the wizard?

We'll see when 14.2 comes out :)

Out of curiosity, where did you get your slackware VM?

@pbek

This comment has been minimized.

Owner

pbek commented Jun 27, 2016

I also tried to set $QT5DIR...
VM: I didn't find any, I only found a 14.2 live cd: https://sourceforge.net/projects/slackex/

@richarson

This comment has been minimized.

richarson commented Jun 27, 2016

Yeah, but QT5DIR an related are set from /etc/profile.d/qt5.sh

VM: Ah, maybe slackex people do something different, as it's not a vanilla slackware.

If you want to try installing from scratch, AlienBOB maintains an unofficial (but still vanilla) slackware-current ISO at:
http://bear.alienbase.nl/mirrors/slackware/slackware64-current-iso/slackware64-current-install-dvd.iso

@pbek

This comment has been minimized.

Owner

pbek commented Jun 27, 2016

QT5DIR: maybe I should try and run that script (I didn't logout)
AlienBOB: Would I need to install kde for myself?

@richarson

This comment has been minimized.

richarson commented Jun 27, 2016

QT5DIR: It still should be picked up by the slackbuild, as it runs in a subshell and should parse the script in profile.d, otherwise I don't think qownnotes would have even compiled :)

AlienBOB: if you do a full install you get kde (4) too, by default the only unselected packages are internalization related. And if you want a graphical login I think after install you have to edit /etc/inittab and change id:3:initdefault: with id:4:initdefault:

@pbek

This comment has been minimized.

Owner

pbek commented Jun 28, 2016

Thank you for your advices!

@pbek

This comment has been minimized.

Owner

pbek commented Jul 5, 2016

@richarson, We are now using make install in the SlackBuild file, could you please test if the installation still works?
https://github.com/pbek/qownnotes-slackbuilds/blob/master/14.2/qownnotes/qownnotes.SlackBuild

@richarson

This comment has been minimized.

richarson commented Jul 5, 2016

Almost:

install -m 755 -p /tmp/SBo/qownnotes-16.07.2/QOwnNotes /tmp/SBo/package-qownnotes/usr/bin/
install: no se puede efectuar `stat' sobre «/tmp/SBo/qownnotes-16.07.2/QOwnNotes»: No existe el fichero o el directorio
make: [install_target] Error 1 (no tiene efecto)

Here's a diff between the last 2 versions (docs excluded):

--- qownnotes-16.07.1-x86_64-1_SBo.txt  2016-07-05 12:15:03.695908975 -0300
+++ qownnotes-16.07.2-x86_64-1_SBo.txt  2016-07-05 12:23:31.252022021 -0300
@@ -23,0 +24,3 @@
+usr/share/icons/hicolor/scalable/
+usr/share/icons/hicolor/scalable/apps/
+usr/share/icons/hicolor/scalable/apps/QOwnNotes.svg
@@ -42,2 +44,0 @@
-usr/share/pixmaps/
-usr/share/pixmaps/QOwnNotes.png
@@ -59 +59,0 @@
-usr/bin/QOwnNotes

And the relevant lines from previous version, notice the build/ in the first line, I made the same mistake in my first slackbuilds :) :

install -D -m 0755 build/QOwnNotes $PKG/usr/bin/QOwnNotes
install -D -m 0644 QOwnNotes.desktop $PKG/usr/share/applications/QOwnNotes.desktop
@pbek

This comment has been minimized.

Owner

pbek commented Jul 5, 2016

Thank you for testing!
Do you have any idea what we need to change that the slackbuild will work?

@richarson

This comment has been minimized.

richarson commented Jul 5, 2016

Maybe adding:
install -D -m 0755 build/QOwnNotes $PKG/usr/bin/QOwnNotes

But I think that should be fixed in the building system?

Or ditch the:

mkdir -p build
cd build
  qmake-qt5 ..

And simply do:

qmake-qt5

I don't know how it's done on other platforms.

@pbek

This comment has been minimized.

Owner

pbek commented Jul 5, 2016

I now did the latter, does it work better now?

@richarson

This comment has been minimized.

richarson commented Jul 5, 2016

Works like a charm :)

BTW, I loaded 16.07.1 before upgrading to this version and it prompted me for an upgrade.
Wasn't that supposed to be avoided by using "define RELEASE" in release.h? Or did I missunderstood its meaning?

@pbek

This comment has been minimized.

Owner

pbek commented Jul 5, 2016

works: great! thank you very much!
update: It should set a default setting if there were no other previous setting. Can you please tell me what you have set in the general settings at Update dialog?

@richarson

This comment has been minimized.

richarson commented Jul 5, 2016

It's unchecked, but since I do an initial config to avoid the segfault maybe that's the problem.

I should check on Slackware 14.2 which doesn't have the segfault and see what happens there.

@pbek

This comment has been minimized.

Owner

pbek commented Jul 5, 2016

Just check it and everything is fine. :)

@richarson

This comment has been minimized.

richarson commented Jul 11, 2016

Last weekend I upgraded my laptop to Slackware 14.2, I just compiled qownnotes-16.07.3, deleted ~/.config/PBE/ and ran it, it's working correctly!

Are you planning on submitting your slackbuild to slackbuild.org?
If yes, I think the safest bet is to submit only for 14.2 but first remove libproxy from REQUIRES in qownnotes.info since it's in Slackware base, and leave out dobuild.sh from the submission (you can keep it in you repo, of course).
If not, then you should change the SBo tag to, say, pbek so people don't mistake your slackbuild/package for an SBo one.

@richarson

This comment has been minimized.

richarson commented Jul 11, 2016

Here are the submission guidelines if you'd like to read them:
https://slackbuilds.org/guidelines/

@pbek

This comment has been minimized.

Owner

pbek commented Jul 11, 2016

working correctly

great to hear, thank you!

slackbuilds

Seems like I would have to wait a bit: https://www.slackbuilds.org/submit/

Will I be able to git-push to a git repository or how does that work?

@richarson

This comment has been minimized.

richarson commented Jul 11, 2016

Weird, I thought it was already open for bussiness :)

There is a git repository (https://slackbuilds.org/cgit/, git://slackbuilds.org/slackbuilds) with a branch per version but I'm not sure if/how they accept submissions there.

You can also send a tar.gz via their mailing list: https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users.

I'm subscribed to the mailing list if you want me to ask'em something.

@pbek

This comment has been minimized.

Owner

pbek commented Jul 12, 2016

I need a process that is scriptable, otherwise I would go mad when doing releases. ;)
Currently I use this script for Slackware:
https://github.com/pbek/QOwnNotes/blob/develop/build-systems/slackware/build-for-slackware.sh

It uses this SlackBuild und replaces the version number:
https://github.com/pbek/QOwnNotes/blob/develop/build-systems/slackware/qownnotes.SlackBuild

@richarson

This comment has been minimized.

richarson commented Jul 12, 2016

I'll ask how to submit via git if that works for you, maybe they can pull from your repo directly and exclude the dobuild.sh.

As a last resort, you could automate making a tar.gz and sending it by mail from build-for-slackware.sh, I can give it a try.

@pbek

This comment has been minimized.

Owner

pbek commented Jul 12, 2016

Any help is appreciated. ^_^

We can also remove the dobuild.sh if it isn't needed any more, I just added it because I thought it was convenient...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment