ANNOUNCEMENT: Pure python branch

If your topic doesn't fit anywhere else, put it here.

Moderator: joepal

ANNOUNCEMENT: Pure python branch

Postby joepal » Sat Jul 07, 2012 10:27 am

As is probably known by the keen reader of these forums, there have often been dependency and build problems with makehuman. Currently we're shipping four different packages for linux, one for windows and one for osx. This has been necessary since MH contains compiled C parts which are platform-specific. Unfortunately those parts also contain hard dependencies on specific python versions, which means you would need to have exactly python 2.6 to run the program. Which caused no end of trouble, since the latest linux distributions only ship with 2.7.

To solve this, Glynn Clements has made an effort to remove all compiled parts from MH. With this, we can ship one package which is suitable for all platforms, independently on architecture and minor python version. The performance is still the same, since the C parts have moved to NumPy.

For now, this code branch is experimental. However, it is likely that this is going to become the main branch of MH once we've stomped out the outstanding bugs with the transition from C to NumPy.

To get this properly tested, it would be very welcome if people tried the pure python version of MH.

A linux tarball is available at: http://download.tuxfamily.org/makehuman ... 120707.tgz
The SVN branch is available at: https://makehuman.googlecode.com/svn/br ... nnsbranch/

In the linux tarball is a script called INSTALL_DEB_DEPENDENCIES.bash for running apt-get to install the required python packages etc. On RPM-based platforms, do the same with yum or similar to get the packages. (if you do, please post a list of package names here so we can wrap it into a script).

A windows package is in the works, but will take a bit longer. The main problem here is that we want to bundle the dependencies. However, if you can download and install the dependencies on your own, the SVN version should run on windows too.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4627
Joined: Wed Jun 04, 2008 11:20 am

Re: ANNOUNCEMENT: Pure python branch

Postby Johnny » Sun Jul 08, 2012 12:22 pm

Additional install on Mageia 2, 64 bit, which is RPM-based:

Install the package python-opengl
Make a symbolic link, called /usr/lib64/libpng.so, pointing to /usr/lib64/libpng15.so.15.10.0
Make a symbolic link, called /usr/lib64/libSDL.so, pointing to /usr/lib64/libSDL-1.2.so.0.11.3

Best regards
Johnny :)
Johnny
 
Posts: 14
Joined: Sun Jul 08, 2012 12:05 pm

Re: ANNOUNCEMENT: Pure python branch

Postby Johnny » Sun Jul 08, 2012 12:28 pm

Mageia 2, 64 bit, bug.

Code: Select all
# ./makehuman
Traceback (most recent call last):
  File "./lib/core.py", line 58, in callResize
    G.resizeCallback(w, h, fullscreen)
  File "./core/gui3d.py", line 1322, in onResizedCallback
    self.callEvent('onResized', event)
  File "./core/events3d.py", line 167, in callEvent
    getattr(self, eventType)(event)
  File "./main.py", line 852, in onResized
    self.tabs.box.mesh.resize(event.width, 32)
AttributeError: 'MHApplication' object has no attribute 'tabs'
Version 1.0.0
Unable to open data/targets/macrodetails/universal-male-young.target
Unable to open data/targets/macrodetails/universal-female-young.target


The MakeHuman window opens, but there is nothing in it.

When i close it, I get this:

Code: Select all
Exit from event loop

Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x392eb50>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bdc890>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bd3d50>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x2461fd0>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x3930d10>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bcfdd0>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x245c850>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bdc710>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bcfd10>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bdc210>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x2460c90>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x2450b50>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x2461e90>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x24506d0>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x2461f10>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x392d250>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bdd0d0>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x392d310>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bd3650>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x2bfadd0>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bc7c90>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x3930cd0>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x392c090>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x1bd3050>> ignored


Best regards
Johnny :)
Johnny
 
Posts: 14
Joined: Sun Jul 08, 2012 12:05 pm

Re: ANNOUNCEMENT: Pure python branch

Postby glynnc » Mon Jul 09, 2012 7:24 am

AttributeError: 'MHApplication' object has no attribute 'tabs'
Version 1.0.0
Unable to open data/targets/macrodetails/universal-male-young.target
Unable to open data/targets/macrodetails/universal-female-young.target

Known issue; harmless. The first one is called by callbacks being registered for an object before the construction of the object is complete.
Exception TypeError: "'NoneType' object is not callable" in <bound method Texture.__del__ of <module3d.Texture object at 0x392eb50>> ignored

Again, known issue. I believe that this is due to glDeleteTextures() being called after the GL context has been destroyed.
The MakeHuman window opens, but there is nothing in it.

That shouldn't happen, but I have no idea what's going on; none of the reported error messages have any bearing on this (i.e. they all happen on my system, where it works fine).
To get another data point, can you try setting:
Code: Select all
G.use_glut=True

in lib/core.py?
glynnc
 
Posts: 6
Joined: Wed Jun 06, 2012 3:49 am

Re: ANNOUNCEMENT: Pure python branch

Postby Johnny » Tue Jul 10, 2012 3:17 pm

Setting
Code: Select all
G.use_glut=True

in lib/core.py seems to have solved the problem with an empty MakeHuman window.

It now seems to work ok (I have not really used it, just pulled a few sliders to see that it reacts to user input).

However, now when MakeHuman starts, the terminal shows this:
Code: Select all
# ./makehuman
Version 1.0.0
Traceback (most recent call last):
  File "./lib/core.py", line 60, in callResize
    G.resizeCallback(w, h, fullscreen)
  File "./core/gui3d.py", line 1322, in onResizedCallback
    self.callEvent('onResized', event)
  File "./core/events3d.py", line 167, in callEvent
    getattr(self, eventType)(event)
  File "./main.py", line 853, in onResized
    self.statusbar.mesh.resize(event.width, 32)
AttributeError: 'MHApplication' object has no attribute 'statusbar'
Unable to open data/targets/macrodetails/universal-male-young.target
Unable to open data/targets/macrodetails/universal-female-young.target

Best regards
Johnny :)
Johnny
 
Posts: 14
Joined: Sun Jul 08, 2012 12:05 pm


Return to General discussions about makehuman

Who is online

Users browsing this forum: Madesomehumans and 1 guest