FS#67792 - [blender] addons not available

Attached to Project: Community Packages
Opened by Mike Sampson (mikesd) - Tuesday, 01 September 2020, 12:23 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Friday, 04 September 2020, 22:44 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Filipe Laíns (FFY00)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 5
Private No

Details

Description:

In the new 2.90 build the majority of add-ons are not available. It is throwing the following error repeatedly on startup:

ImportError: cannot import name 'orientation_helper_factory' from 'bpy_extras.io_utils' (/usr/share/blender/2.90/scripts/modules/bpy_extras/io_utils.py)

which *may* be related. I have downloaded the official 2.90 build and confirmed it works correctly. Possible it's a submodule issue as the addons are from git submodules by the looks.

Running ripgrep over the Arch 2.9 install and the official 2.9 shows that orientation_helper_factory only appears in the arch build. Have not confirmed this error is the reason add-ons are not available or it could be unrelated but another symptom of the same issue.


Steps to reproduce:

Go to Edit -> Preferences -> Add-ons

You should see the screenshot attached for 2.90-official.png. I see 2.90-arch.png
This task depends upon

Closed by  Sven-Hendrik Haase (Svenstaro)
Friday, 04 September 2020, 22:44 GMT
Reason for closing:  Fixed
Comment by Roland Ruckerbauer (ruabmbua) - Tuesday, 01 September 2020, 19:04 GMT
I can also reproduce this issue. Seems like there are some missing files, which breaks addon loading.
Comment by Brendan (breno-87) - Wednesday, 02 September 2020, 09:46 GMT
I downloaded "blender-2.90.0-linux64.tar.xz" from blender.org and compared its "io_utils.py" to the Arch build, there were no differences.
So it seems that the error is with the file accessing "io_utils.pty". Doing a comparison of for example "/usr/share/blender/2.90/scripts/addons/io_scene_x3d/__init__.py", the Arch build is 190 lines long with 2 instances of "orientation_helper_factory". While the the blender.org build is 309 lines, multiple changes and additions, most notably being "orientation_helper" replacing "orientation_helper_factory".

So I guess the addons in the Arch build will need to be updated. I'm not very comfortable with replacing/editing system files, so I added the addons to "~/.config/blender/2.90/scripts/addons/". But Blender will not load addons with matching names, conflict, but some addons did load. Food for thought, maybe.
Comment by Canseco (CansecoGPC) - Wednesday, 02 September 2020, 15:03 GMT
Not only addons are affected but translations are missing lots of entries too, and that's another submodule maybe more are affected.

It seems they had to retag before 2.90 release, so maybe "git fetch --tags --force" would solve the problem.
Comment by Sven-Hendrik Haase (Svenstaro) - Wednesday, 02 September 2020, 16:01 GMT
Could you make a patch? It would help me a lot currently as I don't have too much time currently.
Comment by Brendan (breno-87) - Thursday, 03 September 2020, 02:25 GMT
@Svenstaro
I've just tested updating '/usr/share/blender/2.90/scripts/addons/' and was able to reduce errors down to 1('/usr/share/blender/2.90/scripts/modules/addons_utils.py' ModuleNotFoundError: No module named 'cycles'). Not sure if it has a negative effect on any addons, but they appear to have all loaded. I'm not sure if this is the right way to do things, maybe someone else could confirm, but this is how i did it:

Download addons for 2.90 from 'https://github.com/blender/blender-addons/releases', extract zip.
Delete or Rename '/usr/share/blender/2.90/scripts/addons'.
Copy and rename extracted folder 'blender-addons-2.90.0' to '/usr/share/blender/2.90/scripts/addons'.
Comment by mml (mml) - Thursday, 03 September 2020, 05:07 GMT
@Svenstaro



https://wiki.blender.org/wiki/Building_Blender/Linux/Arch

step "make update" before "make"

It will rebase all submodule to origin branch or tag

I only modified prepare()

before
git submodule status
2b3c19f5f61fc72dba56a7edfdc4e55e2327dc1f release/datafiles/locale (v2.78-rc1-5-g2b3c19f)
49c39f59fbc464dd34388990123f271c39eacbf4 release/scripts/addons (v2.78-rc1-53-g49c39f59)
a52733b58d95ce60ecde95a9eca242e7319c285a release/scripts/addons_contrib (v2.81~513)
896c5f78952adb2d091d28c65086d46992dabdac source/tools (v2.78)

after
git submodule status
+2a85baf7318e2d8a26a25e6eb8211a2395d44a76 release/datafiles/locale (v2.90.0)
+1346083086ab89851b2aa8d8568b643804f9cb34 release/scripts/addons (v2.90.0-52-g13460830)
+f2f4a8b3bfa36ee49f7bdb3a1acb40ef4b39ee3a release/scripts/addons_contrib (v2.90.0)
+6034199b444a1ae91a43dcb7b03144561b3e044a source/tools (v2.90.0-7-g6034199)
   PKGBUILD (4.5 KiB)
Comment by Sven-Hendrik Haase (Svenstaro) - Friday, 04 September 2020, 20:19 GMT
Check 2.90.0-2, it should be fixed.
Comment by Canseco (CansecoGPC) - Friday, 04 September 2020, 22:18 GMT
Everything works fine now, thanks.

Loading...