You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
sqlitebrowser binary is not copied at install #833
I configured the code using 'qmake USE_QT5=1 ..'. The code compiles fine, but when I 'make install', the built binary doesn't get to /usr/local/bin. If I copy by hand, the application seems to run fine.
Unfortunately it doesn't compile on my system. I have an up to date Debian Jessie. It seems that my system got too old.
/usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the \
I try tomorrow on a Debian testing with more recent compiler.
@leventelist As a thought, it's probably a good idea to install Qt 5.7 from the Qt.io download site too, then complie DB4S using Qt Creator that comes with that.
I've been trying things out on Ubuntu 16.04 today, to investigate a few of the issues reported over time. It turns out that Qt versions older than Qt 5.7 have some weird problems. 😦
Ok. Just a note. Should the cmake/qmake system take care about dependencies? So it shall detect Qt5.7, and refuse to configure the code if it is older.
When you install Qt 5.7 (eg in ~/Qt by default), it comes with it's own version of qmake. eg somewhere under ~/Qt/5.7/
If you run that version of qmake, it's supposed to automatically choose the correct Qt 5.7 versions of bits instead of the older ones.
Hmmm, as a temporary thing which might be helpful, I took a bunch of screenshots earlier today of the Qt install + compile process, but on Ubuntu 16.04. I haven't yet renamed them into sensible things + added good description, but if you follow the sequence by timestamp it be pretty self explanatory:
With the Qt version... it just needs to be version 5.7 or later. Thinking about it now, you might as well pick the latest one (5.8), as there's probably useful extra bug fixes in that anyway. The screenshots are for 5.8 too anyway. But, up to you. 😄
I tried on Debian testing, with recent Qt and compiler. qmake doesn't
complained about my obvious missing dependency:
In file included from sqlitedb.cpp:2:0:
sqlite.h:13:25: fatal error: sqlite3.h: No such file or directory
#include <sqlite3.h>
After installing the required packages, it installed fine. I suggest using
cmake as the code configuration tool.
Levente
I'm working through some qmake stuff at the moment, and yeah our CMake setup turns out to be more complete for Linux.
When CMake is used it puts the icon file, metadata, etc in the right places. But our Qmake install doesn't. I'm looking into it now, but it might take a few more days of mucking around with until it's correct. 😄
I doubt either CMake nor Qmake will detect missing dependencies up front though. It's normally the kind of thing which a configuration file does (eg ./configure, which we don't have)... or the end user when the compile busts. 😁
One of the major user case of cmake is to detect installed packages. .configure (autotool) did the same thing, but it isn't portable (eg. it is a PITA on Windows). I personally use cmake it to detect SQLite. Here is what I do.
I use the same CMakeLists.txt on Linux and FreeBSD, so this is cross platform. I was lazy, and I just detect presence of libsqlite3, but with a small tweak, you can even detect, and require specific major/minor/patch version too.
I'm sorry if this is not the right place to suggest things.
Activity
[-]sqlitebrowser binary is not coppied at install[/-][+]sqlitebrowser binary is not copied at install[/+]justinclift commentedon Oct 18, 2016
Thanks Lev, we'll look into it. 😄
build: Add make install rule to qmake project file
MKleusberg commentedon May 8, 2017
Sorry for the delay, @leventelist! Can you try again using the latest version from master? This should work now:
leventelist commentedon May 8, 2017
leventelist commentedon May 9, 2017
Unfortunately it doesn't compile on my system. I have an up to date Debian Jessie. It seems that my system got too old.
/usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the \
I try tomorrow on a Debian testing with more recent compiler.
Lev
justinclift commentedon May 9, 2017
@leventelist As a thought, it's probably a good idea to install Qt 5.7 from the Qt.io download site too, then complie DB4S using Qt Creator that comes with that.
I've been trying things out on Ubuntu 16.04 today, to investigate a few of the issues reported over time. It turns out that Qt versions older than Qt 5.7 have some weird problems. 😦
Qt 5.7 though seems fine. 😄
leventelist commentedon May 9, 2017
Ok. Just a note. Should the cmake/qmake system take care about dependencies? So it shall detect Qt5.7, and refuse to configure the code if it is older.
justinclift commentedon May 9, 2017
Sort of. 😄
When you install Qt 5.7 (eg in ~/Qt by default), it comes with it's own version of
qmake. eg somewhere under ~/Qt/5.7/If you run that version of qmake, it's supposed to automatically choose the correct Qt 5.7 versions of bits instead of the older ones.
Hmmm, as a temporary thing which might be helpful, I took a bunch of screenshots earlier today of the Qt install + compile process, but on Ubuntu 16.04. I haven't yet renamed them into sensible things + added good description, but if you follow the sequence by timestamp it be pretty self explanatory:
https://github.com/sqlitebrowser/db4s-screenshots/tree/master/wiki/ubuntu_16.04
With the Qt version... it just needs to be version 5.7 or later. Thinking about it now, you might as well pick the latest one (5.8), as there's probably useful extra bug fixes in that anyway. The screenshots are for 5.8 too anyway. But, up to you. 😄
leventelist commentedon May 10, 2017
justinclift commentedon May 10, 2017
Thanks Lev. 😄
I'm working through some
qmakestuff at the moment, and yeah our CMake setup turns out to be more complete for Linux.When CMake is used it puts the icon file, metadata, etc in the right places. But our Qmake install doesn't. I'm looking into it now, but it might take a few more days of mucking around with until it's correct. 😄
I doubt either CMake nor Qmake will detect missing dependencies up front though. It's normally the kind of thing which a configuration file does (eg ./configure, which we don't have)... or the end user when the compile busts. 😁
leventelist commentedon May 10, 2017
One of the major user case of cmake is to detect installed packages. .configure (autotool) did the same thing, but it isn't portable (eg. it is a PITA on Windows). I personally use cmake it to detect SQLite. Here is what I do.
CMakeLists.txt
I use the same CMakeLists.txt on Linux and FreeBSD, so this is cross platform. I was lazy, and I just detect presence of libsqlite3, but with a small tweak, you can even detect, and require specific major/minor/patch version too.
I'm sorry if this is not the right place to suggest things.
leventelist commentedon May 10, 2017
And I think we can close this issue, since the original problem is solved now. Thanks.
justinclift commentedon May 10, 2017
No worries Lev, thanks. 😄