Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Sigil

Notices

Reply
 
Thread Tools Search this Thread
Old 11-09-2023, 01:31 PM   #1
philja
Groupie
philja began at the beginning.
 
Posts: 177
Karma: 10
Join Date: Nov 2015
Location: Europe EEC
Device: Kindle Fire HD6
Seeking help in building Sigil on linux

My machine is running UbuntuStudio 22.04.3 LTS with 5.15.0-88-lowlatency - x86_64

I've been running Sigil Flatpak version in order to have Sigil more up-to-date than the distro version, 1.9.2. Generally, the Flatpak version worked ok but with some difficulties with plugins and occasional freezing of the Preview panel apparently failing to load. The only way out of that freeze was to close and restart Sigil.

So I decided to take a chance and try to build Sigil 2.0.2 myself following the detailed procedure on https://github.com/Sigil-Ebook/Sigil...Linux.md#sigil

This is outside my comfort zone.

I completed the first 6 steps and got as far in step 7 as running
Code:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../sigil-src
That's where it failed. There were a few failures but the first thing to fix, it seems to me, is this one :
Code:
CMake Error at src/qt6sigil.cmake:27 (find_package):
  By not providing "FindQt6.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt6", but
  CMake did not find one.
Step 3 in the procedure I was following asks :
Quote:
Qt5.10 or higher (with QtWebEngine) Qt5.12+ recommended
I understand now from another sticky post on this forum that Sigil 2.x needs QT6 so Step 3 is out of date.

Could someone kindly help by providing a simple statement like the one in the article?

Code:
sudo apt-get install qtbase5-dev qttools5-dev qttools5-dev-tools qtwebengine5-dev
Bearing in mind that the only 2 Qt6 item currently included in my distro is :
qt6-kde-platformtheme and qt6-qpa-plugins and I have no idea if they are at all relevant.
philja is offline   Reply With Quote
Old 11-09-2023, 01:39 PM   #2
DiapDealer
Grand Sorcerer
DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.
 
DiapDealer's Avatar
 
Posts: 28,040
Karma: 199464182
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Sorry. I posted what you needed to watch out for in the plugin thread where you announced your intention to build Sigil yourself.

Start over and add -DUSE_QT5=1 to step 7.

cmake -G "Unix Makefiles" -DUSE_QT5=1 -DCMAKE_BUILD_TYPE=Release ../sigil-src

EDIT: I updated the Qt5 build instructions on Github to note the change.

Last edited by DiapDealer; 11-09-2023 at 02:01 PM.
DiapDealer is offline   Reply With Quote
Advert
Old 11-09-2023, 02:26 PM   #3
philja
Groupie
philja began at the beginning.
 
Posts: 177
Karma: 10
Join Date: Nov 2015
Location: Europe EEC
Device: Kindle Fire HD6
Thanks, DiapDealer. That worked and I have started up Sigil 2.0.2, apparently successfully, using Qt5.15.3.

The only thing I noticed in the vast amount of detail scrolling by in the terminal was at 42% of the 'make install' command and concerned an unused variable:

Quote:
~/sigil-src/src/main.cpp: In function ‘int main(int, char**)’:
~/sigil-src/src/main.cpp:650:24: warning: unused variable ‘profile_mgr’ [-Wunused-variable]
650 | WebProfileMgr* profile_mgr = WebProfileMgr::instance();
Is that of any significance?

Do I need to keep the two sub-directories in my Home directory : sigil-build and sigil-src ?
philja is offline   Reply With Quote
Old 11-09-2023, 02:57 PM   #4
DiapDealer
Grand Sorcerer
DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.
 
DiapDealer's Avatar
 
Posts: 28,040
Karma: 199464182
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Quote:
Originally Posted by philja View Post
Thanks, DiapDealer. That worked and I have started up Sigil 2.0.2, apparently successfully, using Qt5.15.3.
Good deal. Just note that we're only guaranteeing a year's worth of building the very latest Sigil versions with Qt5. I don't think we're going to intentionally start ripping out the portions that keep it compatible; we're just not going be worrying about maintaining compatibility with new code moving forward after that.

Quote:
Originally Posted by philja View Post
The only thing I noticed in the vast amount of detail scrolling by in the terminal was at 42% of the 'make install' command and concerned an unused variable:

Code:
~/sigil-src/src/main.cpp: In function ‘int main(int, char**)’:
~/sigil-src/src/main.cpp:650:24: warning: unused variable ‘profile_mgr’ [-Wunused-variable]
  650 |         WebProfileMgr* profile_mgr = WebProfileMgr::instance();
Is that of any significance?
Shouldn't be. It is a bit odd that it is left completely unused, though. Maybe @KevinH can take a look at the commit that seems to have created that particular unused variable?

