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

Compiling ERR under Linux #3460

Open
phototropist opened this Issue Nov 21, 2018 · 20 comments

Comments

2 participants
@phototropist

phototropist commented Nov 21, 2018

Details

Errors after make failing to find a Qt Script, but Qt compiled perfectly.

Steps to reproduce

I followed the compiling guide for automatic compilation but being unable to find /home/user/projects/sqlitestudio/scripts/linux or compile.sh under source code of version 3.2.1 I encouraged myself to do a manual compilation... I started with qmake and the rest of the story is above on the details section.

Operating system

Just testing a Mint 19 [x32]

SQLiteStudio version

Version 3.2.1

Question or proposal

(1) Would it be possible to find a deb package for this version on SQLiteStudio's web or over here?
(2) How difficult would it be to find this version in a Linux repository for an apt-get installation?

(3) New ideas are poping up on my mind about the FormView and about Reports, I wish I could translate them to code for this great application and find some agreements to store the information about this features on the same database. Stars will rise. Regards.

@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Nov 21, 2018

compile.sh is right here: https://github.com/pawelsalawa/sqlitestudio/blob/master/scripts/linux/compile.sh

Apart from this script, if you follow manual compilation from https://github.com/pawelsalawa/sqlitestudio/wiki/Instructions_for_compilation_under_Linux you should get it done successfully. I'm not sure what you mean that it fails after "make" with Qt Script not found. It's a very ambiguous statement. I need some specifics - what exactly is the error message, after what exact step?

@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Nov 21, 2018

As for Q & Props - I do not make deb packages, because if I wanted to make all packages that users wish, I would have to spend triple time on releases. I also do not track if any debs are made. Perhaps they are, I don't know.

@phototropist

This comment has been minimized.

phototropist commented Nov 21, 2018

Well, when I posted this issue I was using SqliteStudio sources on its website which wouldn't contain the scripts. Now I've cloned the sources using git clone and tried an automatic compilation executing compile.sh (available in master sources - I see some duplicities here), but the answer has been "command not found". I'm going to try manual compilation again and send you the details. Of course I'm using the compilation guide you've written link of... I'll be back...

... So in manual compilation I have this things...

$ pwd
/home/{user}/sqlitestudio/output/build

$ qmake ../../SQLiteStudio3
Info: creating stash file /home/{user}/sqlitestudio/output/build/.qmake.stash

$ make
cd coreSQLiteStudio/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/{user}/sqlitestudio/SQLiteStudio3/coreSQLiteStudio/coreSQLiteStudio.pro ) && make -f Makefile 
Project ERROR: Unknown module(s) in QT: script
Makefile:47: recipe for target 'sub-coreSQLiteStudio-make_first' failed
make: *** [sub-coreSQLiteStudio-make_first] Error 3

{user} should be replaced by my legal user name

@phototropist

This comment has been minimized.

phototropist commented Nov 21, 2018

