03-22-2017, 03:27 PM | #16 |
Sigil Developer
Posts: 7,644
Karma: 5433388
Join Date: Nov 2009
Device: many
|
Good to know it works.
In case others are in a similar boat ... the instructions for using the testplugin are in the first post of its thread here on MR and I've copied them below for anyone else who is building their own on Linux (or Widnows or OS X) 1. Use the attached testplugin_v014.zip here 2. open Sigil.app to the normal nearly blank template epub it generates when opened. It is important to note that the plugin's tests rely on this nearly blank epub during its testing. 3. use Plugins->Manage Plugins menu and make sure the "Use Bundled Python" checkbox is checked on Mac OS X and Windows. On Linux please properly set the path to your system Python 3 interpreter. 4. use the "Add Plugin" button to navigate to and add testplugin.zip and then hit "Okay" to exit the Manage Plugins Dialog 5. use Plugins->Manage Plugins->Edit->testplugin to launch the plugin and hit the "Start" button to run it 6. check the plugin output window for your missing or broken plugin test results |
03-22-2017, 04:22 PM | #17 |
Guru
Posts: 657
Karma: 4568205
Join Date: Jan 2010
Location: Sweden
Device: Kobo Forma
|
I ran the testplugin after the built and it was fine, but it was an old one. Installed the latest and got success, but it says in the end "Failure - 1 Tests of Plugin Operations Failed"?
Spoiler:
|
03-22-2017, 04:47 PM | #18 |
Sigil Developer
Posts: 7,644
Karma: 5433388
Join Date: Nov 2009
Device: many
|
The error message is here:
Python Package: PyQt5 Missing Your python installation is missing the PyQt5 package that was recented added to Sigil with this new release. |
03-22-2017, 04:54 PM | #19 |
Grand Sorcerer
Posts: 5,584
Karma: 22735033
Join Date: Dec 2010
Device: Kindle PW2
|
@Patrik: You'll most likely have to install python3-pyqt5 with your package manager.
|
03-22-2017, 05:07 PM | #20 |
Guru
Posts: 657
Karma: 4568205
Join Date: Jan 2010
Location: Sweden
Device: Kobo Forma
|
|
03-22-2017, 05:18 PM | #21 |
Grand Sorcerer
Posts: 27,549
Karma: 193191846
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Actually, I think this is the first new python module we've added since we started bundling Python in the Mac/Windows builds.
The difference is that the test plugin didn't check for the presence of any of the gui modules (tkinter, pyqt5) before this latest version. |
03-22-2017, 06:42 PM | #22 | |
Wizard
Posts: 2,608
Karma: 3000161
Join Date: Jan 2009
Device: Kindle PW3 (wifi)
|
Quote:
Seems I have the 0.9.8. (see screenshot) with the wrong 0.9.7. tag. He, this is a collector's edition!! edit: also, test-plugin 0.14 just installed and running fine. Last edited by roger64; 03-22-2017 at 06:53 PM. Reason: tes-plugin |
|
03-22-2017, 08:48 PM | #23 |
just an egg
Posts: 1,586
Karma: 4300000
Join Date: Mar 2015
Device: Kindle, iOS
|
Sadly, 0.9.8 will not launch on my Mac running OS 10.11.6.
I get "Sigil quit unexpectedly." I have Tcl 8.6.4.1 installed and 0.9.7 works fine. I am not the most knowledgeable about these things, and the problem could be on my end, but if there's anything I can do to help identify the problem, please let me know. Muchas gracias |
03-22-2017, 09:22 PM | #24 |
Sigil Developer
Posts: 7,644
Karma: 5433388
Join Date: Nov 2009
Device: many
|
Please make sure you are using Sigil version 0.9.8 and not Sigil version 0.9.7. Once Sigil version 0.9.8 is launched, even once, it will change the sigil.ini file preventing an easy return to Sigil version 0.9.7.
If you are sure that you are trying with Sigil version 0.9.8 then rename your Sigil preferences file: ~/Library/Application Support/sigil-ebook/sigil/sigil.ini to sigil.ini.old (or anything else really) and they try to start Sigil. If that works, we know that one of the settings in the old sigil.ini was corrupted. It most likely is a temp path that exists but can not be written to. We can narrow it down further if renaming the sigil.inifile allows you to launch Sigil. Please let us know what you find out. Last edited by KevinH; 03-22-2017 at 09:25 PM. |
03-22-2017, 09:44 PM | #25 |
Sigil Developer
Posts: 7,644
Karma: 5433388
Join Date: Nov 2009
Device: many
|
The official build will only work on OSX 12 (Sierra) by mistake.
Just got access to a OSX 10.11.6 and it SystemB library is missing a symbol getentropy that should not be needed by my official build since it was configured for OSX 10.9 and later. So give me a day or two and I will rebuild the Mac release to actually not use that missing symbol (it is used in Python). The problem is that the Python 3.5 configure switch is NOT MACOSX_DEPLOYMENT_TARGET aware and so decides to use features that do not exist in 10.9, 10.10, and 10.11 that do exist in 10.12 (which is what I use to build the release). So stay tuned for a new Mac Package that will work all the way back to 10.9 Sorry about that. KevinH |
03-22-2017, 11:49 PM | #26 |
just an egg
Posts: 1,586
Karma: 4300000
Join Date: Mar 2015
Device: Kindle, iOS
|
Cool! Glad it wasn't me Absolutely no rush.
Totally appreciate all the work you guys do to offer such marvelous software free of charge. I still think you should enable that donate button. I'd be happy to contribute |
03-23-2017, 09:59 AM | #27 | |
Sigil Developer
Posts: 7,644
Karma: 5433388
Join Date: Nov 2009
Device: many
|
Just so you know, Apple really messed up on this ... their command line tools add a /usr/include/sys/random.h that defines getentropy but it is not protected by any of the MacOSX availability macros. So any header based test for existence of getentropy will pass in "configure" even though it did not exist prior to OSX 10.12 (Sierra)
Then to top it off, Apple in their infinite stupidity has defined some weak symbols in Mac OSX 10.11 that include the following: Code:
'$ld$weak$os10.11$_basename_r', '$ld$weak$os10.11$_clock_getres', '$ld$weak$os10.11$_clock_gettime', '$ld$weak$os10.11$_clock_settime', '$ld$weak$os10.11$_dirname_r', '$ld$weak$os10.11$_getentropy', '$ld$weak$os10.11$_mkostemp', '$ld$weak$os10.11$_mkostemps', Setting the MACOSX_DEPLOYMENT_TARGET=10.9 (and none of these exist in 10.9) and running Python configure will say that **all** of these will exist. So if we use XCode 8 and build on Sierra, the resulting binary will ONLY work on Sierra if it uses any of these specific functions. That really sucks... So I have to modify the Python "configure"/"configure.ac" to hard code these to undefined to get something to build on 10.12 using XCode 8 and run on 10.9. That is doable for Python but not doable for Qt given its huge configuration complexity. I just have to hope and pray that Qt does not make use of any of these new "symbols" during the build. I should have kept an older Mac OSX 10.9 build machine around but I had faith the Apple would handle XCode properly to maintain the ability to build things backwards compatible. Sad ... KevinH Quote:
|
|
03-23-2017, 12:30 PM | #28 |
Sigil Developer
Posts: 7,644
Karma: 5433388
Join Date: Nov 2009
Device: many
|
It gets worse - almost all configure scripts define a ac_fn_c_check_func macro that basically defines its own version with just the symbol name to check and then tries to link it. If it links then that function exists. If it does not link, then that function fails.
All of this seems to ignore the MACOSX_DEPLOYMENT_TARGET and even will ignore CFLAGS=-mmacosx-version-min=10.9 In addition the LDFAGS="-Wl,-no_weak_imports -Wl,-macosx_version_min,10.9: have no impact on the results of the configure tests. So for any opensource projects that use "configure"/"configure.ac" to check for c functions being available using the AC_CHECK_FUNCS() will pass in all cases on OSX 10.12 (when that function exists there) no matter how hard you try to tell it you are building for "10.9" which does not support that symbol. Actually compiling a real test case with the proper includes will at least detect some of this due to some Availability macros but that is not how c functions are checked for in configure. So all of the following tests in the Python "configure" will pass when built on OSX 10.12 even if you have properly set the MACOSX_DEPLOYMENT_TARGET. faccessat fchmodat fchownat fdopendir fstatat getentropy linkat mkdirat openat readlinkat renameat symlinkat unlinkat clock_getres clock_gettime basename_r clock_settime dirname_r mkostemp mkostemps getattrlistat getattrlistbuilk And none of these functions/symbols exists in OSX 10.9!!!!!!! And I am sure there are many more. So once a person upgrades to XCode 8 and OSX Sierra, they have lost all true backwards compatibility for any open source project that uses one of these symbols/functions. This truly sucks. Last edited by KevinH; 03-25-2017 at 01:44 PM. |
03-23-2017, 03:46 PM | #29 |
Addict
Posts: 248
Karma: 892441
Join Date: Jul 2010
Device: K2i
|
@devs - I have an inside baseball question - but the GUI plugin api has tickled my interest - and I'm trying to gage if it is worth an effort on my part to try something. There is an "ignorant" part of that question, that could be solved by me installing the current build and finding out - but the followup and clarification - not so much, so I'm asking right away.
I've written several regex based "methods" to automate html parsing for htmls/epubs from certain OCR sources - that rely on Sigil having implemented something like tidy (a checker that auto propagates/closes tags that were removed by certain replace all's). At the beginning of last year, tidy (?) was cut from Sigil with an engine change I believe, and it wasn't "returned" in the immediate months after. Two questions - Is html tidy (or something that would serve that function) integrated in current builds? (Not talking about flightcrew - but actual tidy functionality ("fix missing tags on the fly"). If not - would you consider implementing it again, just on the basis of one guy saying that it would be great to have that functionality back. - Here is my rational for it - I can't solve my issue with minimal matching - because I need all the complexity in the regex to catch probable formating patterns, and they are complex ones, where minimal matching would catch too early. I also can't compensate for it - because I don't necessarily know where a closing tag that gets replaced was a "needed" one. So I need some sort of integrity parsing after the replacements are done. Thank you for the response, and I guess kind consideration. Last edited by notimp; 03-23-2017 at 03:54 PM. |
03-23-2017, 04:12 PM | #30 | |
Sigil Developer
Posts: 7,644
Karma: 5433388
Join Date: Nov 2009
Device: many
|
You can always compile and include your own tidy html5 library inside your plugin (one plugin author already does this) or you can use Sigil's internal gumbo library. Sigil's gumbo parser is a fork of Google's Gumbo parser that autocorrects using the exact same rules as browsers. Sigil gumbo library is available through the plugin api as well.
FWIW, You also might be better off parsing the file in gumbo first and then doing replacements of the text parts so that you do not break the xhtml syntax by funny search and replaces. I think there is a simple example of using Sigil's gumbo in the testme plugin that is documented in the latest Plugin framework Developers guide. Quote:
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Sigil-0.9.4 Released | KevinH | Sigil | 40 | 03-26-2016 10:15 AM |
Sigil-0.9.2 Released | KevinH | Sigil | 14 | 01-11-2016 03:11 AM |
Sigil-0.9.1 Released | KevinH | Sigil | 36 | 12-04-2015 03:00 PM |
Sigil-0.8.900 released for testing - Wait for Sigil-0.8.901 | KevinH | Sigil | 106 | 10-04-2015 10:41 AM |
Sigil 0.8.2 Released | user_none | Sigil | 12 | 12-22-2014 06:02 PM |