Quote:
Originally Posted by philja View Post
Do I need to keep the two sub-directories in my Home directory : sigil-build and sigil-src ?
No. Feel free to delete them if you like.
DiapDealer is offline   Reply With Quote
Old 11-09-2023, 03:29 PM   #5
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 8,160
Karma: 5450818
Join Date: Nov 2009
Device: many
That warning about profile_mgr being completely unused can safely be ignored as it is spurious. There is only one instance of the profile manager (a singleton class) that just needed to be created at that point in main.cpp.

Last edited by KevinH; 11-09-2023 at 03:32 PM.
KevinH is offline   Reply With Quote
Advert
Old 11-09-2023, 03:33 PM   #6
philja
Groupie
philja began at the beginning.
 
Posts: 177
Karma: 10
Join Date: Nov 2015
Location: Europe EEC
Device: Kindle Fire HD6
Quote:
Originally Posted by DiapDealer View Post
Good deal. Just note that we're only guaranteeing a year's worth of building the very latest Sigil versions with Qt5. I don't think we're going to intentionally start ripping out the portions that keep it compatible; we're just not going be worrying about maintaining compatibility with new code moving forward after that.
I would normally expect to move up to UbuntuStudio 24.04 in May/June next year - maybe they'll be more into Qt6 then?

In any case, besides the 2 Qt6 packages I named in the first post, there are another 50 packages listed in the Muon package manager but not installed. It may be that the distro already has what Sigil needs but the names of these packages don't mean much to me.

Looking at https://github.com/Sigil-Ebook/Sigil...ith_Qt6.md#qt6
the qt6 modules required for Arch- type linux are qt6-svg, qt6-webengine, qt6-tools, qt6-5compat for the pacman manager. None of these is in my ubuntustudio distro but there are some similarly named packages: qt6-webengine-dev, qt6-webengine-dev-tools, qt6-base-dev-tools, qt6-tools-dev. There doesn't appear to anything similar to qt6-svg or qt6-5compat. They all are 6.2.4 versions.

Could it be possible that some of the qt6 packages already available but not yet installed could allow me to build Sigil 2.0.2 with qt6?

I've made a brief sortie into Sigil and improved the visibility of the code view font. All seems to be working in the way I'm accustomed to. I relocated the Table of Contents from being a tab with the Book Browser to being a tab on the right-hand side with the Preview panel, which is what I prefer. So all looks good.

Last edited by philja; 11-09-2023 at 05:10 PM.
philja is offline   Reply With Quote
Old 11-13-2023, 09:17 AM   #7
recook
Enthusiast
recook began at the beginning.
 
recook's Avatar
 
Posts: 35
Karma: 10
Join Date: Aug 2018
Device: kobo Nia
Hi,

i came quite a bit farther, thus:
* sudo apt-get install qt6-webengine-dev-tools qt6-base-dev-tools qt6-tools-dev qt6-tools-dev-tools qt6-5compat-dev
(the package name scheme changed quit a bit from 5 to 6, apparently)
* unpacked the source directory to $HOME, creating ~/Sigil-2.0.2
* mkdir ~/Sigil-build
* cd ~/Sigil-build
* make -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../Sigil-2.0.2/
* make
* sudo make install

This worked, placing a plethora of files somewhere, but importantly, also a /usr/local/bin/sigil.
This runs on my Debian 12, but has no icon images in the window whatsoever.
I could endure this, but not that it doesnt start the configured (and present!) /usr/local/bin/pageedit.

YMMV,
-- recook
recook is offline   Reply With Quote
Old 11-13-2023, 09:29 AM   #8
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 8,160
Karma: 5450818
Join Date: Nov 2009
Device: many
Have you set the External Xhtml Editor path in Sigil Prefs?

I do not understand? Which specifically icons are missing? Sigil Tool Bar icons? Sigil Menu icons? Sigil plugin icons?
KevinH is offline   Reply With Quote
Old 11-13-2023, 09:43 AM   #9
recook
Enthusiast
recook began at the beginning.
 
recook's Avatar
 
Posts: 35
Karma: 10
Join Date: Aug 2018
Device: kobo Nia
hi,

to save my sanity, i reverted to uninstalling the selfcompiled Sigil and getting Debian 12s own package Sigil 1.9.20.

I didn't find an uninstall target in the Makefile, but a install_manifest.txt, listing the "plethora" of files, so i could craft a shell script to remove all those.
--
regards,
-- recook
recook is offline   Reply With Quote
Old 11-13-2023, 09:48 AM   #10
recook
Enthusiast
recook began at the beginning.
 
recook's Avatar
 
Posts: 35
Karma: 10
Join Date: Aug 2018
Device: kobo Nia
Hi,

