![]() |
#1 |
Ex-Helpdesk Junkie
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19,421
Karma: 85400180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
Building the Linux standalone Sigil installer
There is no real reason to use makeinstaller if you are building yourself.
It's purpose is to create a fully redistributable "frozen" version which can be installed by anyone -- even if they don't have python3, Qt5, etc. -- and installs into /opt And if you look at src/CMakeLists.txt, the linux_python_gather.py is created if you define PKG_SYSTEM_PYTHON, which of course is necessary if you will be making a standalone installer. ![]() makeinstaller just runs that file, I think from looking at it it should be complete. But I certainly haven't tried it... ... Why are you using checkinstall instead of a proper package manager? I don't know much of anything at all about using debian's buildsystem, but I *think* they have some way of building the git version of a package. All I know is it is much easier with ArchLinux ![]() ![]() Last edited by eschwartz; 12-19-2015 at 09:15 PM. |
![]() |
![]() |
![]() |
#2 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,371
Karma: 203720150
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Quote:
There's also some cmake variables to help locate the various TK/TCL pieces. It's what I'm going to use to create stand-alone Linux installers when I get some kinks worked out. I'll get it all documented when it's more stable, but if you want to play in the meantime, add -DPKG_SYSTEM_PYTHON=1 to your initial cmake command if you want to get past the error you got. ![]() Just don't try to install normally (sudo make install) after configuring with PKG_SYSTEM_PYTHON. It won't work. But as eschwartz said: it won't be very useful to those just installing for themselves. It doesn't make sense to package up python and Qt5 and then reinstall them in a different location on your machine. It's going to be used to distribute standalone installers for those who don't WANT to install all the dependencies and build it for themselves. Hopefully the various repos will be able to include the latest versions of Sigil (and make the installer moot), but if they don't/can't/don't want to--or even if we just get ahead of a few of them, it'll be nice to have the option. Last edited by DiapDealer; 12-19-2015 at 09:24 PM. |
|
![]() |
![]() |
Advert | |
|
![]() |
#3 | |
Guru
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 697
Karma: 150000
Join Date: Feb 2010
Device: none
|
Quote:
From DiapDealer's post, it looks like I don't have some of the dependencies I'd need anyway, so for now I will just do the separate builds. Thanks for the information! Albert |
|
![]() |
![]() |
![]() |
#4 |
Ex-Helpdesk Junkie
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19,421
Karma: 85400180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
Then try passing -DPKG_SYSTEM_PYTHON=1 to cmake, and setting all the environment variables to the right locations in src/Resource_Files/python_pkg/python_paths.py
I imagine at some point the makeinstaller logic will be further fleshed out, i.e. it should be attempting to find the location of things using pkg-config cmake find_packages() if not explicitly specified. But it might work as of now, too. ... checkinstall does not stop you from needing to install dependencies last I checked... so I really don't see what benefit checkinstall has over an actual *.deb built from the official Debian packaging sources. ![]() Last edited by eschwartz; 12-20-2015 at 02:48 PM. |
![]() |
![]() |
![]() |
#5 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,371
Karma: 203720150
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Quote:
There's no need to set any of the variables in python_paths.py as env vars. Those variables get filled when cmake configures it. Many are provided already by the existing cmake build process. The few that might be needed to build the standalone installer can be provided as -D options in the initial cmake command (if cmake can't locate them on its own). It builds for me with little effort. The plan IS to flesh it out and make it build for everybody, but that may be a while. ![]() Last edited by DiapDealer; 12-20-2015 at 01:51 PM. |
|
![]() |
![]() |
Advert | |
|
![]() |
#6 |
Ex-Helpdesk Junkie
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19,421
Karma: 85400180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
![]() ![]() I tried running makeinstaller and it errored on copying tk/tcl ![]() So, looking at the configured python_paths.py, it would seem that it is helpful if the makeinstaller custom command asked to find_package(TCL) But I still can't find anything to provide ${TCLTK_SUPPORT} And obviously, take as long as you need to. I was just making a couple, hopefully helpful, observations to help @st_albert get a successful build without waiting. Last edited by eschwartz; 12-20-2015 at 04:07 PM. |
![]() |
![]() |
![]() |
#7 | |||
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,371
Karma: 203720150
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Quote:
![]() Quote:
The only other things needed (aside from all the extra Python3 modules listed in the docs) should be having chrpath installed, and having makeself v2.2.0 (it only needs patched if you're going to create a system-wide installer) somewhere on your path (I just create links to makeself.sh and makeself-header.sh in /usr/local/bin). At least I think that's currently all. ![]() Quote:
![]() Last edited by DiapDealer; 12-20-2015 at 04:06 PM. |
|||
![]() |
![]() |
![]() |
#8 |
Ex-Helpdesk Junkie
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19,421
Karma: 85400180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
EDIT: cross-posting.
-DTCLTK_SUPPORT=/usr/lib Passes. def copy_strip_icu5(ver='53'): Epic failure on my system which has icu 56.1-2 installed. s/53/56/g libqtaudio_alsa.so appears to have mysteriously disappeared in my distro's qt5-multimedia package during the C++11 rebuilds ![]() makeself.sh cannot possibly exist ![]() And there endeth the experimentation. Overall, not bad. |
![]() |
![]() |
![]() |
#9 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,371
Karma: 203720150
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
|
![]() |
![]() |
![]() |
#10 | |||
Ex-Helpdesk Junkie
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19,421
Karma: 85400180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
Quote:
Quote:
Quote:
![]() |
|||
![]() |
![]() |
![]() |
#11 |
Ex-Helpdesk Junkie
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19,421
Karma: 85400180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Difficulty with building sigil 0.9.0 on linux | philja | Sigil | 36 | 11-25-2015 04:38 PM |
sigil 0.8.1 building on linux | blackest | Sigil | 9 | 10-15-2014 06:22 PM |
Build Sigil as standalone binary (on Linux) | mustai | Sigil | 1 | 05-12-2014 02:20 AM |
Building Sigil from source on Linux | xingenter | Sigil | 10 | 04-29-2013 01:18 PM |
Building Sigil under Linux | st_albert | Sigil | 1 | 08-07-2011 03:19 PM |