OpenBCI/OpenBCI_GUI

make-release.py succeeds but app fails to get past loading screen on MacOS 13.2.1

Closed this issue · 1 comments

KoyaS commented

Problem

I am currently trying to build the application using the instructions from https://github.com/OpenBCI/OpenBCI_GUI/wiki/Release-Process

upon running the command as outlined python3 release_script/make-release.py i get a flurry of errors. Despite them, the application actually builds and i'm able to get the app to compile into a .dmg file. However, when the new compiled application is run the program never makes it past the loading screen.

i've been able to identify the sources of a couple of these errors.

  • my lack of a travis environment results in those which have to do with signing the application
  • the dmgbuild (biplist) error happens because it can't read the Info.plist file in the .app directory (solved by editing icon_from_app(app_path) in dmgbuild_settings.py to just return a static .icns file)

NOTES: Using processing v4.2 since other versions result in errors that prevent the program from starting.

What am I overlooking here?

Expected

Would expect the output .app file to not freeze on loading screen

Operating System and Version

MacOS 13.2.1

GUI Version

5.1.0

Are you running the downloaded app or from Processing/VSCode?

I'm compiling and running the code.

Type of OpenBCI Board

N/A

Console Log and Screenshots

Loading Screen:
No indication of program crash or freeze, simply never moves on.
CleanShot 2023-06-14 at 17 41 19@2x

Log output while compiling application:

Cleanup ...
Successfully deleted openbcigui_v5.1.0_macosx
Using sketch: /Users/koya/Desktop/OpenBCI_GUI-master/OpenBCI_GUI
Finished.
v5.1.0
Successfully deleted source dir.
Successfully copied sketch.icns
error: The specified item could not be found in the keychain.
Command '['codesign', '-f', '-v', '-sDeveloper ID Application: OpenBCI, Inc. (3P82WRGLM8)', '/Users/koya/Desktop/OpenBCI_GUI-master/openbcigui_v5.1.0_macosx/OpenBCI_GUI.app']' returned non-zero exit status 1.
WARNING: Failed to sign app.
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/biplist/__init__.py", line 126, in readPlist
    result = reader.parse()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/biplist/__init__.py", line 234, in parse
    return self.readRoot()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/biplist/__init__.py", line 248, in readRoot
    raise NotBinaryPlistException()
biplist.NotBinaryPlistException

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/biplist/__init__.py", line 141, in readPlist
    result = wrapDataObject(result, for_binary=True)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/biplist/__init__.py", line 154, in wrapDataObject
    elif isinstance(o, (bytes, plistlib.Data)) and for_binary:
AttributeError: module 'plistlib' has no attribute 'Data'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/bin/dmgbuild", line 8, in <module>
    sys.exit(main())
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dmgbuild/__main__.py", line 48, in main
    build_dmg(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dmgbuild/core.py", line 243, in build_dmg
    load_settings(settings_file, options)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dmgbuild/core.py", line 73, in load_settings
    exec(compile(fp.read(), filename, "exec"), settings, settings)
  File "release_script/mac_only/dmgbuild_settings.py", line 60, in <module>
    badge_icon = icon_from_app(application)
  File "release_script/mac_only/dmgbuild_settings.py", line 25, in icon_from_app
    plist = biplist.readPlist(plist_path)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/biplist/__init__.py", line 143, in readPlist
    raise InvalidPlistException(e)
biplist.InvalidPlistException: module 'plistlib' has no attribute 'Data'
Command '['dmgbuild', '-s', 'release_script/mac_only/dmgbuild_settings.py', '-D', 'app=/Users/koya/Desktop/OpenBCI_GUI-master/openbcigui_v5.1.0_macosx/OpenBCI_GUI.app', 'OpenBCI_GUI', '/Users/koya/Desktop/OpenBCI_GUI-master/openbcigui_v5.1.0_macosx.dmg']' returned non-zero exit status 1.
WARNING: Failed create the .dmg file.
error: The specified item could not be found in the keychain.
Command '['codesign', '-f', '-v', '-sDeveloper ID Application: OpenBCI, Inc. (3P82WRGLM8)', '/Users/koya/Desktop/OpenBCI_GUI-master/openbcigui_v5.1.0_macosx.dmg']' returned non-zero exit status 1.
WARNING: Failed to sign dmg.

~ if you're reading this, thanks ✌️ ~

Build using Processing 3 and Export Application. Make-release.py is not really designed for use by users, though it's provided as-is.

The OpenBCI GUI libraries are also Intel-x64 based. Please use the Intel version of Processing, not ARM. This is likely why it failed.

There's an open ticket to finish upgrading this repo to Processing 4. We've been testing every version of it for some time.