I'm having problem building Dooble. I have figured out that a need to download the
source with `svn co https://dooble.svn.sourceforge.net/svnroot/dooble dooble`, to get
LibSpotOn, and that I need to run `qmake -o Makefile dooble.pro` as stated in Doc/COMPILING,
which I'm doing after `cd dooble/trunk/browser/`.
But then I run `make` (as stated in Doc/COMPILING for every OS except GNU/Linux) ,
Source/dbookmarkspopup.cc:53:29: fatal error: QFileIconProvider: No such file or directory
make: *** Error 1
Also, how to I checkout specific versions of Dooble rather than the lastest commit.
Linux distribution? Version of Qt?
As for the other question, you'll need to become familiar with Subversion.
Yes, Arch, but which distribution should not matter, right?
Any version if QT is fine, the available ones in Arch is:
2.3.2, 3.3.8b, 4.6.3, 4.8.4 and 5.0.2
I could not find any information on how to list versions what worked on the Dooble repository.
I believe the first line of Doc/COMPILING contains the suggested Qt version. I recommend Qt 4.8.4. Qt 5.0.1 is supported as well. For 4.8.4, qmake -o Makefile dooble.pro. For 5.0.1, qmake -o Makefile dooble.qt5.pro. Issue qmake -version to find the version of Qt that you're using.
I have tested both qmake-qt4 and qmake-qt5 (= qmake), the error message was for qmake-qt5,
for qmake-qt4 it is:
g++ -c -m64 -pipe -march=x86-64 -mtune=generic -pipe -fstack-protector -param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -mtune=generic -O3 -Wall -Wcast-align -Wcast-qual -Werror -Wextra -Woverloaded-virtual -Wpointer-arith -Wall -W -D_REENTRANT -DDOOBLE_LINKED_WITH_LIBSPOTON -DDOOBLE_MINIMUM_GCRYPT_VERSION=0x010500 -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I. -IInclude -Itemp/moc -IInclude -o temp/obj/dcookies.o Source/dcookies.cc
In file included from /usr/include/qt4/QtCore/QtCore:53:0,
/usr/include/qt4/QtCore/qtconcurrentfilter.h: In function ‘QtConcurrent::ThreadEngineStarter<void> QtConcurrent::filterInternal(Sequence&, KeepFunctor, ReduceFunctor)’:
/usr/include/qt4/QtCore/qtconcurrentfilter.h:108:47: error: typedef ‘Iterator’ locally defined but not used
typedef typename Sequence::const_iterator Iterator;
cc1plus: all warnings being treated as errors
make: *** Error 1
By default, all warnings are treated as errors. See QMAKE_CXXFLAGS_RELEASE in the project file and remove -Werror. I believe all Qt4 project files, save ARM (perhaps), have Werror enabled. Therefore, Linux (Debian and Ubuntu), FreeBSD, OS X, and Windows build without issues.
/usr/local/dooble/Dooble: error while loading shared libraries: libspoton.so: cannot open shared object file: No such file or directory
The directory /usr/local/dooble/Lib has not been created.
Please see LD_LIBRARY_PATH usage.
If you are referring to Doc/README, LD_LIBRARY_PATH is set to /usr/local/dooble/Lib because it is set so when running /usr/local/dooble/dooble.sh, but /usr/local/dooble/Lib does not exist.
So, you managed to build Dooble from source. Since you do not have Dooble installed in /usr/local/dooble, I could not merely suggest that you set LD_LIBRARY_PATH to reference /usr/local/dooble/Lib. Instead, I was suggesting that you use LD_LIBRARY_PATH to influence the dynamic linker. Simply set LD_LIBRARY_PATH, in some terminal, to reference LibSpotOn. For example, export LD_LIBRARY_PATH=./LibSpotOn. Then, from that very same terminal, launch Dooble. For example, ./Dooble. That must work, for it works in every conceivable universe, imaginary or not.
I _do_ have Dooble installed in /usr/local/dooble, but there is no LibSpotOn, it has _not_ been installed.
libspoton.so has been built to the directory LibSpotOn, but it was never installed. So it has to be installed manually to /usr/local/dooble/Lib (which is a missing directory.)
Much thanks. Three project files were partially correct. The library should be installed now.
A very simple build and use process. Ready?
1. qmake -o Makefile dooble.pro
3. export LD_LIBRARY_PATH=./LibSpotOn
Does Dooble depend on libjpeg or libjpeg-turbo?
Here are all runtime dependencies that are not transversally included, I suggest listing them in a DEPENDENCIES file
to help packagers for GNU/Linux-distributions:
bzip2 fontconfig gstreamer0.10-base libgpg-error libjpeg libsm libxrender mesa-libgl openssl qtwebkit udev xz
To my knowledge there are no additional build or optional dependencies, but I would be interested if there are any.
The transversally included dependencies are:
glibc expat freetype2 pcre libffi glib2 libxml2 orc gstreamer0.10 zlib util-linux-ng
libice libxcb libx11 libxfixes libxext libxdamage libdrm mesa libpng sqlite gcc-libs
libxau libxdmcp libxxf86vm qt4
Forgot libspoton.so: sqlite and libgcrypt→libgpg-error
When I try to install Dooble to another directory than /usr/local/dooble, Dooble crashed.
The only workaround I have for this works only for shorter paths, and that is to edit dooble.sh
and do, for example, sed -i s_'/usr/local/dooble/Lib\x00'_'/opt/dooble/Lib\x00\x00\x00\x00\x00\x00\x00'_g Dooble
(for installing to /opt/dooble rather than /usr/local/dooble.)
What do you have in /usr/local/dooble/Lib? The problem that you're experiencing is extraordinarily odd. Are you mixing Qt libraries?