OSArch Community

Homemaker add-on

  1. B

    I don't pretend to understand all that cppyy is doing here - cppyy is a piece of magic, generating python APIs for C++ libraries on the fly with no configuration - the problem is that to make a downloadable blender add-on that contains Topologic we need to bundle the whole thing, including a modified clang compiler and all these other tools. But it looks to me that gbd-backtrace.sh is a tool that cppyy runs to provide information after it has already crashed, which explains why we haven't seen this error before, by fixing the executable bit it might tell us why it crashed.

  2. B

    I updated the Homemaker add-on packages for Linux, they now include a pre-compiled header file - previously the PCH file was generated on first-run by collecting headers from the user's system, which made the download smaller, but was a potential failure point.

  3. M

    I tried the Python 3.7 version on 2.91 and got this:

    
    Modules Installed (homemaker) from '/home/dion/Downloads/blender-homemaker-2021-06-06-py37-linux-x86_64.zip' into '/home/dion/.config/blender/2.91/scripts/addons'
    
    (Re-)building pre-compiled headers (options: -O2 -mavx); this may take a minute ...
    
    Traceback (most recent call last):
    
      File "/home/dion/drive/blender/blender-2.91.0-linux64/2.91/scripts/modules/addon_utils.py", line 351, in enable
    
        mod = __import__(module_name)
    
      File "/home/dion/.config/blender/2.91/scripts/addons/homemaker/__init__.py", line 9, in <module>
    
        from topologic import Vertex, Face, CellComplex, Graph
    
      File "/home/dion/.config/blender/2.91/scripts/addons/homemaker/libs/site/packages/topologic/__init__.py", line 29, in <module>
    
        import cppyy
    
      File "/home/dion/.config/blender/2.91/scripts/addons/homemaker/libs/site/packages/cppyy/__init__.py", line 74, in <module>
    
        from ._cpython_cppyy import *
    
      File "/home/dion/.config/blender/2.91/scripts/addons/homemaker/libs/site/packages/cppyy/_cpython_cppyy.py", line 21, in <module>
    
        import libcppyy as _backend
    
    ImportError: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
    

    I find it strange because Blender 2.91 is 3.7, so perhaps it is looking for my system Python, not Blender Python. My system has 3.8 and 3.9.

  4. B

    @Moult does your blender installation include a libpython3.7m.so.1.0?

  5. M

    @brunopostle

    
    $ find . -type f -iname "*libpython*"
    
    ./2.91/python/lib/python3.7/config-3.7m-x86_64-linux-gnu/libpython3.7m.a
    
  6. B

    @Moult Blender ships with a static .a library, what use could that possibly be? @stephen_l are you using a blender downloaded from blender.org too?

  7. B

    @Moult I could bundle libpython3.7m.so.1.0 too, it is only another 3MB. Though I'm not sure how to get libcppyy to find it, I could know more about blender add-ons. [edit: or statically link libcppyy with the .a file shipped with blender itself]

  8. S

    @brunopostle alway download and setup "portables" version, as i must keep 2.79 / 2.81+ versions running in parallel.

  9. B

    I'm pretty much stuck here:

    The immediate problem is that the blender from blender.org has an embedded python 3.7 and doesn't provide libpython3.7m.so.1.0. The libcppyy in the homemaker add-on is linked to the missing libpython3.7m.so.1.0, hence the error cannot open shared object file: No such file or directory (the problem is the same with blender 2.93 which has an embedded python 3.9).

    This isn't a problem with a blender installed via .deb or .rpm on a Linux distribution as these use the system python, not embedded.

    I can fix it simply by putting a copy of libpython3.7m.so.1.0 into /usr/lib64. The Homemaker add-on bundle then runs in a blender from blender.org. I don't know how to do the same in an add-on, any ideas? It doesn't seem to be possible to modify the library path from within python.

    I managed to statically link libcppyy with the libpython3.7m.a file that blender.org provides, but I just get a double-free segfault when I try and use it.

    I'm packaging the Homemaker add-on here, but the problem will be the same with any other add-on that uses Topologic (such as the Topologic Sverchok nodes).

  10. M

    Sorry, I know nothing about linking and compiling, so my comments may be completely wrong, but I'll try anyway. When packaging OCC, the way I solved it was to look in Anaconda's repos, which were compiled with an RPATH that I had to follow. They did not seem to depend on this .so file. I'm not quite sure how they were built, but perhaps it might give a hint to a solution?

  11. T

    I know nothing about linking and compiling either, but from what I have been reading, creating an Anaconda recipe/package might be the way to go to include all dependencies etc.

  12. B

    Thanks, I'd forgotten about rpath while trying to statically link everything. It looks like I need to do the same with TopologicCore and opencascade, as Topologic fails if there is a different system opencascade to the one in the bundle (and though I managed a statically linked TopologicCore.so, it failed with some undefined symbols that I couldn't debug).

  13. S

    There is huge difference between 2.92 and 2.92+, blender's own python will no more expose system's site_package to the interpreter !

  14. B

    I've uploaded new Homemaker add-on packages for blender linux. This should fix the missing libpython file error, and fixes problems caused by different opencascade versions on the system. Please report any successes or failures.

  15. B
  16. B

    There is a new blender-homemaker-2021-06-13-linux-x86_64 release

    This is a test of packaging the Homemaker add-on and dependencies for linux.

    This release fixes some more file permission issues in cppyy and bundles some libstdc++ headers required on systems without a development environment.

    important note: On some systems there seems to be a conflict between the libGL.so shipped with blender downloaded from blender.org and the cppyy library used by the add-on. If you get a segfault when enabling the add-on, please try running the blender-softwaregl version of blender and report success or failure.

    I don't really expect it to work everywhere, but would like any error messages or any reports of success, please open an issue, or add a comment to an existing issue.

    Requirements

    • an x86_64 linux system with glibc 2.28 or later, this should be most linux systems.

    • Blender 2.80 or later

    • a linux blenderbim snapshot, or the current linux blenderbim v0.0.210605 release (or later)

    There are two linux downloads, download py37 or py39 to correspond to the version of python used by your blender (if you downloaded from blender.org then use the py37 file; unless you downloaded blender 2.93 or later, use the py39 file). If you got your blender via your linux distribution, then download whichever python is the default on your system.

    Install the add-on by browsing for the zip archive in the blender preferences, and enable.

    To test, select the default cube and choose 'Homemaker Topologise' in the 'Object' menu.

  17. M

    Works 100% out of the box here! Fantastic!

  18. T

    Hi @brunopostle. It almost worked for me. The plugin loads and activates in Preferences, but when I select the default cube and select Homemaker Topologise, I get the following error and nothing shows on screen:

    addon_utils.disable: blenderbim not disabled

    Modules Installed (blenderbim) from '/home/wassim/Downloads/blender28-bim-210610-py39-linux.zip' into '/home/wassim/.config/blender/2.92/scripts/addons'

    Python: Traceback (most recent call last):

    File "/home/wassim/.config/blender/2.92/scripts/addons/blenderbim/bim/module/drawing/operator.py", line 814, in execute

    "space.overlay.show_wireframes": space.overlay.show_wireframes,

    AttributeError: 'NoneType' object has no attribute 'overlay'

    location: /usr/share/blender/2.92/scripts/modules/bpy/ops.py:132

    Error: Python: Traceback (most recent call last):

    File "/home/wassim/.config/blender/2.92/scripts/addons/blenderbim/bim/module/drawing/operator.py", line 814, in execute

    "space.overlay.show_wireframes": space.overlay.show_wireframes,

    AttributeError: 'NoneType' object has no attribute 'overlay'

    location: /usr/share/blender/2.92/scripts/modules/bpy/ops.py:132

    Traceback (most recent call last):

    File "/home/wassim/.config/blender/2.92/scripts/addons/blenderbim/bim/init.py", line 106, in on_register

    handler.setDefaultProperties(scene)

    File "/home/wassim/.config/blender/2.92/scripts/addons/blenderbim/bim/handler.py", line 272, in setDefaultProperties

    bpy.ops.bim.save_drawing_style(index="2")

    File "/usr/share/blender/2.92/scripts/modules/bpy/ops.py", line 132, in call

    ret = _op_call(self.idname_py(), None, kw)

    RuntimeError: Error: Python: Traceback (most recent call last):

    File "/home/wassim/.config/blender/2.92/scripts/addons/blenderbim/bim/module/drawing/operator.py", line 814, in execute

    "space.overlay.show_wireframes": space.overlay.show_wireframes,

    AttributeError: 'NoneType' object has no attribute 'overlay'

    location: /usr/share/blender/2.92/scripts/modules/bpy/ops.py:132

    Python: Traceback (most recent call last):

    File "/home/wassim/.config/blender/2.92/scripts/addons/homemaker/init.py", line 106, in execute

    cc.ApplyDictionary(faces_ptr)

    AttributeError: 'CellComplex' object has no attribute 'ApplyDictionary'

    location: <unknown location>:-1

    Error: Python: Traceback (most recent call last):

    File "/home/wassim/.config/blender/2.92/scripts/addons/homemaker/init.py", line 106, in execute

    cc.ApplyDictionary(faces_ptr)

    AttributeError: 'CellComplex' object has no attribute 'ApplyDictionary'

    location: <unknown location>:-1

  19. T

    but the cool thing is that I can now go into the python console in Blender and type:

    import topologic

    and it works :)

  20. T

    Ooops sorry. I have to take that back. I have two versions of Blender (2.82 that uses python 3.8.6) and (2.93 that uses python 3.92). Homemaker for py 3.9 loaded on Blender 2.92 (despite the difference in python numbers), but crashes on activation in Blender 2.93. Happy to jump on a video call to show you and debug.

  21. B

    @Moult said:

    Works 100% out of the box here! Fantastic!

    Great, was this with the blender or blender-softwaregl executable? @topologic got it working just now using this workaround, though obviously blender is painfully slow without hardware acceleration.

  22. J

    Worked also for me with Blender 2.92.0 standard installation with the standard installation (the tar file from the website).

    Great!! I can now also try topologic!! :)

  23. T

    @Jesusbill said:

    Worked also for me with Blender 2.92.0 standard installation with the standard installation (the tar file from the website).

    Great!! I can now also try topologic!! :)

    I am on it but the vaccine side effects hit me today. Hopefully this week I will replicate what @brunopostle had done with homemaker. We are getting there!

  24. M

    I used the standard blender executable.

    The first error looks like a BlenderBIM Add-on error. It suggests that you do not have a 3D view in Blender. Is that correct?

  25. D

    *Sitting quietly while watching from the naughty corner with my Windows system.

  1. Page 1
  2. 2
  3. 3
  4. 4
  5. 11
  6. 12
  7. 13

Login or Register to reply.