Quote:
Originally Posted by KevinH View Post
Have you set the External Xhtml Editor path in Sigil Prefs?
indeed i have, to /usr/local/bin/pageedit .
Also, i checked the Keyboard shortcut, which was still F2.
Quote:
Originally Posted by KevinH View Post
I do not understand? Which specifically icons are missing? Sigil Tool Bar icons? Sigil Menu icons? Sigil plugin icons?
All of them.
A switch of appearance theme doesn't make them appear, either.

Maybe the reason is compiling with Qt6...
--
regards,
-- recook
recook is offline   Reply With Quote
Old 11-13-2023, 09:58 AM   #11
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 8,160
Karma: 5450818
Join Date: Nov 2009
Device: many
Probably just means you needed additional Qt6 packages installed.

The few packages you did install is just a shortcut for each of those packages to pull in more dependencies. The dev packages were probably just the headers. You will need the actual Qt6 libraries as well.

Why linux distribution package managers can not at least agree on a common naming scheme is beyond me. But changing the naming scheme from release to release for the same distribution is just completely insane.

Last edited by KevinH; 11-13-2023 at 10:05 AM.
KevinH is offline   Reply With Quote
Old 11-13-2023, 10:02 AM   #12
DiapDealer
Grand Sorcerer
DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.
 
DiapDealer's Avatar
 
Posts: 28,040
Karma: 199464182
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
That's probably why Debian Unstable hasn't updated from 2.0.1 to 2.0.2. One could always try to build Sigil 2.0.2 against Qt5 (using -DUSE_QT5=1 in the original cmake configuration) to rule out Qt6 as the culprit.

Or.... you could just add the qt6-svg package, which is a runtime dependency of Sigil, to make the icons appear. A Qt SVG package is the first one mentioned in the latest Sigil Linux Qt6 build instructions.

As for PageEdit not launching, that's probably due to the Sigil launch script (/usr/local/bin/sigil) trying launch a repo installed version of PageEdit (a Qt5 version) that has diddled the launch script slightly. I would recommend using repo-supplied versions of both, or custom built versions of both (using the same Qt version) rather than some mixture of both.

Last edited by DiapDealer; 11-13-2023 at 10:11 AM.
DiapDealer is offline   Reply With Quote
Old 11-13-2023, 10:17 AM   #13
DiapDealer
Grand Sorcerer
DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.
 
DiapDealer's Avatar
 
Posts: 28,040
Karma: 199464182
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Quote:
Originally Posted by KevinH View Post
Probably just means you needed additional Qt6 packages installed.

The few packages you did install is just a shortcut for each of those packages to pull in more dependencies. The dev packages were probably just the headers. You will need the actual Qt6 libraries as well.
The *-dev packages will pull in the required libraries as well. It's just that the Qt5 build instructions (which they clearly used to translate to the Debian Qt6 package names instead of starting with Linux Qt6 instructions --which use Arch package names) doesn't list qt5-svg as a runtime dependency.

I think I'm going to gut my Sigil's Linux build documentation and make it more distro-agnostic. I can't keep track of all the changes the various distros make to their package naming practices (and wouldn't want to try).

Last edited by DiapDealer; 11-13-2023 at 10:22 AM.
DiapDealer is offline   Reply With Quote
Old 11-13-2023, 10:33 AM   #14
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 8,160
Karma: 5450818
Join Date: Nov 2009
Device: many
Makes sense.
KevinH is offline   Reply With Quote
Old 11-13-2023, 10:33 AM   #15
philja
Groupie
philja began at the beginning.
 
Posts: 177
Karma: 10
Join Date: Nov 2015
Location: Europe EEC
Device: Kindle Fire HD6
[QUOTE=DiapDealer;4372123]
Or.... you could just add the qt6-svg package, which is a runtime dependency of Sigil, to make the icons appear. A Qt SVG package is the first one mentioned in the latest Sigil Linux Qt6 build instructions.
/QUOTE]

I tried for a while to find the apt equivalent packages for Qt6 starting from the ones identified for Qt5. I decided about the same as recook but I didn't know where to locate the equivalent of Qt6-svg. It is a bit of a sod that every linux distro needs to reinvent the wheel when it comes to packages and naming conventions. But then that's why so few provide installers for anything in linux.

So I decided to stay with the working Qt5 version of Sigil2.0.2 for the moment. But I'm open to change if and when I get to know the names of the equivalent Qt6 packages in apt.
philja is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Building the Linux standalone Sigil installer eschwartz Sigil 10 12-20-2015 05:13 PM
Difficulty with building sigil 0.9.0 on linux philja Sigil 36 11-25-2015 05:38 PM
sigil 0.8.1 building on linux blackest Sigil 9 10-15-2014 07:22 PM
Building Sigil from source on Linux xingenter Sigil 10 04-29-2013 02:18 PM
Building Sigil under Linux st_albert Sigil 1 08-07-2011 04:19 PM


All times are GMT -4. The time now is 10:45 AM.


MobileRead.com is a privately owned, operated and funded community.