Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Sigil

Notices

Reply
 
Thread Tools Search this Thread
Old 12-19-2015, 09:11 PM   #1
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,422
Karma: 85397180
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 -- hey, I maintain the sigil-git package.

Last edited by eschwartz; 12-19-2015 at 09:15 PM.
eschwartz is offline   Reply With Quote
Old 12-19-2015, 09:11 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: 27,547
Karma: 193191846
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Quote:
Originally Posted by st_albert View Post
It built fine on linux (Kubuntu 14.04, Qt5.4.1) and I noticed a build target "makeinstaller." But alas, it errored out because it couldn't find "linux_python_gather.py"

Correct me if I'm wrong, but I'm assuming that makeinstaller is not fully implemented yet. When it is, though, that'll be nice to have.
Yes makeinstaller is very preliminary and unsupported at this time (as indicated in the CMakeLists.txt file). There are several dependencies that must be met (including a patched Makeself v2.2.0, and chrpath on your PATH) before attempting to build it.

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.
DiapDealer is offline   Reply With Quote
Advert
Old 12-20-2015, 09:41 AM   #3
st_albert
Guru
st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'st_albert gives new meaning to the word 'superlative.'
 
Posts: 696
Karma: 150000
Join Date: Feb 2010
Device: none
Quote:
Originally Posted by eschwartz View Post
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
Yes, I understand that. But it's useful to me because in our shop I have three linux boxes, all Kubuntu Trusty, on which I want to deploy Sigil. Packaging it up --even a quick and dirty package via checkinstall-- would mean I don't have to maintain the build environment on each of the three machines.

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
st_albert is offline   Reply With Quote
Old 12-20-2015, 11:22 AM   #4
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,422
Karma: 85397180
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.
eschwartz is offline   Reply With Quote
Old 12-20-2015, 01:42 PM   #5
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: 27,547
Karma: 193191846
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Quote:
Originally Posted by eschwartz View Post
Then try passing -DPKG_SYSTEM_PYTHON to cmake, and setting all the environment variables to the right locations in src/Resource_Files/python_pkg/python_paths.py
Has to be -DPKG_SYSTEM_PYTHON=1

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.
DiapDealer is offline   Reply With Quote
Advert
Old 12-20-2015, 02:47 PM   #6
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
Of course, =1 ('twas a typo )
I tried running makeinstaller and it errored on copying tk/tcl

pkg-config/find_packages

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.
eschwartz is offline   Reply With Quote
Old 12-20-2015, 04:00 PM   #7
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: 27,547
Karma: 193191846
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Quote:
Originally Posted by eschwartz View Post
Of course, =1
I tried running makeinstaller and it errored on copying tk/tcl

pkg-config/find_packages

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)
I've, of course, secretly patched my own top-level CMakeLists.txt file to do just that. But it's still not entirely necessary. You can always use -DTK_LIBRARY=<path> and -DTCL_LIBRARY=<path> to set the paths to tcl8x.so and tk8x.so respectively.

Quote:
But I still can't find anything to provide ${TCLTK_SUPPORT}
That's the prefix to the tcl8x and tk8x data directories (which contain all the *.tcl files). On my build system, that's -DTCLTK_SUPPORT=/usr/local/lib. I know it's /usr/share/tcltk on some package-based systems.

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:
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.
No problem. Always happy to let others play. I am going to move this discussion to its own thread, though.

Last edited by DiapDealer; 12-20-2015 at 04:06 PM.
DiapDealer is offline   Reply With Quote
Old 12-20-2015, 04:01 PM   #8
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,422
Karma: 85397180
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 , xxx that out for testing...

makeself.sh cannot possibly exist , it only exists as a file to be *executed* at src/Resource_Files/python_pkg/linux_python_gather.py:455


And there endeth the experimentation.
Overall, not bad.
eschwartz is offline   Reply With Quote
Old 12-20-2015, 04:09 PM   #9
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: 27,547
Karma: 193191846
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Quote:
Originally Posted by eschwartz View Post
def copy_strip_icu5(ver='53'):
Epic failure on my system which has icu 56.1-2 installed.
s/53/56/g
Well at least you can see I planned to make that parameter configurable.
DiapDealer is offline   Reply With Quote
Old 12-20-2015, 04:11 PM   #10
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
Quote:
Originally Posted by DiapDealer View Post
That's the prefix to the tcl8x and tk8x data directories (which contain all the *.tcl files). On my build system, that's -DTCLTK_SUPPORT=/usr/local/lib. I know it's /usr/share/tcltk on some package-based systems.
I did figure that out, but there doesn't seem to be any cmake find_package(), which is less convenient but could still be gotten automatically with pkg-config I suppose.

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).
That would explain it. I didn't expect to see a *.sh file called from outside the source tree.

Quote:
At least I think that's currently all.

No problem. Always happy to let others play. I am going to move this discussion to its own thread, though.
Sure thing.
eschwartz is offline   Reply With Quote
Old 12-20-2015, 04:13 PM   #11
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
Quote:
Originally Posted by DiapDealer View Post
Well at least you can see I planned to make that parameter configurable.
Yeah. Again, early days, so I don't expect it to be production-ready (works @world).
eschwartz is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
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


All times are GMT -4. The time now is 02:13 PM.


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