wail
wail copied to clipboard
Separation of code in #50 has broken compilation
Since moving HeritrixJob.py, among other files, outside of the main WAIL.py file, pyinstaller no longer "finds" it as an include, since WAIL is not conventionally packaged like a Python module and thus relative imports (even of the import . from...) won't work.
Revert to the single-file configuration, move to py3, then try this again.
As another attempt at resolution using the separate .py files, adding -p bundledApps to the pyinstaller command in the MAKEFILE.sh script produces a WAIL_cli that states
This program needs access to the screen. Please run with a
Framework build of python, and only when you are logged in
on the main display of your Mac.
...when run. wxPython docs state that this can be resolved by running env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.x.x before executing the commands and specifically calling out Pyinstaller as a means to produce the above error.
As an experiment, I reset all code to a single .py file (single-file git branch in this repo) and resolved all of the external file references and still receive the same error from WAIL_cli. Also, the .app does not indicate that it will launch (no Dock movement).
All of this is being done on macOS 10.14, which might be the scapegoat for the change in a previously working compilation procedure.
Repeated the procedure to install dependencies and compile using pyinstaller with Python 3 (and pip3, resp) and experience the same behavior as the previous messages re:screen.
An interesting breakthrough: When the Info.plist file is not copied (the line in the makefile to do so is commented out), the application compiles and runs. Along with using the -p flag to pyinstaller, further investigation about what is so wrong with the custom Info.plist may help in closing this ticket.
Edit: I realized this by using the Console application in macOS, which can be noisy but was useful when filtering for WAIL when launching the built .app.
Edit2: The _cli no longer appears to run, perhaps the macOS Console app will be better for debugging than having the explicitly attached Terminal via the _cli binary.
With the copied plist in-place:
default 15:10:27.128366 -0400 loginwindow -[ApplicationManager checkInAppContext:refCon:eventData:] | checked in app : WAIL
default 15:10:27.913913 -0400 launchservicesd CHECKIN:0x0-0x60060 8388 com.matkelly.wail
default 15:10:27.917316 -0400 loginwindow -[ApplicationManager checkInAppContext:refCon:eventData:] | checked in app : WAIL
error 15:10:27.963282 -0400 WAIL Unable to load Info.plist exceptions (eGPUOverrides)
error 15:10:27.977303 -0400 tccd Failed to copy signing info for 8388, responsible for file:///Applications/WAIL.app/Contents/MacOS/WAIL: #-67062: Error Domain=NSOSStatusErrorDomain Code=-67062 "(null)"
default 15:10:27.989020 -0400 tccd -[TCCDAccessIdentity staticCode]: static code for: identifier WAIL, type: 0: 0x7fdd36622600 at /Applications/WAIL.app
default 15:10:28.393001 -0400 launchservicesd CHECKIN:0x0-0x61061 8389 com.matkelly.wail
default 15:10:28.394387 -0400 loginwindow -[ApplicationManager checkInAppContext:refCon:eventData:] | checked in app : WAIL
error 15:10:28.421973 -0400 WAIL Unable to load Info.plist exceptions (eGPUOverrides)
default 15:10:28.444592 -0400 loginwindow -[PersistentAppsSupport applicationQuit:] | for app:WAIL, _appTrackingState = 2
default 15:10:28.514311 -0400 loginwindow -[PersistentAppsSupport applicationQuit:] | for app:WAIL, _appTrackingState = 2
without copying the plist (using the one generated by pyinstaller)
default 15:11:14.227817 -0400 loginwindow -[ApplicationManager checkInAppContext:refCon:eventData:] | checked in app : WAIL
default 15:11:14.958916 -0400 launchservicesd CHECKIN:0x0-0x62062 8408 WAIL
default 15:11:14.961828 -0400 loginwindow -[PersistentAppsSupport applicationReady:] | App: WAIL, ready, updating active tracking timer
default 15:11:14.962003 -0400 loginwindow -[ApplicationManager checkInAppContext:refCon:eventData:] | checked in app : WAIL
error 15:11:15.069500 -0400 WAIL Unable to load Info.plist exceptions (eGPUOverrides)
error 15:11:15.097036 -0400 tccd Failed to copy signing info for 8408, responsible for file:///Applications/WAIL.app/Contents/MacOS/WAIL: #-67062: Error Domain=NSOSStatusErrorDomain Code=-67062 "(null)"
default 15:11:15.111422 -0400 tccd -[TCCDAccessIdentity staticCode]: static code for: identifier WAIL, type: 0: 0x7fdd36751ac0 at /Applications/WAIL.app
default 15:11:15.522177 -0400 launchservicesd CHECKIN:0x0-0x63063 8409 WAIL
default 15:11:15.522965 -0400 loginwindow -[PersistentAppsSupport applicationReady:] | App: WAIL, ready, updating active tracking timer
default 15:11:15.523256 -0400 loginwindow -[ApplicationManager checkInAppContext:refCon:eventData:] | checked in app : WAIL
default 15:11:15.581018 -0400 WAIL Current system appearance, (HLTB: 1), (SLS: 0)
default 15:11:15.587634 -0400 WAIL Post-registration system appearance: (HLTB: 1)
error 15:11:15.602705 -0400 WAIL Unable to load Info.plist exceptions (eGPUOverrides)
default 15:11:15.648603 -0400 loginwindow -[PersistentAppsSupport applicationReady:] | App: WAIL, ready, updating active tracking timer
error 15:11:15.689871 -0400 tccd Failed to copy signing info for 8408, responsible for file:///Applications/WAIL.app/Contents/MacOS/WAIL: #-67062: Error Domain=NSOSStatusErrorDomain Code=-67062 "(null)"
default 15:11:15.698735 -0400 tccd -[TCCDAccessIdentity staticCode]: static code for: identifier WAIL, type: 0: 0x7fdd36622600 at /Applications/WAIL.app
default 15:11:15.748512 -0400 hidd Connection added: IOHIDEventSystemConnection uuid:D6AEA97C-6CE5-4A43-936A-24324063BFCC pid:8409 process:WAIL type:Passive entitlements:0x0 caller:HIToolbox: ___GetIOHIDEventSystemClient_block_invoke + 26 attributes:(null) inactive:1
default 15:11:15.751761 -0400 WAIL NSApp cache appearance:
-NSRequiresAquaSystemAppearance: 1
-appearance: (null)
-effectiveAppearance: <NSCompositeAppearance: 0x7fe34aea7910
(
"<NSAquaAppearance: 0x7fe34aea68e0>",
"<NSSystemAppearance: 0x7fe34aea7310>"
)>
default 15:11:20.655269 -0400 loginwindow -[PersistentAppsSupport saveLogoutPersistentState:finalSnapshot:] | checkAgainstApp is : WAIL
default 15:11:20.655293 -0400 loginwindow -[PersistentAppsSupport appShouldBeRelaunched:] | entered. checking app: WAIL
<key>LSBackgroundOnly</key>
<string>1</string>
appears to be a culprit.