Kicad: error 40 when exporting BOM using Python

168 Views Asked by At

From EESchema I’m trying the various BOM export scripts to find which one is better for my needs. Most of them fails with the following error, though:

Run command:
python "/usr/share/kicad/plugins/bom_html_with_advanced_grouping.py" "/home/andrea/myboard.xml" "/home/andrea/myboard"

Command error. Return code -1
Error messages:
execvp(python, /usr/share/kicad/plugins/bom_html_with_advanced_grouping.py, /home/andrea/myboard.xml, /home/andrea/myboard) failed with error 40!

I cannot understand what is "error 40". Here the list of the scripts that fail:

bom_html_with_advanced_grouping.py
bom_html_grouped_by_value.py
bom_sorted_by_ref.py
bom_csv_sorted_by_ref.py
bom_csv_grouped_by_value_with_fp
bom_csv_grouped_by_value.py

They all seem to use Python, so I guess there's something wrong with it. But in my system I have a working python2 and python3 and I also checked the built-in Kicad's python is working (i.e. from Pcbnew I can successfully open Tools > Scripting Console). So I don't think this is the problem (otherwise Kicad would have told if it hadn't found the needed dependencies).

I also tried to create alias for python to python2 or python3 but nothing has changed.

Furthermore I don't understand if "Error 40" comes from Kicad, Python or execvp.

Kicad information:

Application: Eeschema
Version: 5.1.9-73d0e3b20d~88~ubuntu20.04.1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Platform: Linux 5.4.0-65-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.71.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.68.0
    Compiler: GCC 9.3.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
1

There are 1 best solutions below

0
bobc On

If you are not sure about a BOM script, to get diagnostics you can run them from the command line. There is nothing special about the way KiCad invokes them.