3D apps broken - missing dependencies) (blender, FreeCAD, openCASCADE community edition)

Hi, I had to re-install, so I downloaded the current Tumbleweed snapshot (20180615). I couldn’t install FreeCAD because of missing dependency libboost_system 1.66. When I found that in the experimental repo, it needed libicui18n (going by memory here), which I couldn’t find on software.opensuse.org/search. Attempts to install blender and openCASCADE (community edition) ran into the same problem. Where should I report this?

Thanks, GEF

PS: Blender I can install from its own website, and CAD is one of those things I plan to learn someday, not an urgent need.

Found a workaround: Installed FreeCAD via 1-click, Leap 15 version, did not remain subscribed to repo. Then updated to FreeCAD from Tumbleweed repo.

If you want to break your system, do things like you did now. Do not mix packages from different openSUSE versions. You have been lucky this hasn’t borked your install.

Hi Knurpht. Since I had a clean install, there wasn’t much at stake. However, I agree with you generally - that’s why I wanted to report the broken dependency.

The problem is that these applications currently fail to build because boost has been upgraded to 1.67 and its python2 support has been dropped in TW recently.

The reason likely is that python2 is slowly being faded out in openSUSE, because upstream support will end soon as well.

The packages would need to be ported to python3 I suppose, I somehow don’t think python2 support will be reintroduced despite the failures its removal causes.

Feel free to file bug reports at bugzilla.opensuse.org (same username/password as here), but the maintainers should notice the build failures themselves (and even get notified automatically about them).

Thanks Wolfi. I submitted, so here’s hoping it’s helpful, not just make-work for somebody who already knows about the bug and now has to acknowledge a report. -GEF

As I wrote in the bug report, a fix for FreeCAD has actually been submitted already and should be in the next Tumbleweed snapshot.

I submitted a fix for blender myself now, it actually failed to build because of gcc 8 and not the boost update:

openCASCADE is not included in the distribution AFAICS, so you’d need to contact the person that builds the package.
(or at least specify which repo you are using for that)

Thanks for your hard work! openSUSE’s been good to me over the years, and I wish I had more relevant skills to help other users in return.

I only looked into openCASCADE when FreeCAD failed to install, and I must have had Packman enabled by that point as I searched for a solution or alternative.

Hm, I don’t find it on Packman either.

Btw, instead of installing FreeCAD from 15.0 (which actually just installs the missing dependencies from 15.0 I think), you could also install it from the science repo for now that is available for Tumbleweed as well (it is a devel project for Tumbleweed).
But as mentioned, it should be fixed in the standard repos in the next snapshot.

blender will probably take a bit longer (it still needs to be accepted by its maintainers, and then go through the Factory/Tumbleweed review and staging process), so feel free to install it from my branch repo for now:
https://download.opensuse.org/repositories/home:/wolfi323:/branches:/graphics/openSUSE_Tumbleweed

Note that this will disappear as soon as my submit request is accepted, it will be available in the “graphics” repo then.

Although, if you got them to work by using the Leap 15.0 repo, I suppose that should be fine for now too.

Thanks Wolfi, but still no joy. I removed FreeCAD with cleanup checked to hopefully get rid of any kruft that came along with it from the Leap 15 repo, then tried to intall throught Tumbleweed standard repo. Also tried science repo and your community repo. All give the same missing dependency for libpyside2.cpython-m36. And as for Blender, it still want libboost version 1.66. So I tried the trick of installing FreeCAD from Leap again, but after recent update, YaST wants to downgrade 376 packages in order to make Leap’s FreeCAD work, so I’ll wait. And Blender I can still install from their website, but I prefer to have it managed by zypper. And as for my bug report, the reply as you predicted was “we already know” - even though I tried to make sure I wasn’t duplicating, so I’ll refrain from crying wolf again (no pun intended). -GEF

Just did an Internet search for " libpyside2.cpython-m36" and returned zero results. I’m guessing you really mean " libpyside2.cpython-36m" which does exist.

Regarding the above error and what Wolfi said above about Python2 version deprecated, I looked at the “blender-changes” file in the OBS for any hints as to whether blender indeed was compiled using Python2 or Python3, and found the following

Mon Jun 20 09:43:00 UTC 2016

  • davejplater@gmail.com- Ensure that package is uninstallable in systems with a lower
    python3 version than blender was built against.

That suggests to me that blender from the OSS <should> work with the python3-libpyside2.cpython package which exists in the TW OSS.

As for your libboost library, I think one of the two following likely addresses your need…
1.67
https://software.opensuse.org/package/libboost_regex1_67_0
1.66
https://software.opensuse.org/package/libboost_regex1_66_0

If something doesn’t yet work in openSUSE 15 but does in another version of openSUSE (or even some other OS), you can run in a virtual machine for now. I’d guess that there is likely even a dockerhub app that’ll run on openSUSE 15.

TSU

Hi TSU, thanks for weighing in. Yes, you’re correct about 36m, but I still can’t find a file that provides it. You say it’s in OSS? In that case, installing FreeCAD from OSS should find it just fine, but it doesn’t.

libboost 1.67 is installed, and libboost 1.66 isn’t in the standard repo. If I have to go outside it in order to make Blender work, then I might as well just get the binary off their website, right?

Blender is in fact built with/for python3.