So what do you think of my question (2)?
Would it be possible to make the packages available (not the .deb necessarily) in a Linux repository for installing them using apt-get or Synaptic?
What about taking this site as a source code central for SqliteStudio and compiling from here the packages for Windows, Linux repositories, and the rest of supported OS's?
(This last question is because I have found content differences (see post right above) between the sources I've downloaded from git and from SqliteStudio Web)

@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Nov 22, 2018

You don't have Qt5Script installed. Installing it should solve the problem.

As for apt-get or Synaptic - it's still something to master and prepare. What do you mean by "compiling from here the packages for Windows, Linux repositories, and the rest of supported OS's"? Where to compile? Do you mean some kind of CI/CD solution? Something like this perhaps: #3303

I'm really surprised that the "scripts" subdirectory got excluded from sourcecode packages. There is certainly a bug in packaging script (added #3462 to track this). Normally it should be there.

@phototropist

This comment has been minimized.

phototropist commented Nov 23, 2018

Hey there,

So the things that I have installed related to Qt5Script have similar package names libqt5script5 and libqt5scripttools5. On the other hand QMake is version 3.1 under Qt5.9.5 and after updating apt even after upgrading I can't find any package specifically called Qt5Script...

Explicit expression on compiling like /opt/Qt/5.9.5/bin/qmake won't work in automatic compiling, actually for some reason, I don't have any Qt data under /opt directory. Manual compiling keeps answering with the same ERR (something not found - what is explained in the posts above)...

As for the CD/CI solution, the fact is that I'm not up to date with that... I've been reading a little and for what I understand now it seems that SQLiteStudio is already in that line with git. Find another CD/CI might create another duplicity. I've got stuck with the idea of a central place for unique source code and compiling for creating all packages from there for all supported platforms, preferentially in automatic mode... I'm not really sure if this has something to do with CD/CI workflow, but never mind.

I wondering now... would SqliteStudio work under Linux Wine??
Regards.

@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Nov 23, 2018

The libqt5script5 package seems right.

Please re-do qmake ../../SQLiteStudio3, then make and let me know if you're still getting this Project ERROR: Unknown module(s) in QT: script

@phototropist

This comment has been minimized.

phototropist commented Nov 23, 2018

Actually qmake does not give an answer now, everything went right? Maybe because the file .qmake.stash was already exists... and yeah, the same ERR on make. I'll delete it and retry...
I was right, it only shows information after creating a new stash file... make is not able to avoid the ERR mentioned above.

@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Nov 23, 2018

qmake did not give any error earlier. It was na info.

What does this tell you? find / -name "libQt5Script.so" -print

@phototropist

This comment has been minimized.

phototropist commented Nov 24, 2018

Well I've reinstalled all possible packages related to Qt5 and this is what I have...

$ find / -name "libQt5Script.so" -print
(a lot of "file access denied")

$ sudo find / -name "libQt5Script.so" -print
find: ‘/proc/22279/task/22279/net’: invalid argument
find: ‘/proc/22279/net’: invalid argument
find: ‘/run/user/1000/gvfs’: invalid argument
@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Nov 24, 2018

You need to seek for help on Mint forums on how to get script module of Qt5 installed and if they tell you you have it - then ask them where is your libQt5Script.so.
I'm not a Mint expert, sorry.

@phototropist

This comment has been minimized.

phototropist commented Nov 27, 2018

OK, so I've found that file... What folder should I put in? And how do I work now to compile?

@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Nov 27, 2018

If you found the file, question is why is your qmake not seeing it? Do you have several Qt versions installed?

@phototropist

This comment has been minimized.

phototropist commented Nov 27, 2018

qmake must not be seeing the file because is not located as supposed to... As far as I know I have the version 5.9.5 installed from apt repositories... I guess that the most similar installed file that could be related to libQt5Script.so would be under package libqt5script5 as the package manager says.

I've found libQt5Script.so inside a standalone old version from another package. So it was already provided by the developer as an output file, I think.
Now, if using this file for my compilation could cause a policy violation, I should stop now and wait until SqliteStudio is in Linux repositories. In the meantime I could try using Wine for running it.

This is my last attempt output:

cd coreSQLiteStudio/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile $HOME/sqlitestudio/SQLiteStudio3/coreSQLiteStudio/coreSQLiteStudio.pro ) && make -f Makefile 
Project ERROR: Unknown module(s) in QT: script
Makefile:47: recipe for target 'sub-coreSQLiteStudio-make_first' failed
make: *** [sub-coreSQLiteStudio-make_first] Error 3
@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Nov 27, 2018

...and why not using Linux binary from SQLiteStudio homepage?

@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Nov 27, 2018

Oh, I see now. It's 32-bit Linux. That make's sense.
Well, sorry, but I'm unable to help you, since it's a Mint issue. I'm not an expert here.

@phototropist

This comment has been minimized.

phototropist commented Dec 5, 2018

Fresh news! I almost conclude the manual compilation under Linux after stumbling with https://packages.ubuntu.com/ when I was trying to make another one.

The thing is I've found the dang libQt5Script.so inside qtscript5-dev that I didn't have installed... Once installed with the package manager I executed make... and hey, this was different... but I had more errors on lacking packages related to uitools and svg as compiler said... So I went to the same source and did another search for files inside packages... I had to install absent packages like libqtscript4-uitools, qttools5-dev, libqt5svg5-dev, libqtscript4-svg... I guess this version 4 packages weren't necessary (haven't tested) but they were also listed as having the necessary files.

In my last attempt, I tried a make install instead of make only and despite compilation takes long time everything was going OK until this:

../../../SQLiteStudio3/sqlitestudiocli/cli.cpp:24:10: fatal error: readline/readline.h: 
File or folder does not exists
#include <readline/readline.h>
          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:851: recipe for target 'cli.o' failed
make[1]: *** [cli.o] Error 1
make[1]: going outside directory '/home/sqlitestudio/output/build/sqlitestudiocli'
Makefile:109: recipe for target 'sub-sqlitestudiocli-install_subtargets' failed
make: *** [sub-sqlitestudiocli-install_subtargets] Error 2
@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Dec 5, 2018

You need to install readline-dev or somethine like that. It's a development headers for readline package. It may also be called libreadline-dev or something like that.

@phototropist

This comment has been minimized.

phototropist commented Dec 5, 2018

OK, the package is libreadline-dev actually and with that installed I have no errors until...

collect2: error: ld returned 1 exit status
Makefile:294: recipe for target '../../SQLiteStudio/sqlitestudiocli' failed
make[1]: *** [../../SQLiteStudio/sqlitestudiocli] Error 1
make[1]: going outside directory '/home/sqlitestudio/output/build/sqlitestudiocli'
Makefile:109: recipe for target 'sub-sqlitestudiocli-install_subtargets' failed
make: *** [sub-sqlitestudiocli-install_subtargets] Error 2

By the way SqliteStudio seems to be working under Wine. The only problems I've found are:
(1) it crashes importing data
(2) I can't use diacritical marks of my language (but this has to do with Wine itself I guess)

@pawelsalawa

This comment has been minimized.

Owner

pawelsalawa commented Dec 6, 2018

Please paste few lines before that error.

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