Closed a7hybnj2 closed 2 years ago
I am not a mac user but I was wondering if the binary `pcbnew-nightly isn't just a wrapper script that properly set all library paths - just like in #246. The paths, of course, could be different.
So I set LD_LIBRARY_PATH
to /Applications/KiCad/KiCad.app/Contents/Frameworks/
which is where
libwx_osx_cocoau_gl-3.1.5.0.0.dylib
libwx_osx_cocoau_gl-3.1.5.dylib
libwx_osx_cocoau-3.1.5.0.0.dylib
libwx_osx_cocoau-3.1.5.dylib
all live. But, I still got the same error as above. Is there another path I should be setting?
Quick googling told me that mac uses DYLD_LIBRARY_PATH
instead of LD_LIBRARY_PATH
. Try that. But I am shooting blindly as I have no experience with mac...
Okay I set my DYLD_LIBRARY_PATH
to /Applications/KiCad/KiCad.app/Contents/Frameworks
because that is where the libwx_osx_cocoau
files live. That appears to have resolved that problem but now it cannot locate "Python" itself.
An error occurred: dlopen(/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so, 0x0002): Library not loaded: @rpath/Versions/3.8/Python
Referenced from: /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
Reason: tried: '/Applications/KiCad/KiCad.app/Contents/Frameworks/Python' (no such file), '/usr/local/lib/Versions/3.8/Python' (no such file), '/usr/local/lib/Versions/3.8/Python' (no such file), '/usr/local/lib/Python' (no such file), '/usr/lib/Python' (no such file)
There are 3 Python
files
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Python
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Python
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app/Contents/MacOS/Python
Could you:
DYLD_LIBRARY_PATH
before setting a value?pcbnew-nighlty
binary does. I guess it will be a shell scriptBTW: I am sorry; I probably closed this issue yesterday by mistake when posting an answer.
@yaqwsx I think the issue here is that the Python bundled with KiCad is ultimately calling ctypes.util.find_library()
which probably can't find any *.dylib
installed by homebrew. Homebrew patches Python to fix this (see https://github.com/Homebrew/homebrew-core/blob/15e7f288e4b97c75b32c75748df0daa3b60d1c77/Formula/python%403.9.rb#L185), but I'm guessing the KiCad devs aren't patching the Python included with KiCad in the same way.
@a7hybnj2 Can you try adding something like the following to your ~/Library/Preferences/kicad/6.0/PyShell_pcbnew_startup.py
:
import sys
if sys.platform == "darwin":
import os
os.environ["DYLD_FALLBACK_LIBRARY_PATH"] = "/opt/homebrew/lib/" <-- put your path to homebrew here
This should allow the KiCad python to find any dylibs installed by homebrew.
I was able to get past the initial error that was looking for libwx_osx_cocoau_gl-3.1.5.dylib by installing wxwidgets using brew install wxwidgets but now that I think about it that shouldn't have been necessary. It shouldn't be looking for the local libs...right? Shouldn't all of that be packaged into the kicad environment?
Sorry, I misread this earlier, and now that I think about this, I think @a7hybnj2 is right, it seems like these should be included with KiCad in /Applications/KiCad/KiCad.app/Contents/Frameworks
, not something installed by homebrew.
Okay I set my DYLD_LIBRARY_PATH to /Applications/KiCad/KiCad.app/Contents/Frameworks because that is where the libwx_osx_cocoau files live. That appears to have resolved that problem but now it cannot locate "Python" itself.
Slight edit to what I proposed earlier, this should allow KiCad Python to find libwx_osx_cocoau_gl-3.1.5.dylib
:
# ~/Library/Preferences/kicad/6.0/PyShell_pcbnew_startup.py
import sys
if sys.platform == "darwin":
import os
os.environ["DYLD_FALLBACK_LIBRARY_PATH"] = "/Applications/KiCad/KiCad.app/Contents/Frameworks"
I tested with your above fix and was still getting the same errors so just in console I
export PYTHONPATH=/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/ kikit
export DYLD_LIBRARY_PATH=/Applications/KiCad/KiCad.app/Contents/Frameworks
export DYLD_FALLBACK_LIBRARY_PATH=/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8
all of the previous errors went away and were replaced by: Segmentation fault: 11
What is @rpath
? after setting just PYTHONPATH and the FALLBACK it is trying to work but @rpath/Versions/3.8/Python
doesn't expand correctly. An error occurred: dlopen(/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so, 0x0002): Library not loaded: @rpath/Versions/3.8/Python
if @rpath=Python.framework then it would be looking for python in the right spot...
I'm brand new to KiKit, and I didn't realize earlier that it wasn't just using the Python bundled with KiCad, so the PyShell_pcbnew_startup.py
change I mentioned above won't make any difference running kikit
externally. I tried going through the install instructions last night, but I wasn't able to get it working on my system either.
@a7hybnj2 are you seeing any difference when setting DYLD_LIBRARY_PATH
or DYLD_FALLBACK_LIBRARY_PATH
on the command line? Passing those on the command line doesn't seem to be working for me (it appears that SIP might be sanitizing DYLD_*
environment variables, see https://briandfoy.github.io/macos-s-system-integrity-protection-sanitizes-your-environment/):
$ PYTHONPATH=/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/ \
DYLD_FALLBACK_LIBRARY_PATH=/Applications/KiCad/KiCad.app/Contents/Frameworks \
kikit panelize --layout 'grid; rows: 2; cols: 2;' --tabs full --cuts vcuts doc/resources/conn.kicad_pcb panel.kicad_pcb
An error occurred: dlopen(/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so, 0x0002): Library not loaded: @rpath/libwx_osx_cocoau_gl-3.1.5.dylib
Referenced from: /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
Reason: tried: '/usr/local/lib/libwx_osx_cocoau_gl-3.1.5.dylib' (no such file), '/usr/lib/libwx_osx_cocoau_gl-3.1.5.dylib' (no such file)
No output files produced
What is @rpath?
It appears to be a macro for the dynamic loader that lets you specify dependency paths that are resolved at runtime. (see https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/RunpathDependentLibraries.html#//apple_ref/doc/uid/TP40008306-SW1)
When the dynamic loader (dyld) loads the executable, it looks for run-path dependent libraries in the run-path search paths in the order in which they were specified at link time
You can inspect these rpaths using otool
:
$ $ otool -L /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so:
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 164.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 23.0.0)
/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1000.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
@rpath/libwx_osx_cocoau_gl-3.1.5.dylib (compatibility version 1.0.0, current version 1.0.0)
@rpath/libwx_osx_cocoau-3.1.5.dylib (compatibility version 1.0.0, current version 1.0.0)
@rpath/Versions/3.8/Python (compatibility version 3.8.0, current version 3.8.0)
@rpath/libkicad_3dsg.2.0.0.dylib (compatibility version 2.0.0, current version 0.0.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 2022.20.117)
/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData (compatibility version 1.0.0, current version 1044.3.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1770.255.0)
/usr/lib/libcurl.4.dylib (compatibility version 7.0.0, current version 9.0.0)
@rpath/libGLEW.2.2.dylib (compatibility version 2.2.0, current version 2.2.0)
@rpath/libcairo.2.dylib (compatibility version 11603.0.0, current version 11603.0.0)
@rpath/libpixman-1.0.dylib (compatibility version 41.0.0, current version 41.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 904.4.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1770.255.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
You can actually experiment with changing the rpaths using install_name_tool
:
install_name_tool -change @rpath/Versions/3.8/Python /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Python /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
install_name_tool -change @rpath/libwx_osx_cocoau_gl-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau_gl-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
install_name_tool -change @rpath/libwx_osx_cocoau-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
install_name_tool -change @rpath/libkicad_3dsg.2.0.0.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libkicad_3dsg.2.0.0.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
install_name_tool -change @rpath/libGLEW.2.2.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libGLEW.2.2.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
install_name_tool -change @rpath/libcairo.2.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libcairo.2.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
install_name_tool -change @rpath/libpixman-1.0.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libpixman-1.0.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so
install_name_tool -change @rpath/libwx_osx_cocoau_gl-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau_gl-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau_gl-3.1.5.0.0.dylib
install_name_tool -change @rpath/libwx_osx_cocoau-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau_gl-3.1.5.0.0.dylib
install_name_tool -change @rpath/libwx_osx_cocoau-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libkicad_3dsg.2.0.0.dylib
install_name_tool -change @rpath/libwx_osx_cocoau_gl-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau_gl-3.1.5.dylib /Applications/KiCad/KiCad.app/Contents/Frameworks/libkicad_3dsg.2.0.0.dylib
This results in absolute paths that are already resolved:
$ otool -L /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/_pcbnew.so:
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 164.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 23.0.0)
/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1000.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau_gl-3.1.5.dylib (compatibility version 1.0.0, current version 1.0.0)
/Applications/KiCad/KiCad.app/Contents/Frameworks/libwx_osx_cocoau-3.1.5.dylib (compatibility version 1.0.0, current version 1.0.0)
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Python (compatibility version 3.8.0, current version 3.8.0)
/Applications/KiCad/KiCad.app/Contents/Frameworks/libkicad_3dsg.2.0.0.dylib (compatibility version 2.0.0, current version 0.0.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 2022.20.117)
/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData (compatibility version 1.0.0, current version 1044.3.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1770.255.0)
/usr/lib/libcurl.4.dylib (compatibility version 7.0.0, current version 9.0.0)
/Applications/KiCad/KiCad.app/Contents/Frameworks/libGLEW.2.2.dylib (compatibility version 2.2.0, current version 2.2.0)
/Applications/KiCad/KiCad.app/Contents/Frameworks/libcairo.2.dylib (compatibility version 11603.0.0, current version 11603.0.0)
/Applications/KiCad/KiCad.app/Contents/Frameworks/libpixman-1.0.dylib (compatibility version 41.0.0, current version 41.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 904.4.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1770.255.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
However, even after replacing the rpaths with absolute paths, I'm still getting the same Segmentation fault: 11
as @a7hybnj2:
$ PYTHONPATH=/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/ \
kikit panelize --layout 'grid; rows: 2; cols: 2;' --tabs full --cuts vcuts doc/resources/conn.kicad_pcb panel.kicad_pcb
Segmentation fault: 11
At this point, I'm out of ideas... π€·
Now that KiCad 6 is officially out I suspect it is only a matter of time before someone figures it out. I too have done all I know how to do.
I am still unsure whether it is safe to release v1, if I cannot confirm it works on Mac. Or if it is better to release v1, find the Mac users and then release v1.0.1 that is patched for Mac.
Given that Mac users can run KiKit in Docker, I'd say just release v1 and make a note that macOS isn't supported yet (who knows how long until somebody figures out how to get this working on Mac...)
It seems like the MacOS Version KiCAD compile a standalone python version. The python library did not share w/ system or brew version python.
The easy way is to use kicad python to install kikit. And use that kikit to do panelize.
Install
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/pip3 install kikit
Panelize
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit panelize --layout 'grid; rows: 2; cols: 1;' --tabs full --cuts vcuts ./example.kicad_pcb panel.kicad_pcb
Well, I just tried the above and it seems promising although I still ran into some errors. When I installed kikit I get a
ERROR: wxpython 4.1.1 requires pillow, which is not installed.
so I just did a
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/pip3 install pillow
but then when I ran the panelize command I got
An error occurred:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
* The Python version is: Python3.8 from "/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3.8"
* The NumPy version is: "1.21.5"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: dlopen(/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so, 0x0002): tried: '/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so' (code signature in <D6DEC3D7-AF4F-3AA2-B2DD-D6A87AC638BA> '/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so' not valid for use in process: mapped file has no Team ID and is not a platform binary (signed with custom identity or adhoc?)), '/usr/lib/_multiarray_umath.cpython-38-darwin.so' (no such file)
seems like this might be a pythonpath dyld thing again. I will try to locate those packages and point to them correctly and update here.
EDIT: Looks like it is looking in the correct places but something with a signature or Β―\(γ)/Β―. I am again past my knowledge of the issue.
EDIT 2: I had just installed STABLE this morning upgrading/replacing the nightly build. I am under the impression removing kicad will also remove its version of python and associated packages so nothing local should be messing it up.
You got this error ERROR: wxpython 4.1.1 requires pillow, which is not installed.
That fine. Skip it.
Make sure you use new SHELL
without any PATHONPATH environments.
T:/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin|
β ./pip3 -V
pip 19.2.3 from /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip (python 3.8)
T:/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin|
β ./pip3 install kikit
Collecting kikit
Using cached https://files.pythonhosted.org/packages/e2/6a/b67074cc94d4373c7e82b661c59a227fa51fb5251e96a721d375cb91e49a/KiKit-1.0.0-py3-none-any.whl
Collecting commentjson (from kikit)
Using cached https://files.pythonhosted.org/packages/c0/76/c4aa9e408dbacee3f4de8e6c5417e5f55de7e62fb5a50300e1233a2c9cb5/commentjson-0.9.0.tar.gz
Collecting solidpython (from kikit)
Using cached https://files.pythonhosted.org/packages/b6/1e/3a065797bd8fe8e2e0ced73e6baf07fdb921fecc04fa18b2b8ffb34f3c87/solidpython-1.1.1-py3-none-any.whl
Collecting shapely (from kikit)
Downloading https://files.pythonhosted.org/packages/80/4f/d96da54dadc06b3202df977f3721cc72f9f322f0ec5f15dd0baabd5ab365/Shapely-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl (1.2MB)
|ββββββββββββββββββββββββββββββββ| 1.2MB 3.3MB/s
Collecting pybars3 (from kikit)
Using cached https://files.pythonhosted.org/packages/ec/1a/2fb847db017f9f89ab8519d96e35fb3dacb6170a0643fddba3b366af0af1/pybars3-0.9.7.tar.gz
Collecting numpy (from kikit)
Downloading https://files.pythonhosted.org/packages/e8/b2/be38f1036c7e7f6af79201f09de86615599beeb232f37dd288d9631d9b29/numpy-1.21.5-cp38-cp38-macosx_10_9_x86_64.whl (16.9MB)
|ββββββββββββββββββββββββββββββββ| 16.9MB 25.9MB/s
Collecting pcbnewTransition==0.2.0 (from kikit)
Using cached https://files.pythonhosted.org/packages/98/cc/2210a2dca06d89c4f87e1c2b6e10d20e8a4d32b9fbe1590e9d188b3123bd/pcbnewTransition-0.2.0-py3-none-any.whl
Collecting markdown2 (from kikit)
Downloading https://files.pythonhosted.org/packages/ab/36/101b2a0fb8880ae7ea2bbcee5a2f91e74bb58e5f23d0d692020fb07623c6/markdown2-2.4.2-py2.py3-none-any.whl
Collecting click (from kikit)
Using cached https://files.pythonhosted.org/packages/48/58/c8aa6a8e62cc75f39fee1092c45d6b6ba684122697d7ce7d53f64f98a129/click-8.0.3-py3-none-any.whl
Collecting lark-parser<0.8.0,>=0.7.1 (from commentjson->kikit)
Using cached https://files.pythonhosted.org/packages/34/b8/aa7d6cf2d5efdd2fcd85cf39b33584fe12a0f7086ed451176ceb7fb510eb/lark-parser-0.7.8.tar.gz
Collecting pypng<0.0.20,>=0.0.19 (from solidpython->kikit)
Using cached https://files.pythonhosted.org/packages/0e/39/993a5feea8ed9c2eebd70c6e7c20cb4b0823588f5ab0afab4b0be95ebc23/pypng-0.0.19.tar.gz
Collecting regex<2020.0,>=2019.4 (from solidpython->kikit)
Using cached https://files.pythonhosted.org/packages/fc/a6/2c153ced229ba51f941d15554a66293c9f79e2d5b9a18c1d1b0c52a31a1f/regex-2019.12.20.tar.gz
Collecting euclid3<0.2.0,>=0.1.0 (from solidpython->kikit)
Using cached https://files.pythonhosted.org/packages/fc/d2/80730bee6b51f2a0faacaec51abb919f144c8b1fff5907fe019ec0e95698/euclid3-0.01.tar.gz
Collecting PrettyTable==0.7.2 (from solidpython->kikit)
Downloading https://files.pythonhosted.org/packages/ef/30/4b0746848746ed5941f052479e7c23d2b56d174b82f4fd34a25e389831f5/prettytable-0.7.2.tar.bz2
Collecting PyMeta3>=0.5.1 (from pybars3->kikit)
Using cached https://files.pythonhosted.org/packages/ce/af/409edba35fc597f1e386e3860303791ab5a28d6cc9a8aecbc567051b19a9/PyMeta3-0.5.1.tar.gz
Building wheels for collected packages: commentjson, pybars3, lark-parser, pypng, regex, euclid3, PrettyTable, PyMeta3
Building wheel for commentjson (setup.py) ... done
Created wheel for commentjson: filename=commentjson-0.9.0-cp38-none-any.whl size=12085 sha256=65706d92abcc5535e1204e64031edbac4eb971eb84984c23fb41d0325f37565d
Stored in directory: /Users/tyw/Library/Caches/pip/wheels/0d/18/46/8da734185b844fc754de60da2c162fc15f7acdacfd4621144e
Building wheel for pybars3 (setup.py) ... done
Created wheel for pybars3: filename=pybars3-0.9.7-cp38-none-any.whl size=14094 sha256=6eb74205c106ca25a0070dd8af839c5936344287c9fc96257df74f3b9e7fdae8
Stored in directory: /Users/tyw/Library/Caches/pip/wheels/36/34/84/eb0e44383aa4b6e27bf4b32274284b1909b117c1bf8ca74e79
Building wheel for lark-parser (setup.py) ... done
Created wheel for lark-parser: filename=lark_parser-0.7.8-py2.py3-none-any.whl size=62514 sha256=b7d392c624f8343a79adcb6407230854e23406a6d38327d46eac3d52891b8919
Stored in directory: /Users/tyw/Library/Caches/pip/wheels/01/a2/30/ebae6ffa73cf3aa1c972a24d4c78388afd910f91e43bf554aa
Building wheel for pypng (setup.py) ... done
Created wheel for pypng: filename=pypng-0.0.19-cp38-none-any.whl size=53308 sha256=b96c51ca25e23df35aebb036b2f500e9e845e756276dc13acadc02e2b4404500
Stored in directory: /Users/tyw/Library/Caches/pip/wheels/a4/cd/54/c1d0803dfed5adf2bba530eda161581d9096d0154aee082cac
Building wheel for regex (setup.py) ... done
Created wheel for regex: filename=regex-2019.12.20-cp38-cp38-macosx_10_9_x86_64.whl size=281812 sha256=da53096d87df58901c3cf8fb944ba821e32b370f179b192bd8239b1c7cd7bbdf
Stored in directory: /Users/tyw/Library/Caches/pip/wheels/98/16/eb/136427a471a706ea4847904c4b37c27a21bc3c90763092b67c
Building wheel for euclid3 (setup.py) ... done
Created wheel for euclid3: filename=euclid3-0.1-cp38-none-any.whl size=13256 sha256=efc920ec241ac0f694f13c868d7a76be9181c00f0c757d5ac5ffe900c117aef1
Stored in directory: /Users/tyw/Library/Caches/pip/wheels/15/52/ea/f0bf957951bd8b43c99461ef483bdd799d0e896a4bb99857ac
Building wheel for PrettyTable (setup.py) ... done
Created wheel for PrettyTable: filename=prettytable-0.7.2-cp38-none-any.whl size=13701 sha256=38c4e2ba9d00d28aed7efb7bc80c8817851273dc9cd66d6b10369e74c2ec74b7
Stored in directory: /Users/tyw/Library/Caches/pip/wheels/80/34/1c/3967380d9676d162cb59513bd9dc862d0584e045a162095606
Building wheel for PyMeta3 (setup.py) ... done
Created wheel for PyMeta3: filename=PyMeta3-0.5.1-cp38-none-any.whl size=16451 sha256=8e5c85f48c6e3fa8aa68f164b75cbc862a82032b6fe8f53b604288dac0803b9a
Stored in directory: /Users/tyw/Library/Caches/pip/wheels/ca/39/08/80a225ffde8b15eea306b6d603e3ed4aa44a616f7c2d485c6b
Successfully built commentjson pybars3 lark-parser pypng regex euclid3 PrettyTable PyMeta3
ERROR: wxpython 4.1.1 requires pillow, which is not installed.
Installing collected packages: lark-parser, commentjson, pypng, regex, euclid3, PrettyTable, solidpython, shapely, PyMeta3, pybars3, numpy, pcbnewTransition, markdown2, click, kikit
Successfully installed PrettyTable-0.7.2 PyMeta3-0.5.1 click-8.0.3 commentjson-0.9.0 euclid3-0.1 kikit-1.0.0 lark-parser-0.7.8 markdown2-2.4.2 numpy-1.21.5 pcbnewTransition-0.2.0 pybars3-0.9.7 pypng-0.0.19 regex-2019.12.20 shapely-1.8.0 solidpython-1.1.1
WARNING: You are using pip version 19.2.3, however version 21.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/pip3 -V pip 19.2.3 from /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip (python 3.8)
echo $PYTHONPATH
(The above is a blank line) I removed my kicad install including everything in ~/Library/Preferences and ~/Library/Caches and tried again without installing pillow this time:
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/pip3 install kikit
Collecting kikit
Using cached https://files.pythonhosted.org/packages/e2/6a/b67074cc94d4373c7e82b661c59a227fa51fb5251e96a721d375cb91e49a/KiKit-1.0.0-py3-none-any.whl
Collecting shapely (from kikit)
Using cached https://files.pythonhosted.org/packages/80/4f/d96da54dadc06b3202df977f3721cc72f9f322f0ec5f15dd0baabd5ab365/Shapely-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl
Collecting numpy (from kikit)
Using cached https://files.pythonhosted.org/packages/e8/b2/be38f1036c7e7f6af79201f09de86615599beeb232f37dd288d9631d9b29/numpy-1.21.5-cp38-cp38-macosx_10_9_x86_64.whl
Collecting click (from kikit)
Using cached https://files.pythonhosted.org/packages/48/58/c8aa6a8e62cc75f39fee1092c45d6b6ba684122697d7ce7d53f64f98a129/click-8.0.3-py3-none-any.whl
Collecting solidpython (from kikit)
Using cached https://files.pythonhosted.org/packages/b6/1e/3a065797bd8fe8e2e0ced73e6baf07fdb921fecc04fa18b2b8ffb34f3c87/solidpython-1.1.1-py3-none-any.whl
Collecting markdown2 (from kikit)
Using cached https://files.pythonhosted.org/packages/ab/36/101b2a0fb8880ae7ea2bbcee5a2f91e74bb58e5f23d0d692020fb07623c6/markdown2-2.4.2-py2.py3-none-any.whl
Collecting commentjson (from kikit)
Collecting pybars3 (from kikit)
Collecting pcbnewTransition==0.2.0 (from kikit)
Using cached https://files.pythonhosted.org/packages/98/cc/2210a2dca06d89c4f87e1c2b6e10d20e8a4d32b9fbe1590e9d188b3123bd/pcbnewTransition-0.2.0-py3-none-any.whl
Collecting euclid3<0.2.0,>=0.1.0 (from solidpython->kikit)
Collecting pypng<0.0.20,>=0.0.19 (from solidpython->kikit)
Collecting regex<2020.0,>=2019.4 (from solidpython->kikit)
Collecting PrettyTable==0.7.2 (from solidpython->kikit)
Collecting lark-parser<0.8.0,>=0.7.1 (from commentjson->kikit)
Collecting PyMeta3>=0.5.1 (from pybars3->kikit)
ERROR: wxpython 4.1.1 requires pillow, which is not installed.
Installing collected packages: shapely, numpy, click, euclid3, pypng, regex, PrettyTable, solidpython, markdown2, lark-parser, commentjson, PyMeta3, pybars3, pcbnewTransition, kikit
Successfully installed PrettyTable-0.7.2 PyMeta3-0.5.1 click-8.0.3 commentjson-0.9.0 euclid3-0.1 kikit-1.0.0 lark-parser-0.7.8 markdown2-2.4.2 numpy-1.21.5 pcbnewTransition-0.2.0 pybars3-0.9.7 pypng-0.0.19 regex-2019.12.20 shapely-1.8.0 solidpython-1.1.1
WARNING: You are using pip version 19.2.3, however version 21.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
looks just like yours then
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit panelize --layout 'grid; rows: 2; cols: 1;' --tabs full --cuts vcuts conn.kicad_pcb panel.kicad_pcb
An error occurred:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
* The Python version is: Python3.8 from "/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3.8"
* The NumPy version is: "1.21.5"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: dlopen(/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so, 0x0002): tried: '/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so' (code signature in <D6DEC3D7-AF4F-3AA2-B2DD-D6A87AC638BA> '/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so' not valid for use in process: mapped file has no Team ID and is not a platform binary (signed with custom identity or adhoc?)), '/usr/lib/_multiarray_umath.cpython-38-darwin.so' (no such file)
No output files produced
I am using the example board provided by kikit in the doc/resources folder. Could it be the example file? Do you have a file you want to share to rule that out?
I am using the example board provided by kikit in the doc/resources folder. Could it be the example file? Do you have a file you want to share to rule that out?
Once you panelize, numpy
is imported. So it won't be just this case, but every case. Actually, help imports only click
and nothing else (not even the pcbnew
module - as it takes quite a long time to load).
This is MacOS Standard security issue..... signature error...
I do not know how to resolve it. (Long long time ago, I disabled lots of macos security options.)
Hits: search google mapped file has no Team ID and is not a platform binary
Original error was:
dlopen(/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so, 0x0002):
tried: '/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so'
(code signature in <D6DEC3D7-AF4F-3AA2-B2DD-D6A87AC638BA>
'/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so'
not valid for use in process: mapped file has no Team ID and is not a platform binary (signed with custom identity or adhoc?)),
'/usr/lib/_multiarray_umath.cpython-38-darwin.so' (no such file)
I managed to get the SIP (System Integrity Protection) Mac issue solved, but I had to sign again the Python.app embedded with Kicad.
If you don't have a Apple Developer code signing certificate you can simply create a Self Signed using Keychain like this...
Then run
codesign -fs "my-certificate" /Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app
I was then able to run using the embedded python the example panelization command...
/Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit panelize --layout 'grid; rows: 2; cols: 1;' --tabs full --cuts vcuts <PATH_TO_PCB>/conn.kicad_pcb <OUTPUT_PATH>/panel.kicad_pcb
Technically I believe this should be solved by the Kicad Mac builder, they should probably add the "com.apple.security.cs.disable-library-validation=TRUE" entitlement the the Python.app. The problem is that the Kicad.app is code signed but the minute we run the embedded pip3, files are added that were not part of the original bundle so they cannot be loaded. The issue is solved by resigning the Python.app but ideally we'd like that validation to be disabled.
Summarizing, install KiKit, code sign and then run kikit.
/Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/pip3 install kikit
codesign -fs "my-certificate" /Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app
/Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit panelize --layout 'grid; rows: 2; cols: 1;' --tabs full --cuts vcuts <PATH_TO_PCB>/conn.kicad_pcb <OUTPUT_PATH>/panel.kicad_pcb
I forgot to mention that even though the panelize command runs and generates the panel, it also outputs some assertion issues:
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
I got same outputs too, but it seems not affect the panelize. It only the message for wxApp.
I forgot to mention that even though the panelize command runs and generates the panel, it also outputs some assertion issues:
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this ./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this ./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this ./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this ./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this ./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this ./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this ./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this ./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this ./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
@conradopoole sweet! I will try this out this afternoon.
Would this be mitigated if this package were installed through the new kicad plugin/package/theme manager? I know that isn't really how this tool works but would be cool and much easier for non-cl people.
When I installed kikit I get a
ERROR: wxpython 4.1.1 requires pillow, which is not installed.
@a7hybnj2 I think you can prevent the error from showing up by passing all the required packages to pip on one line (this installs for me without any errors):
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip numpy pillow kikit
@conradopoole the code signing works for me too. I'm also getting the assertion errors, but it looks like the panelizer is working correctly.
$ /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit panelize --layout 'grid; rows: 2; cols: 2;' --tabs full --cuts vcuts doc/resources/conn.kicad_pcb panel.kicad_pcb
./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this
@yaqwsx FYI, when I open pcbnew after installing the KiKit front end from PCM, I get the following error. What is it looking for to determine if there is a backend installed?
@cdwilson On my side, the kicad kikit plugin work perfect.
@yaqwsx For macos, when you enable the plugin, the script should in /Users/xxx/Documents/kicad/6.0/scripting/plugins/
instead of /Users/xxxx/.local/share/kicad/6.0/scripting/
.
Following steps
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit-plugin enable panelize hideReferences
File '/Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py' was created
mv /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py /Users/xxx/Documents/kicad/6.0/scripting/plugins/kikit_plugin.py
PS: Fingers crossed and good luck
@tywtyw2002 Did you do any additional code signs? For me the Panelize plugin does not work either from the GUI (it does not load with same message as @cdwilson ) unless a fully code sign the full Kicad.app (with --deep), then it loads
codesign --deep -fs "my-certificate" /Applications/Kicad/KiCad.app
I figured out it was a signing issue again when from the Script console in Pcbnew I tried to run the same import the kikit_plugin.py does. Doing a :
from kikit.plugin import panelize
Resulted in the same signing error about the Team ID blah blah blah .... Only way around it for me was to fully code sign the whole app like explained above. @cdwilson let me know if this works for you as well
One side effect is that if I fully code sign Kicad.app then the kikit does not work for me from the command line.... But I rather have the GUI plugin working on my Mac and then if I want to run the CLI I just then a docker image instead. (@yaqwsx started pushing the M1 docker image as well to docker hub, if using an Intel Mac then the standard x64 image works).
NO, I disabled SIP and other security features since day 1.
I think that is called Disable Gatekeeper
.
If you know what software you've running, disable security features make life easier.
NO, I disabled SIP and other security features since day 1.
Ah, I see, I never disabled it, I like those security features...
NO, I disabled SIP and other security features since day 1.
Ah, I see, I never disabled it, I like those security features...
Maybe, popup an issue to kicad issue tracker to let them enabled the 3-party binary execute permission.
Try resign the
/Applications/KiCad/KiCad.app/Contents/Applications/pcbnew.app
@cdwilson: The message you see means that KiKit is not installed for the Python interpreter Pcbnew uses. It is shown when from kikit.plugin import importAllPlugins
fails.
@tywtyw2002 Those paths are on what platform? macOS? I am not sure if I want to fix this as we have KiCAD PCM which is much user-friendlier. The kikit-plugin
was created as there was no easy way of enabling the plugins. However, maintaining it means walking through KiCAD sources and replicating the path-building functions as this part of KiCAD is not exported in the Python API.
/Users/xxx/Documents/kicad/6.0/scripting/plugins/
Yep, on Macos, the default script path is /Users/xxx/Documents/kicad/6.0/scripting/plugins/
BTW: I opened a feature request in KiCAD mac package that could solve this: https://gitlab.com/kicad/packaging/kicad-mac-builder/-/issues/384
FWIW I can confirm that resigning the Kicad.app does work - it may only be necessary to sign the pcbnew.app but I din't try that. I have not needed to disable SIP.
Is there a definitive method for getting Kikit to work on Macs? I get the same notification about not installing the backend. Well... I have installed the backend and I get a help listing etc. I also installed the frontend from the Plugins area. However they just don't connect. It is a issue with t an incorrect path?
I got it to work by signing the Kicad app - as per @tywtyw2002 instructions above. i.e generate your own certificate and then do
codesign --deep -fs "my-certificate" /Applications/Kicad/KiCad.app
and
mv /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py /Users/xxx/Documents/kicad/6.0/scripting/plugins/kikit_plugin.py
John
Thanks for following up with me.
However, I can't find "kikit_plugin.py."
I installed the backend using: pip3 install kikit
When I type "kikit --help " it works. When I type "kikit --version" it works.
I've installed Kikit from the PCM and it says it is installed.
When I look for kikit_plugin.py in /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py (or anywhere else) I just can't find it.
If I can't find it I can't move it to /Users/xxx/Documents/kicad/6.0/scripting/plugins.
Any help would be appreciated.
Thanks
Robert AKA Robomaticii
On Thu, Jan 27, 2022 at 5:04 PM John @.***> wrote:
I got it to work by signing the Kicad app - as per @tywtyw2002 https://github.com/tywtyw2002 instructions above. i.e generate your own certificate and then do
codesign --deep -fs "my-certificate" /Applications/Kicad/KiCad.app
and
mv /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py /Users/xxx/Documents/kicad/6.0/scripting/plugins/kikit_plugin.py
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1023679308, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXNEI7RGLCRJ3VXQOT32W2LUYG6ONANCNFSM5KOAN3JQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
I think this is what I needed to do too get it working.
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip numpy pillow kikit /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit-plugin enable panelize hideReferences codesign -fs βYour Cert" /Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app mv $HOME/.local/share/kicad/6.0/scripting/kikit_plugin.py $HOME/Documents/KiCad/6.0/scripting/plugins/
YMMV - This was on Monterey. You need to do the plugin-enable to generate the plugins before they can be moved.
On 28 Jan 2022, at 05:26, Robomaticii @.***> wrote:
John
Thanks for following up with me.
However, I can't find "kikit_plugin.py."
I installed the backend using: pip3 install kikit
When I type "kikit --help " it works. When I type "kikit --version" it works.
I've installed Kikit from the PCM and it says it is installed.
When I look for kikit_plugin.py in /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py (or anywhere else) I just can't find it.
If I can't find it I can't move it to /Users/xxx/Documents/kicad/6.0/scripting/plugins.
Any help would be appreciated.
Thanks
Robert AKA Robomaticii
On Thu, Jan 27, 2022 at 5:04 PM John @.***> wrote:
I got it to work by signing the Kicad app - as per @tywtyw2002 https://github.com/tywtyw2002 instructions above. i.e generate your own certificate and then do
codesign --deep -fs "my-certificate" /Applications/Kicad/KiCad.app
and
mv /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py /Users/xxx/Documents/kicad/6.0/scripting/plugins/kikit_plugin.py
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1023679308, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXNEI7RGLCRJ3VXQOT32W2LUYG6ONANCNFSM5KOAN3JQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1023899265, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACADFOL35Q6XQE53QANAV43UYISHXANCNFSM5KOAN3JQ. You are receiving this because you commented.
John
Thanks for the updated info.
However, I haven't been able to get past the first line of instructions. It may be that all my attempts have messed things up to the point it is not possible.
I am going to deinstall KiCad and do a fresh install. This may allow me to get it done.
Regards
Robert
On Fri, Jan 28, 2022 at 6:09 AM John @.***> wrote:
I think this is what I needed to do too get it working.
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip numpy pillow kikit /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit-plugin enable panelize hideReferences codesign -fs βYour Cert" /Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app mv $HOME/.local/share/kicad/6.0/scripting/kikit_plugin.py $HOME/Documents/KiCad/6.0/scripting/plugins/
YMMV - This was on Monterey. You need to do the plugin-enable to generate the plugins before they can be moved.
On 28 Jan 2022, at 05:26, Robomaticii @.***> wrote:
John
Thanks for following up with me.
However, I can't find "kikit_plugin.py."
I installed the backend using: pip3 install kikit
When I type "kikit --help " it works. When I type "kikit --version" it works.
I've installed Kikit from the PCM and it says it is installed.
When I look for kikit_plugin.py in /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py (or anywhere else) I just can't find it.
If I can't find it I can't move it to /Users/xxx/Documents/kicad/6.0/scripting/plugins.
Any help would be appreciated.
Thanks
Robert AKA Robomaticii
On Thu, Jan 27, 2022 at 5:04 PM John @.***> wrote:
I got it to work by signing the Kicad app - as per @tywtyw2002 https://github.com/tywtyw2002 instructions above. i.e generate your own certificate and then do
codesign --deep -fs "my-certificate" /Applications/Kicad/KiCad.app
and
mv /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py /Users/xxx/Documents/kicad/6.0/scripting/plugins/kikit_plugin.py
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1023679308, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AXNEI7RGLCRJ3VXQOT32W2LUYG6ONANCNFSM5KOAN3JQ
. Triage notifications on the go with GitHub Mobile for iOS < https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
You are receiving this because you commented.Message ID: @.***>
β Reply to this email directly, view it on GitHub < https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1023899265>, or unsubscribe < https://github.com/notifications/unsubscribe-auth/ACADFOL35Q6XQE53QANAV43UYISHXANCNFSM5KOAN3JQ . You are receiving this because you commented.
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1024111703, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXNEI7WZTQQJXLBXER26XELUYJ2PBANCNFSM5KOAN3JQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
You have to type the whole line as one function
/Applications/KiCad/β¦../python3 -m pip install βupgrade β¦
ALL as one line - the forum software is splitting it into two lines.
John Pateman
Sent from my iPhone
On 29 Jan 2022, at 21:45, Robomaticii @.***> wrote:
ο»Ώ John
Thanks for the updated info.
However, I haven't been able to get past the first line of instructions. It may be that all my attempts have messed things up to the point it is not possible.
I am going to deinstall KiCad and do a fresh install. This may allow me to get it done.
Regards
Robert
On Fri, Jan 28, 2022 at 6:09 AM John @.***> wrote:
I think this is what I needed to do too get it working.
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip numpy pillow kikit /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit-plugin enable panelize hideReferences codesign -fs βYour Cert" /Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app mv $HOME/.local/share/kicad/6.0/scripting/kikit_plugin.py $HOME/Documents/KiCad/6.0/scripting/plugins/
YMMV - This was on Monterey. You need to do the plugin-enable to generate the plugins before they can be moved.
On 28 Jan 2022, at 05:26, Robomaticii @.***> wrote:
John
Thanks for following up with me.
However, I can't find "kikit_plugin.py."
I installed the backend using: pip3 install kikit
When I type "kikit --help " it works. When I type "kikit --version" it works.
I've installed Kikit from the PCM and it says it is installed.
When I look for kikit_plugin.py in /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py (or anywhere else) I just can't find it.
If I can't find it I can't move it to /Users/xxx/Documents/kicad/6.0/scripting/plugins.
Any help would be appreciated.
Thanks
Robert AKA Robomaticii
On Thu, Jan 27, 2022 at 5:04 PM John @.***> wrote:
I got it to work by signing the Kicad app - as per @tywtyw2002 https://github.com/tywtyw2002 instructions above. i.e generate your own certificate and then do
codesign --deep -fs "my-certificate" /Applications/Kicad/KiCad.app
and
mv /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py /Users/xxx/Documents/kicad/6.0/scripting/plugins/kikit_plugin.py
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1023679308, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AXNEI7RGLCRJ3VXQOT32W2LUYG6ONANCNFSM5KOAN3JQ
. Triage notifications on the go with GitHub Mobile for iOS < https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
You are receiving this because you commented.Message ID: @.***>
β Reply to this email directly, view it on GitHub < https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1023899265>, or unsubscribe < https://github.com/notifications/unsubscribe-auth/ACADFOL35Q6XQE53QANAV43UYISHXANCNFSM5KOAN3JQ . You are receiving this because you commented.
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1024111703, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXNEI7WZTQQJXLBXER26XELUYJ2PBANCNFSM5KOAN3JQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
β Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.
John
My mistake on the first line was a little more foolish. I copied and pasted into Terminal without the first "/" before Application. Too easy to miss.
Now I am having problems with the following instruction lines.
I still can't find "kikit_plugin.py".
I am on Catalins. This may be an OS version thing. I will update to Monterey and see whether that changes anything.
Thanks again for following up with me.
Robert
On Sun, Jan 30, 2022 at 4:49 AM John @.***> wrote:
You have to type the whole line as one function
/Applications/KiCad/β¦../python3 -m pip install βupgrade β¦
ALL as one line - the forum software is splitting it into two lines.
John Pateman
Sent from my iPhone
On 29 Jan 2022, at 21:45, Robomaticii @.***> wrote:
ο»Ώ John
Thanks for the updated info.
However, I haven't been able to get past the first line of instructions. It may be that all my attempts have messed things up to the point it is not possible.
I am going to deinstall KiCad and do a fresh install. This may allow me to get it done.
Regards
Robert
On Fri, Jan 28, 2022 at 6:09 AM John @.***> wrote:
I think this is what I needed to do too get it working.
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip numpy pillow kikit
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit-plugin enable panelize hideReferences codesign -fs βYour Cert"
/Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app mv $HOME/.local/share/kicad/6.0/scripting/kikit_plugin.py $HOME/Documents/KiCad/6.0/scripting/plugins/
YMMV - This was on Monterey. You need to do the plugin-enable to generate the plugins before they can be moved.
On 28 Jan 2022, at 05:26, Robomaticii @.***> wrote:
John
Thanks for following up with me.
However, I can't find "kikit_plugin.py."
I installed the backend using: pip3 install kikit
When I type "kikit --help " it works. When I type "kikit --version" it works.
I've installed Kikit from the PCM and it says it is installed.
When I look for kikit_plugin.py in /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py (or anywhere else) I just can't find it.
If I can't find it I can't move it to /Users/xxx/Documents/kicad/6.0/scripting/plugins.
Any help would be appreciated.
Thanks
Robert AKA Robomaticii
On Thu, Jan 27, 2022 at 5:04 PM John @.***> wrote:
I got it to work by signing the Kicad app - as per @tywtyw2002 https://github.com/tywtyw2002 instructions above. i.e generate your own certificate and then do
codesign --deep -fs "my-certificate" /Applications/Kicad/KiCad.app
and
mv /Users/xxxx/.local/share/kicad/6.0/scripting/kikit_plugin.py /Users/xxx/Documents/kicad/6.0/scripting/plugins/kikit_plugin.py
β Reply to this email directly, view it on GitHub < https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1023679308>, or unsubscribe <
https://github.com/notifications/unsubscribe-auth/AXNEI7RGLCRJ3VXQOT32W2LUYG6ONANCNFSM5KOAN3JQ
. Triage notifications on the go with GitHub Mobile for iOS <
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android <
.
You are receiving this because you commented.Message ID: @.***>
β Reply to this email directly, view it on GitHub < https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1023899265>, or unsubscribe <
https://github.com/notifications/unsubscribe-auth/ACADFOL35Q6XQE53QANAV43UYISHXANCNFSM5KOAN3JQ
. You are receiving this because you commented.
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1024111703, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AXNEI7WZTQQJXLBXER26XELUYJ2PBANCNFSM5KOAN3JQ
. Triage notifications on the go with GitHub Mobile for iOS < https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
You are receiving this because you commented.Message ID: @.***>
β Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1025107041, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXNEI7X4RKZCOGFMNE2F473UYUCRJANCNFSM5KOAN3JQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
I have successfully installed on Monterey but would be very surprised if Catalina was any more problematic. In fact, system security has got tighter in more recent os iterations so Catalina might well be easier.
What happens if you just evoke the python interpreter on its own - just check that you get a console running by typing
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3
into a terminal window. You should get a python console with a prompt. (Type exit() to quit this).
This relies on you having installed KiCad in tot he normal Applications directory. If that doesnβt work, I would try installing the application again and then running the full incantations once more.
On 30 Jan 2022, at 17:42, Robomaticii @.***> wrote:
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3
I think this is what I needed to do too get it working. /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip numpy pillow kikit /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit-plugin enable panelize hideReferences codesign -fs βYour Cert" /Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app mv $HOME/.local/share/kicad/6.0/scripting/kikit_plugin.py $HOME/Documents/KiCad/6.0/scripting/plugins/ YMMV - This was on Monterey. You need to do the plugin-enable to generate the plugins before they can be moved.
I just tried this on Big Sur and needed to sign Python.app before I could run kikit-plugin enable. Maybe this should be the 1st step.
It all ran successfully from terminal but still seeing the "No backend found" error when I open pcbnew.
If I run say /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit fab [params]
it works. It moans assert ""traits"" failed in Get(): create wxApp before calling this
a few times but there's a zip where I expect it.
I think this is what I needed to do too get it working. /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip numpy pillow kikit /Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit-plugin enable panelize hideReferences codesign -fs βYour Cert" /Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app mv $HOME/.local/share/kicad/6.0/scripting/kikit_plugin.py $HOME/Documents/KiCad/6.0/scripting/plugins/ YMMV - This was on Monterey. You need to do the plugin-enable to generate the plugins before they can be moved.
I just tried this on Big Sur and needed to sign Python.app before I could run kikit-plugin enable. Maybe this should be the 1st step.
It all ran successfully from terminal but still seeing the "No backend found" error when I open pcbnew.
If I run say
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit fab [params]
it works. It moansassert ""traits"" failed in Get(): create wxApp before calling this
a few times but there's a zip where I expect it.
Did you try on pcbnew when launched from a Kicad window? Or standalone? In my experience it only works when I launch Pcbnew.app standalone, not from Kicad. When I do it from Kicad I always get that issue with the "No backend found"
John
So I believe I have got KiKit to install properly so that it works within KiCad. I haven't used it yet but it is available in Pcbnew and opens a menu when you click on the icon.
I started with a fresh install of KiCad.
I also generated my certificate as suggested in Issue #252.
Using the certificate I signed Python.app as follows:
codesign -fs βmy-certificate" /Applications/Kicad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/Resources/Python.app
Next step is as you suggested:
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip numpy pillow kikit
and:
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/kikit-plugin enable panelize hideReferences
I made a plugins" directory in /Users/"User Name"/Documents/kicad/6.0/scripting/
Then I opened KiCad and installed KiKit from the PCM.
Close KiCad.
Check to see if kikit_plugin.py is in /Users/chimney/Documents/kicad/6.0/scripting/plugins/ - it was there for me.
If not, it would have to be moved there from wherever.
Last step is to sign the KiCad.app.
codesign -fs my-certificate /Applications/Kicad/KiCad.app
VoilΓ . C'est Γ§a.
I will post it on Issue #252 for others to try.
Thanks for your help. I couldn't have done it without your valuable input.
Regards
Robert
On Mon, Jan 31, 2022 at 10:34 AM John @.***> wrote:
I have successfully installed on Monterey but would be very surprised if Catalina was any more problematic. In fact, system security has got tighter in more recent os iterations so Catalina might well be easier.
What happens if you just evoke the python interpreter on its own - just check that you get a console running by typing
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3
into a terminal window. You should get a python console with a prompt. (Type exit() to quit this).
This relies on you having installed KiCad in tot he normal Applications directory. If that doesnβt work, I would try installing the application again and then running the full incantations once more.
On 30 Jan 2022, at 17:42, Robomaticii @.***> wrote:
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.8/bin/python3
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1025903336, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXNEI7SMPZQOWQV4AOAU52LUY2TXHANCNFSM5KOAN3JQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
Oh! and there it is. Guess you can see my user name is "chimney". Forgot to replace it with a generic in one step.
Hope the above helps.
Robert AKA Robomaticii
Je vous en prie π
John Pateman
Sent from my iPhone
On 2 Feb 2022, at 03:09, Robomaticii @.***> wrote:
ο»Ώ Oh! and there it is. Guess you can see my user name is "chimney". Forgot to replace it with a generic in one step.
Hope the above helps.
Robert AKA Robomaticii
β Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.
Last step is to sign the KiCad.app. codesign -fs my-certificate /Applications/Kicad/KiCad.app
This was the missing secret sauce for me.
Hi! I see that you made a progress with this issue. Would you mind writing a step-by-step guide and submitting it as a pull request to the documentation?
PS: Is there anything we could ask from the KiCAD developers to make the whole process easier? I find the current situation on Mac really bad, however, since I am not a Mac use I am not sure if I fully understand what needs to change.
Jan
I will put together a step-by-step guide and submit it as a pull request.
However, I wish I knew exactly why it works. I am more of a hardware guy and an artificer (someone who just makes things work) - not a programmer. I suspect it has something to do with how Mac OS handles certificates. I am going to do some research to see if I can figure it out.
I will be in touch soon.
Robert
On Wed, Feb 9, 2022 at 4:11 AM Jan MrΓ‘zek @.***> wrote:
Hi! I see that you made a progress with this issue. Would you mind writing a step-by-step guide and submitting it as a pull request to the documentation?
PS: Is there anything we could ask from the KiCAD developers to make the whole process easier? I find the current situation on Mac really bad, however, since I am not a Mac use I am not sure if I fully understand what needs to change.
β Reply to this email directly, view it on GitHub https://github.com/yaqwsx/KiKit/issues/252#issuecomment-1033525924, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXNEI7UZAYE2E44LYMRE4Z3U2IVTBANCNFSM5KOAN3JQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
I just updated kicad and kikit. I am running
KiCad Version: (6.0.0-rc2-14-ga17a58203b), release build
andkikit, version 0.99-pre1.0+76.g2d499e0
although I tired this with 0.7 also. OnmacOS 12.0.1
The error I get is
This was referenced in #21 but this is indeed a different issue.
I was able to get past the initial error that was looking for
libwx_osx_cocoau_gl-3.1.5.dylib
by installingwxwidgets
usingbrew install wxwidgets
but now that I think about it that shouldn't have been necessary. It shouldn't be looking for the local libs...right? Shouldn't all of that be packaged into the kicad environment?I know yaqwsx doesn't have a mac at their disposal so I am just putting my notes here in case they or anyone else gets a similar error or figures how to progress past this point.