But it fails to build currently because of the switch to GCC8 as I wrote.
Therefore the package in TW still requires boost 1.66 that’s not in the repos anymore.

A fix is on the way:

If something doesn’t yet work in openSUSE 15 but does in another version of openSUSE (or even some other OS), you can run in a virtual machine for now. I’d guess that there is likely even a dockerhub app that’ll run on openSUSE 15.

This thread (and problem) is about Tumbleweed, not Leap 15.

FreeCAD should “work” again meanwhile, the updated package (built without python2) is in the standard TW repo already.

What dependency error exactly?
And what repos are you using?

zypper lr -d

As I wrote, the updated package is in the standard TW repo meanwhile, and the dependencies should be fine.

Maybe you still have some stuff installed from Leap 15.0 though, python3-pyside in particular…

Remove the Leap 15 repo in case you haven’t already, and run “zypper dup”.

And as for Blender, it still want libboost version 1.66.

As mentioned, the blender update is not in the TW repo yet, but the one in the graphics repo (for openSUSE_Tumbleweed) should definitely require libboost 1.67 meanwhile.
Maybe it wasn’t rebuilt (or published) yet when you tried, or you tried to version for Leap 15.0.

And as for my bug report, the reply as you predicted was “we already know” - even though I tried to make sure I wasn’t duplicating, so I’ll refrain from crying wolf again (no pun intended). -GEF

No, the reply you got was that you should file one bug report per application.

I then added that FreeCAD was already fixed, and that a fix for blender is on the way.

Hi again Wolfi, thanks again for keeping Tumbleweed tumbling.

So I rolled back to a snapshot where FreeCAD was still installed, ran upate all packages if newer, and here’s what I get:

deleted providers: python3-pyside2-2.0~pre.1519723362.e621f811-2.4.x86_64

Conflict Resolution:

-deinstalling of FreeCAD

-do not install python3-pyside2-2.0~pre.1526654735.3f8c8702-1.1.x86_64

-break FreeCAD by ignoring dependency.

This is a repeat of what I did this afternoon, except at that point I chose deinstallation of FreeCAD because I didn’t read carefully enough.

Guess I misunderstood about blender; I can be patient, and I certainly didn’t mean to seem insulting or ungrateful. -GEF

My repos are Main OSS, Main Update, Google Chrome, and Packman. When I installed FreeCAD from Leap, I un-checked “remain subscribed” on the 1-click install screen. I also have Ardour and MuseScore installed from the experimental Multimedia repos, Makehuman from the experimental graphics repo, libdvdcss from its repo, and snapper from its repo, with snaps for photogrammetry-related apps CloudCompare, COLMAP, and Meshlab. However, I did not remain subscribed to these repos, either.

GEF

FYI, the only supported method to update Tumbleweed is “zypper dup”.

There may also be package downgrades in TW, which will not be picked up by “update if newer”…

and here’s what I get:

deleted providers: python3-pyside2-2.0~pre.1519723362.e621f811-2.4.x86_64

Conflict Resolution:

-deinstalling of FreeCAD

-do not install python3-pyside2-2.0~pre.1526654735.3f8c8702-1.1.x86_64

-break FreeCAD by ignoring dependency.

Oh, indeed.
The python3-pyside2 package currently in Tumbleweed has unsatisfiable dependencies as well.
It would need to be rebuilt it seems. (a bit strange though as it only has been updated two days ago which of course caused it to be rebuilt as well… :-/ )

That’s not a problem of FreeCAD itself though, the python3-pyside2 package is broken.

Choosing “Ignore…” might work.

Hm, the “missing” dependencies (libpyside2.cpython-36m, libshiboken2.cpython-36m) are actually contained in python3-pyside2 itself.
Might be a temporary hickup because python-pyside2 (which contained both a python2 and a python3 version) has been replaced by python3-pyside2, but the former is still in TW as well (i.e. there are actually two different python3-pyside2 packages in Tumbleweed currently).

What do you get if you run “zypper in -f python3-pyside2-2.0~pre.1526654735.3f8c8702-1.1”?

I had another (closer) look at FreeCAD’s dependencies, and it apparently is still built against the older python3-pyside2 package (coming from python-pyside2).
So try to not update python3-pyside2 (to 2.0~pre.1526654735.3f8c8702-1.1) instead.

“zypper dup” should actually figure that out by itself, but YaST’s “install if newer” will of course explicitly try to force update python3-pyside2 as well causing a conflict.

Wow wolfi,
That’s a lot of investigating and unsnarling you’ve been doing!

TSU

Forcing installation of ‘python3-pyside2-2.0~pre.1526654735.3f8c8702-1.1.x86_64’ from repository ‘Main (Official) Opensource’.
Resolving package dependencies…

Problem: FreeCAD-0.17-3.1.x86_64 requires libpyside2.cpython-36m-x86_64-linux-gnu.so.2.0()(64bit), but this requirement cannot be provided
deleted providers: python3-pyside2-2.0~pre.1519723362.e621f811-2.4.x86_64
Solution 1: deinstallation of FreeCAD-0.17-3.1.x86_64
Solution 2: do not install python3-pyside2-2.0~pre.1526654735.3f8c8702-1.1.x86_64
Solution 3: break FreeCAD-0.17-3.1.x86_64 by ignoring some of its dependencies

**