Menu

#75 Neither the stand-alone apps nor the 3DS Max menu do anything

New
nobody
None
Medium
Defect
2014-03-27
2013-12-09
Anonymous
No

Originally created by: ToniGo...@gmail.com

O.S.: Windows 2003 Server 32 bits (think of it as Windows XP SP3).
3DS Max 2012
Python: v 2.7.1
Python 2.7 and MS-VisualStudio 2010 apps and development environments perfectly working since long.
Default installation of BlurOffline_python27_2013-12-05_install_15445.exe
(every install options as default).

Everything seems to have installed ok. No errors. I was careful to copy the setup's log output. Everything seems ok.

After installing and rebooting the computer, nothing happens when I click any of the Python menu items; no errors, no output.
Nothing happens when I run the desktop icons for Treegrunt or Blur IDE either.

The installed folder structures also seems ok. They reassemble the structures in the installation guide.
To figure out what is happening I have focused in the stand-alone modules, so I have opened a Python console and tried to manually run the
app. Here is the result:

------------------------------------------------------------------------
D:\Program Files\Python_2_7\blurdev\resource>"D:\Program Files\Python_2_7\python.exe" "D:\Program Files\Python_2_7\blurdev\runtimes\treegrunt.py"
Traceback (most recent call last):
  File "D:\Program Files\Python_2_7\blurdev\runtimes\treegrunt.py", line 22, in <module>
    import blurdev
  File "D:\Program Files\Python_2_7\blurdev\__init__.py", line 23, in <module>
    import blur.Stone
  File "D:\Program Files\Python_2_7\lib\site-packages\blur\Stone\__init__.py", line 2, in <module>
    from .._Stone import *
ImportError: DLL load failed: The specified procedure could not be found.

-------------------------------------------------------------------------

So, it seems python isn't able to load the dlls of the Stone module.
Exactly the same output displays when I try to execute the IDE from the python console.

I'm attaching the Installation LOG and C:\blur\software.ini files.

Any clue of what may be happening?
Is there any way I can re-compile this module to see whether I get any clue during compiling time?

Thank you in advance.

2 Attachments

