Brainfold On Python, game development and everything

15May/10Off

Help needed

While PyEigen 0.2 is mostly ready for release, I'm stuck on weird problems with GCC on both Windows (MinGW) and Linux. PyEigen compiles fine on Visual C++, but GCC gives different errors depending on the version. On GCC 4.4 I get these mysterious errors:

source/iterator/matrix2fiterator.cpp:39: error: insufficient contextual information to determine type
source/iterator/matrix2fiterator.cpp:40: error: insufficient contextual information to determine type
source/iterator/matrix2fiterator.cpp:41: error: too many initializers for ‘PyTypeObject’

On GCC 4.5, apparently every template function in PyEigen results in an undefined reference, even though the implementations are (or at least should be, as MSVC finds them) included in the object files. Frankly I don't have the faintest idea why this is happening. I even completely restructured the code to try if the (admittedly confusing) header relationships were to blame for the errors, but nothing changed.

If someone wants to help (pretty please) and try to figure out what's wrong, you can grab the code here: http://code.launchpad.net/~knarkles/pyeigen/trunk. You need the Python headers and Eigen 2 to compile; feel free to ask me for help on getting a build setup up an running.

Share this blog post:
  • Digg
  • Facebook
  • Twitter
Comments (3) Trackbacks (0)
  1. With GCC 4.5.0 / Linux / x86-64, I get this:

    http://pastie.org/970987

    It’s complaining about that:

    /usr/bin/ld: unrecognized option ‘–enable-auto-import’

  2. Oh, must be a MinGW-specific option then. But that shouldn’t be related to the error itself.

  3. Ok, I removed that option in setup.py, and the rest worked fine: I couldn’t reproduce your error on my platform :(


Leave a comment


Trackbacks are disabled.