[Bug] AddonManager install prerequisities error freezes FreeCAD

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
Frank Schrüfer
Posts: 34
Joined: Sat Dec 25, 2021 12:23 pm

[Bug] AddonManager install prerequisities error freezes FreeCAD

Post by Frank Schrüfer »

Hy,

I tried to install the Addon FreeCAD-Ship via the AddonManager which in turn tried to install 'slvs' and 'capytaine' via pip. That latter failed and raised the following exception:

Code: Select all

Collecting py-slvs
  Downloading py_slvs-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (294 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 294.1/294.1 KB 5.2 MB/s eta 0:00:00
Installing collected packages: py-slvs
Successfully installed py-slvs-1.0.3
Noneb'pip 22.0.4 from /usr/lib/python3.10/site-packages/pip (python 3.10)\n'pip 22.0.4 from /usr/lib/python3.10/site-packages/pip (python 3.10)
Traceback (most recent call last):
  File "/home/system/usr/FreeCAD/bin/build/Mod/AddonManager/addonmanager_workers_installation.py", line 399, in run
    self._install_python_packages()
  File "/home/system/usr/FreeCAD/bin/build/Mod/AddonManager/addonmanager_workers_installation.py", line 434, in _install_python_packages
    self._install_required(vendor_path)
  File "/home/system/usr/FreeCAD/bin/build/Mod/AddonManager/addonmanager_workers_installation.py", line 470, in _install_required
    proc = subprocess.run(
  File "/usr/lib64/python3.10/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/system/usr/FreeCAD/bin/build/bin/python', '-m', 'pip', 'install', '--disable-pip-version-check', '--target', '/home/stone/.local/share/FreeCAD/AdditionalPythonPackages', 'capytaine']' returned non-zero exit status 1.
The exception is not reproted by the GUI and FreeCAD freezes after that while it should report the problem to the user and continue working.

Additional Info: I tried to install 'capytaine' manually and got the root cause of the exception:

Code: Select all

/home/system/usr/FreeCAD/bin/build/bin/python -m pip install --disable-pip-version-check --target /home/stone/.local/share/FreeCAD/AdditionalPythonPackages capytaine
Collecting capytaine
  Using cached capytaine-1.4.1.tar.gz (124 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [195 lines of output]
      running egg_info
      running build_src
      build_src
      building extension "capytaine.green_functions.Delhommeau_f90" sources
      f2py options: []
      f2py:> build/src.linux-x86_64-3.10/capytaine/green_functions/Delhommeau_f90module.c
      creating build
      creating build/src.linux-x86_64-3.10
      creating build/src.linux-x86_64-3.10/capytaine
      creating build/src.linux-x86_64-3.10/capytaine/green_functions
      appenddecl: "dimension" not implemented.
      appenddecl: "dimension" not implemented.
      appenddecl: "dimension" not implemented.
      appenddecl: "dimension" not implemented.
      Reading fortran codes...
          Reading file 'capytaine/green_functions/Delhommeau_f90/constants.f90' (format:free)
          Reading file 'capytaine/green_functions/Delhommeau_f90/Delhommeau_integrals.f90' (format:free)
          Reading file 'capytaine/green_functions/Delhommeau_f90/old_Prony_decomposition.f90' (format:free)
          Reading file 'capytaine/green_functions/Delhommeau_f90/Green_Rankine.f90' (format:free)
          Reading file 'capytaine/green_functions/Delhommeau_f90/Green_wave.f90' (format:free)
          Reading file 'capytaine/green_functions/Delhommeau_f90/matrices.f90' (format:free)
      Post-processing...
          Block: Delhommeau_f90
                          Block: constants
                          Block: delhommeau_integrals
                                  Block: numerical_integration
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Delhommeau_integrals.f90:delhommeau_integrals:numerical_integration
      analyzevars: prefix ('pure') were not used
                                  Block: asymptotic_approximations
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Delhommeau_integrals.f90:delhommeau_integrals:asymptotic_approximations
      analyzevars: prefix ('pure') were not used
                                  Block: construct_tabulation
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Delhommeau_integrals.f90:delhommeau_integrals:construct_tabulation
      analyzevars: prefix ('pure') were not used
                                  Block: default_r_spacing
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Delhommeau_integrals.f90:delhommeau_integrals:default_r_spacing
      analyzevars: prefix ('pure') were not used
                                  Block: default_z_spacing
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Delhommeau_integrals.f90:delhommeau_integrals:default_z_spacing
      analyzevars: prefix ('pure') were not used
                                  Block: pick_in_default_tabulation
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Delhommeau_integrals.f90:delhommeau_integrals:pick_in_default_tabulation
      analyzevars: prefix ('pure') were not used
                          Block: old_prony_decomposition
                                  Block: ff
                                  Block: lisc
                                  Block: expors
                                  Block: mcas
                                  Block: housrs
                                  Block: sprbm
                                  Block: spqfb
                          Block: green_rankine
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Green_Rankine.f90:green_rankine
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
                                  Block: compute_integral_of_rankine_source
                                  Block: compute_asymptotic_rankine_source
                          Block: green_wave
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Green_wave.f90:green_wave
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
                                  Block: collect_delhommeau_integrals
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Green_wave.f90:green_wave:collect_delhommeau_integrals
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
                                  Block: wave_part_infinite_depth
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Green_wave.f90:green_wave:wave_part_infinite_depth
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
                                  Block: wave_part_finite_depth
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/Green_wave.f90:green_wave:wave_part_finite_depth
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
                          Block: matrices
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices
      get_useparameters: no module ieee_arithmetic info used by matrices
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
                                  Block: is_infinity
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices:is_infinity
      get_useparameters: no module ieee_arithmetic info used by is_infinity
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices:is_infinity
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
                                  Block: add_rankine_part_to_the_matrices
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices:add_rankine_part_to_the_matrices
      get_useparameters: no module ieee_arithmetic info used by add_rankine_part_to_the_matrices
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices:add_rankine_part_to_the_matrices
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
                                  Block: add_wave_part_to_the_matrices
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices:add_wave_part_to_the_matrices
      get_useparameters: no module ieee_arithmetic info used by add_wave_part_to_the_matrices
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices:add_wave_part_to_the_matrices
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
                                  Block: build_matrices
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices:build_matrices
      get_useparameters: no module ieee_arithmetic info used by build_matrices
      In: :Delhommeau_f90:capytaine/green_functions/Delhommeau_f90/matrices.f90:matrices:build_matrices
      get_parameters: got "invalid syntax (<string>, line 1)" on '(/2, 3, 4, 1/)'
      Post-processing (stage 2)...
          Block: Delhommeau_f90
                  Block: unknown_interface
                          Block: constants
                          Block: delhommeau_integrals
                                  Block: numerical_integration
                                  Block: asymptotic_approximations
                                  Block: construct_tabulation
                                  Block: default_r_spacing
                                  Block: default_z_spacing
                                  Block: pick_in_default_tabulation
                          Block: old_prony_decomposition
                                  Block: ff
                                  Block: lisc
                                  Block: expors
                                  Block: mcas
                                  Block: housrs
                                  Block: sprbm
                                  Block: spqfb
                          Block: green_rankine
                                  Block: compute_integral_of_rankine_source
                                  Block: compute_asymptotic_rankine_source
                          Block: green_wave
                                  Block: collect_delhommeau_integrals
                                  Block: wave_part_infinite_depth
                                  Block: wave_part_finite_depth
                          Block: matrices
                                  Block: is_infinity
                                  Block: add_rankine_part_to_the_matrices
                                  Block: add_wave_part_to_the_matrices
                                  Block: build_matrices
      Building modules...
          Building module "Delhommeau_f90"...
                  Constructing F90 module support for "constants"...
                    Variables: pre zero one pi ii
                  Constructing F90 module support for "delhommeau_integrals"...
                  Creating wrapper for Fortran function "numerical_integration"("numerical_integration")...
                          Constructing wrapper function "delhommeau_integrals.numerical_integration"...
                            integrals = numerical_integration(r,z,[nb_integration_points])
                  Creating wrapper for Fortran function "asymptotic_approximations"("asymptotic_approximations")...
                          Constructing wrapper function "delhommeau_integrals.asymptotic_approximations"...
                            integrals = asymptotic_approximations(r,z)
                  Creating wrapper for Fortran function "construct_tabulation"("construct_tabulation")...
                          Constructing wrapper function "delhommeau_integrals.construct_tabulation"...
                            tabulation = construct_tabulation(r_range,z_range,nb_integration_points)
                  Creating wrapper for Fortran function "default_r_spacing"("default_r_spacing")...
                          Constructing wrapper function "delhommeau_integrals.default_r_spacing"...
                            default_r_spacing = default_r_spacing(nr)
                  Creating wrapper for Fortran function "default_z_spacing"("default_z_spacing")...
                          Constructing wrapper function "delhommeau_integrals.default_z_spacing"...
                            default_z_spacing = default_z_spacing(nz)
                  Creating wrapper for Fortran function "pick_in_default_tabulation"("pick_in_default_tabulation")...
                          Constructing wrapper function "delhommeau_integrals.pick_in_default_tabulation"...
                            integrals = pick_in_default_tabulation(r,z,r_range,z_range,tabulation)
                  Constructing F90 module support for "old_prony_decomposition"...
                  Creating wrapper for Fortran function "ff"("ff")...
                          Constructing wrapper function "old_prony_decomposition.ff"...
                            ff = ff(xtt,ak,am)
                          Constructing wrapper function "old_prony_decomposition.lisc"...
                            ambda,ar,nexp = lisc(ak0,wavenumber)
                          Constructing wrapper function "old_prony_decomposition.expors"...
                            ambda,ar = expors(xt,yt,nm,nmax)
                          Constructing wrapper function "old_prony_decomposition.mcas"...
                            ar = mcas(ambda,xt,yt,npp,a,nmax,nexp)
                          Constructing wrapper function "old_prony_decomposition.housrs"...
                            housrs(a,nl,ncc,[nmax])
                          Constructing wrapper function "old_prony_decomposition.sprbm"...
                            sprbm(c,ic,rr,rc)
                          Constructing wrapper function "old_prony_decomposition.spqfb"...
                            spqfb(c,ic,q,lim,ier)
                  Constructing F90 module support for "green_rankine"...
                          Constructing wrapper function "green_rankine.compute_integral_of_rankine_source"...
                            s0,vs0 = compute_integral_of_rankine_source(m,face_nodes,face_center,face_normal,face_area,face_radius)
                          Constructing wrapper function "green_rankine.compute_asymptotic_rankine_source"...
                            s0,vs0 = compute_asymptotic_rankine_source(m,face_center,face_area)
                  Constructing F90 module support for "green_wave"...
                  Creating wrapper for Fortran subroutine "collect_delhommeau_integrals"("collect_delhommeau_integrals")...
                          Constructing wrapper function "green_wave.collect_delhommeau_integrals"...
                            fs,vs = collect_delhommeau_integrals(x0i,x0j,wavenumber,tabulated_r_range,tabulated_z_range,tabulated_integrals)
                  Creating wrapper for Fortran subroutine "wave_part_infinite_depth"("wave_part_infinite_depth")...
                          Constructing wrapper function "green_wave.wave_part_infinite_depth"...
                            sp,vsp = wave_part_infinite_depth(x0i,x0j,wavenumber,tabulated_r_range,tabulated_z_range,tabulated_integrals)
                  Creating wrapper for Fortran subroutine "wave_part_finite_depth"("wave_part_finite_depth")...
                          Constructing wrapper function "green_wave.wave_part_finite_depth"...
                            sp,vsp_sym,vsp_antisym = wave_part_finite_depth(x0i,x0j,wavenumber,depth,tabulated_r_range,tabulated_z_range,tabulated_integrals,ambda,ar,[nexp])
                  Constructing F90 module support for "matrices"...
                  Creating wrapper for Fortran function "is_infinity"("is_infinity")...
                          Constructing wrapper function "matrices.is_infinity"...
                            is_infinity = is_infinity(x)
                          Constructing wrapper function "matrices.add_rankine_part_to_the_matrices"...
                            add_rankine_part_to_the_matrices(centers_1,normals_1,vertices_2,faces_2,centers_2,normals_2,areas_2,radiuses_2,coeff,s,k,[nb_faces_1,nb_vertices_2,nb_faces_2])
                  Creating wrapper for Fortran subroutine "add_wave_part_to_the_matrices"("add_wave_part_to_the_matrices")...
                          Constructing wrapper function "matrices.add_wave_part_to_the_matrices"...
                            add_wave_part_to_the_matrices(centers_1,normals_1,quad_points,quad_weights,wavenumber,depth,tabulated_r_range,tabulated_z_range,tabulated_integrals,ambda,ar,coeff,same_body,s,k,[nb_faces_1,nb_faces_2,nb_quad_points,nexp])
                  Creating wrapper for Fortran subroutine "build_matrices"("build_matrices")...
                          Constructing wrapper function "matrices.build_matrices"...
                            s,k = build_matrices(centers_1,normals_1,vertices_2,faces_2,centers_2,normals_2,areas_2,radiuses_2,quad_points,quad_weights,wavenumber,depth,coeffs,tabulated_r_range,tabulated_z_range,tabulated_integrals,ambda,ar,same_body,[nb_faces_1,nb_vertices_2,nb_faces_2,nb_quad_points,nexp])
          Wrote C/API module "Delhommeau_f90" to file "build/src.linux-x86_64-3.10/capytaine/green_functions/Delhommeau_f90module.c"
          Fortran 90 wrappers are saved to "build/src.linux-x86_64-3.10/capytaine/green_functions/Delhommeau_f90-f2pywrappers2.f90"
        adding 'build/src.linux-x86_64-3.10/build/src.linux-x86_64-3.10/capytaine/green_functions/fortranobject.c' to sources.
        adding 'build/src.linux-x86_64-3.10/build/src.linux-x86_64-3.10/capytaine/green_functions' to include_dirs.
      get_useparameters: mapping for {'only': 1, 'map': {'compute_asymptotic_rankine_source': 'compute_asymptotic_rankine_source'}} not impl.get_useparameters: mapping for {'only': 1, 'map': {'compute_asymptotic_rankine_source': 'compute_asymptotic_rankine_source'}} not impl.get_useparameters: mapping for {'only': 1, 'map': {'compute_asymptotic_rankine_source': 'compute_asymptotic_rankine_source'}} not impl.get_useparameters: mapping for {'only': 1, 'map': {'compute_asymptotic_rankine_source': 'compute_asymptotic_rankine_source'}} not impl.error: file '/usr/lib64/python3.10/site-packages/numpy/f2py/src/fortranobject.c' does not exist
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Looks like a simple thing, but I've no idea where to report this second problem.

My FreeCAD version is:

Code: Select all

OS: openSUSE Tumbleweed (KDE//usr/share/xsessions/plasma5)
Word size of FreeCAD: 64-bit
Version: 0.21.30418 (Git)
Build type: DEBUG
Branch: master
Hash: 73c586ba52210cf56db2ab76aa192042f5ce71ef
Python 3.10.7, Qt 5.15.5, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.3
Locale: German/Germany (de_DE)
Installed mods: 
  * AirPlaneDesign 0.4.0
  * BIM 2021.12.0
  * BOLTSFC
  * Beltrami 1.0.7-alpha
  * CADExchanger
  * CommandPanel
  * CubeMenu
  * CurvedShapes 1.0.4
  * Curves 0.5.8
  * Defeaturing 1.2.0
  * Design456 0.0.1
  * DesignSPHysics 0.6.1-2207-03-01
  * DynamicData 2.46.0
  * EM
  * ExplodedAssembly
  * FEM_FrontISTR 0.1.0
  * IconThemes
  * ImportNURBS 1.1.0
  * InventorLoader 1.3.0
  * LCInterlocking
  * Lithophane
  * MakerWorkbench
  * OSE3dPrinter
  * dodo
  * frame 0.1.0
  * lattice2 1.0.0
  * nurbs
  * ose-piping
  * parts_library
  * pcb
  * Autoload
  * POV-Ray-Rendering
  * Pyramids-and-Polyhedrons
  * pyrate
  * ose-workbench-core-master
  * Glass
  * Help 1.0.3
  * Assembly4 0.1.0
  * 3DfindIT.backup1663671805.323724 1.2.0 (Disabled)
  * 3DfindIT 1.2.0
  * fasteners 0.4.6
  * Manipulator 0.1.0
  * Marz 0.4.6
  * MeshRemodel 1.8919.0
  * MnesarcoUtils 0.1.0
  * OpticsWorkbench 0.1.0
  * Plot 0.1.0
  * Reinforcement 0.1.0
  * GDML.backup1663673388.5000124 1.8.0 (Disabled)
  * GDML 2.0.0
  * fcgear.backup1663675698.5467753 1.0.0 (Disabled)
  * fcgear 1.0.0
  * 3D_Printing_Tools
  * A2plus 0.4.59
  * ArchTextures
  * Assembly3 0.11.3
  * CfdOF 1.17.9
  * Estimate 0.1.2
  * kicadStepUpMod 10.15.1
  * offline-documentation 1.0.0-alpha
  * sheetmetal 0.2.57

Thanks,
Frank
User avatar
chennes
Veteran
Posts: 3909
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: [Bug] AddonManager install prerequisities error freezes FreeCAD

Post by chennes »

Thanks for the report - I can look into the Addon Manager part of it and figure out why it's not just showing the "failed to install" dialog. As for the underlying problem with the library, you could try reporting it here: https://github.com/capytaine/capytaine/issues
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
Post Reply