Discussion

  • Anonymous

    Anonymous - 2013-12-11

    Originally posted by: ToniGo...@gmail.com

    I haven't digged too much into this while waiting for your answer, but I have a hunch that all of this is due to some Python libraries mismatch.

    I had already installed a newer version of PyQt (PyQt GPL v4.10.3 for Python v2.7) and your software tried to install PyQt4 GPL v4.10.2-3 win32-msvc2008. I don't know whether, as result, I have now a mixture of these libraries; so far as I have tested, my other PyQt apps are still running ok.

    Maybe the problem is that the SIP wrappers you ship in your installer are not compatible with my Python/PyQt libraries. I'm very rookie in Python but quite skilled in reverse engineering so, if I could get a clue about where to start...

    I have also noticed that the "blurdev" folder was installed just below the main Python folder instead of below the "site-packages" one, so that I manually executed the installer of blurdev and now I have a blur-dev folder inside the site-packages one (besides the other in the Python root folder).

    I don't know what approximation I'll take because I don't want to mess up my already working Python/PyQt apps, so that changing my python configuration is an undesirable option for me.

    What do you think?
    Thank you.

     
  • Anonymous

    Anonymous - 2013-12-12

    Originally posted by: ToniGo...@gmail.com

    I have redone the installation:
    - Copied the folder C:\blur\installers\2013-12-05 for a later manual installation.
    - Uninstalled all blur packages and tested that everything was successful uninstalled.
    - Reboot the machine and manually executed the 2 installers:
      blur_python_msvc2008.exe
      blurdev.exe
    - Because I still have Qt/PyQt running in my machine, these modules should run fine now,I suppose.
    - Manually executed treegrunt.py and ide_editor.py (from a Python console) and the result is exactly the same. It's unable of loading the Stone module.

    Of course, the test is incomplete unless I uninstall my Qt/PyQt and replace it with yours but, as I said before, I'd prefer to let them as they are if possible.
    I'm attaching the Installation log and the python session lines.

    I should also comment you some small issues I have noticed while installing:

    1.- The Desktop icons which are installed could never work as they are because they don't enclose in quotation marks the paths of the python files, neither for treegrunt.py nor ide_editor.py (be aware that almost all windows installations have Python under the folder "Program Files"). Of course, I noticed that from the beginning and it has nothing to do with my issue (you can see that in my Python sessions log).

    2.- Even though the installer blur_python_msvc2008.exe proposes the right path of the user's Python installation, the same is not true for the installer blurdev.exe, which always propose you the folder C:\Python27\lib\site-packages\ Maybe it was my fault to write it wrong during the previous installation, but this time I was very cautious and the package was successfully installed in the right path.
    (I recall myself reading some advice about this last issue in the documentation, previous to the first installation, so I should have been more cautious the first time.)

    Regards.
    Antonio Godoy.

     
  • Anonymous

    Anonymous - 2013-12-13

    Originally posted by: ToniGo...@gmail.com

    I GOT IT

    After doing some R.E. I think I got it.

    The culprits seems to be very known through all the developer's forums.
    Here you have them:
      fromWCharArray()  and  toWCharArray()  Qt functions.

    Even though the official documentation of Qt 4.8 defines them as taking a wchar_t* as first argument,
    the official build of QTCORE4.dll exports them as taking an unsigned short* instead. Next, the Stone module tries to import them as taking a wchar_t pointer again, and fails.

    It seems to be a very known bug in QT and you can read many workarounds in developer's forums, like this one:
    "Nearly all of the projects created by visual studio will have the build option -Zc:wchar_t set, which will make wchar_t a built-in type instead of a short int type. For now, Qt build itself with option -Zc:wchar_t-,  which will not make wchar_t a built-in type, this will lead many projects fail to link to Qt dll if they call QString::fromWCharArray or QString::toWCharArray."

    I guess the Blur developers have compiled this modules (and Qt) with this option turned ON, making wchar_t a native type, unlike the Qt developers, who compile them the other way.
    Therefore, If I'm right (and perhaps not only for this reason), blur-dev seems tied to Blur's compiled Qt/PyQt. And if I'm right, if I replace the official Qt release in my computer by the Blur's one, every other application, which expect the Qt libraries as released by Qt developers, will cease running.

    Qt seems to be a "portable" libraries for which you have to make a different installation for every application which uses them.
    Sincerely, I'm trying to test your libraries since long (when the Blur3dsMax2009_x32_install_8275) , with no success at all. I haven't even been able to install them since then. Can you give me any advice or workaround?

    I hope to, at least, have been helpful in some way.
    Regards.
    Antonio Godoy

    QString Class Reference
    http://qt-project.org/doc/qt-4.8/qstring.html
    ---------------------------------------------
    QString QString::fromWCharArray ( const wchar_t * string, int size = -1 ) [static]
    int QString::toWCharArray ( wchar_t * array ) const

    QTCORE4.DLL exports them as:
    Actual exports of  QTCORE4.DLL (Official build 4.8.5.0):
    --------------------------------------------------------
    2332 (0x091C)  2331 (0x091B)   class QString QString::fromWCharArray(unsigned short const *,int)   0x0005F7D0  
    4747 (0x128B)  4746 (0x128A)   int QString::toWCharArray(unsigned short *)   0x0005F800

    Imports table of _Stone.pyd (for QTCORE4.DLL)
    --------------------------------------------
    2332 (0x091C)  class QString QString::fromWCharArray(wchar_t const *,int)
    4748 (0x128C)  int QString::toWCharArray(wchar_t *)

     
  • Anonymous

    Anonymous - 2013-12-16

    Originally posted by: ToniGo...@gmail.com

    I have installed your Qt libraries from C:\blur\installers\2013-12-05\qt_msvc2008.exe
    and the QTCORE4.DLL in there also exports these 2 functions as taking unsigned short pointers instead of wchar_t pointers, so they also should be incompatible with the Stone module shipped by blurdev.exe.

    Perhaps I'm totally wrong or perhaps you have unwittingly mixed two incompatible compilations in the same package (?).

    Regards.
    Antonio Godoy

     
  • Anonymous

    Anonymous - 2013-12-30

    Originally posted by: ToniGo...@gmail.com

    Re-taken the subject this very night, I see that my last comment was wrong:

    qt_msvc2008.exe has installed Qt inside C:\blur\common and I see that you have duplicated these two functions; one pair take wchar_t* as parameter and the other pair take an unsigned short*.
    Good trick, so... what I need to do is to ensure that your python libraries import these Qt modules and not the official ones. Let's try it out...

     
  • Anonymous

    Anonymous - 2014-01-24

    Originally posted by: newell...@gmail.com

    Yes.  I am the only one apparently who has compiled a qt that is compatible with max's compile options and the stock qt.

     
  • carlos anguiano

    carlos anguiano - 2014-03-27

    Seems like this issue is also causing this other problem...
    https://sourceforge.net/p/blur-dev/tickets/77/

     

Log in to post a comment.