Here's detailed description, maybe this PR should be referenced in the wiki: http://wiki.freebsd.org/gcc4
py-ode fails to build with gcc4x, with following errors:
ode_notrimesh.c:3776: error: invalid lvalue in assignment
ode_notrimesh.c:3784: error: invalid lvalue in assignment
ode_notrimesh.c:3776: error: lvalue required as left operand of assignment
ode_notrimesh.c:3784: error: lvalue required as left operand of assignment
All errors point to expressions like this:
((PyObject*)__pyx_v_m) = Py_None; /* __pyx_v_m is pointer to some struct /*
Actual cause of the problem is that erroneous code was generated by old version of pyrex (0.9.3) (while pyrex 0.9.4.1 gives correct code), so this error may be encountered in not-updated-for-a-long-time python modules. I've notified upstream developers via py-ode maillist, and made a patch (don't want to add pyrex dependancy) to change above mentioned code like that:
__pyx_v_m = (struct somestruct*)Py_None;
, which solves the problem and also matches pyrex 0.9.4.1 output.
How-To-Repeat: Build py-ode with gcc4x
freebsd-python@ wants to have py- PRs
I'll take it.
miwi 2007-02-10 13:17:47 UTC
FreeBSD ports repository
- Fix build with gcc 4.X
Submitted by: Dmitry Marakasov <email@example.com> (maintainer)
Revision Changes Path
1.2 +5 -0 ports/devel/py-ode/Makefile
firstname.lastname@example.org mailing list
To unsubscribe, send any mail to "email@example.com"