Page 1 of 1

Fedora Issues

PostPosted: Wed Dec 01, 2021 2:13 pm
by raskull
Hi,

Long story short... Finally got MakeHuman running, yet there are no options in the Body Shapes / Face sections (maybe others too)




Here are my notes for attempting a quick fix, but may also be the problem???

I'm using a fairly clean install of Fedora 35


Code: Select all
As root, install dependencies:
yum install python3-numpy python3-pyopengl python3-QtPy
freeglut


As your normal user:
cd makehuman/makehuman
python makehuman.py



Errors:

...
AttributeError: module 'collections' has no attribute 'Callable'

in log/log.py on line 249 change the line to:

   if hasattr(logging, "captureWarnings") and isinstance(logging.captureWarnings, collections.abc.Callable):




AttributeError: module 'collections' has no attribute 'MutableSet'

in log/language.py on line 116 change the line to:

   class OrderedSet(collections.abc.MutableSet):






    return QtCore.QSize(width, height)
TypeError: arguments did not match any overloaded call:
  QSize(): too many arguments
  QSize(int, int): argument 1 has unexpected type 'float'
  QSize(QSize): argument 1 has unexpected type 'float'
Aborted (core dumped)

in log/qtui.py on line 358 change the line to:

   return QtCore.QSize(int(width), int(height))




File "/home/ai/z_makehuman/makehuman-master/makehuman/./lib/qtgui.py", line 958, in setProgress
    self.setValue(min_ + progress * (max_ - min_))
TypeError: setValue(self, int): argument 1 has unexpected type 'float'

in log/qtgui.py on line 958 change the line to:

   self.setValue(int(min_ + progress * (max_ - min_)))



File "/home/ai/z_makehuman/makehuman-master/makehuman/./core/guicommon.py", line 145, in view
    if not self._view or not isinstance(self._view, collections.Callable):
AttributeError: module 'collections' has no attribute 'Callable'

in core/guicommon.py on line 145 change the line to:

   if not self._view or not isinstance(self._view, collections.abc.Callable):




I then downloaded the assets, just in case lol

Code: Select all
$ python download\_assets\_git.py
git: 'lfs' is not a git command. See 'git --help'.

The most similar command is
   log
Command '['/usr/bin/git', 'lfs', 'install']' returned non-zero exit status 1.



GIT LFS not detected. This routine requires LFS. See https://git-lfs.github.com/





yum install git-lfs



Many thanks for any help and all the work done to enable MakeHuman

Re: Fedora Issues

PostPosted: Thu Dec 02, 2021 7:16 pm
by Aranuvir
AFAIK your first errors are the result of using Python 3.10. MakeHuman's code isn't there yet. You'll have to either downgrade your Python installation or dive into the code to make it work with the latest P3.10...

The other problem should be rather self explanatory:
GIT LFS not detected. This routine requires LFS. See https://git-lfs.github.com/
Probably you should find LFS in the Fedora repos, too.

Re: Fedora Issues

PostPosted: Sun Dec 05, 2021 12:53 pm
by joepal
A stupid question maybe, but is the fedora "python" command python 3? It's not as on ubuntu that "python" is python 2.x and "python3" is python 3.x?

Re: Fedora Issues

PostPosted: Mon Dec 06, 2021 7:22 am
by raskull
joepal wrote:A stupid question maybe, but is the fedora "python" command python 3? It's not as on ubuntu that "python" is python 2.x and "python3" is python 3.x?


I've used python2 and python3, the current problem appears to be that python3 is python3.1x, I've not had time to have a go at it, yet...

However, just thinking, which was the last MakeHuman version that used 2.7?


Cheers

Re: Fedora Issues

PostPosted: Mon Dec 06, 2021 9:24 pm
by punkduck
Hi

Even though I am more doing Ubuntu and not Fedora and still an 18 with a 3.6 running etc ... but yes raskull is correct, the collections module changed.
We are using "old" stuff. It is mentioned that collections.abc is available since 3.3

https://docs.python.org/3/library/collections.abc.html

To get Callable we should use in lib/log.py

Code: Select all
from collections.abc import Callable
...
if hasattr(logging, "captureWarnings") and isinstance(logging.captureWarnings, Callable):


there are two additional places: apps/gui/guimodifier.py and core/guicommon.py ...

The question to our own folks: what is minimum python version for makehuman? Python 3.3 was released in 2012. In those times I was young and had no knowledge of python at all .. :mrgreen:

I really think we should change this in our code for the bugfix release "already", what do you think?

Raskull: If you get it running by changing these lines ... give us a hint. Don't downgrade, please ;)
They changed more but hopefully not the whole language ...

Greetings
Punkduck

Re: Fedora Issues

PostPosted: Thu Dec 09, 2021 7:50 am
by joepal
I think the windows build uses python 3.7. Ubuntu 20.04 LTS uses 3.8. I see no particular reason in supporting anything older than 3.7 (which is three and a half years old).