Hello, I'm trying to compile pygame from hg repository with python3.4 (also this recompiled on Centos 6.5)
and I got the error: ISO C90 forbids mixed declarations and code following the environment and the steps i followed: [fabio@linbox ~]$ gcc --version gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) [fabio@linbox ~]$ /usr/local/bin/virtualenv --version 1.11.4 [fabio@linbox ~]$ which python3 /usr/local/bin/python3 [fabio@linbox ~]$ python3 -V Python 3.4.0 [fabio@linbox ~]$ virtualenv -p /usr/local/bin/python3.4 testenv Already using interpreter /usr/local/bin/python3.4 Using base prefix '/usr/local' New python executable in testenv/bin/python3.4 Also creating executable in testenv/bin/python Installing setuptools, pip...done. [fabio@linbox ~]$ . testenv/bin/activate (testenv)[fabio@linbox ~]$ (testenv)[fabio@linbox testenv]$ which pip3 ~/testenv/bin/pip3 (testenv)[fabio@linbox testenv]$ pip3 install hg+https://bitbucket.org/pygame/pygame Downloading/unpacking hg+https://bitbucket.org/pygame/pygame Cloning hg https://bitbucket.org/pygame/pygame to /tmp/pip-opihfjlz-build WARNING, No "Setup" File Exists, Running "config.py" Using UNIX configuration... Hunting dependencies... SDL : found 1.2.14 FONT : found IMAGE : found MIXER : found SMPEG : found 0.4.5 PNG : found JPEG : found SCRAP : found PORTMIDI: found PORTTIME: found AVFORMAT: found SWSCALE : found FREETYPE: found 2.3.11 [...] building 'pygame.scrap' extension gcc -pthread -Werror=declaration-after-statement -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -D_REENTRANT -DENABLE_NEWBUF=1 -I/usr/X11R6/include -I/usr/include/SDL -I/usr/local/include/python3.4m -c src/scrap.c -o build/temp.linux-x86_64-3.4/src/scrap.o In file included from src/scrap.c:60: src/scrap_x11.c: In function '_clipboard_filter': src/scrap_x11.c:164: error: ISO C90 forbids mixed declarations and code src/scrap_x11.c: In function '_get_data_as': src/scrap_x11.c:429: error: ISO C90 forbids mixed declarations and code src/scrap_x11.c: In function 'pygame_scrap_get_types': src/scrap_x11.c:842: warning: passing argument 2 of 'PyDict_Next' from incompatible pointer type /usr/local/include/python3.4m/dictobject.h:63: note: expected 'Py_ssize_t *' but argument is of type 'int *' error: command 'gcc' failed with exit status 1 So I modified scrap_x11.c and other files till i got pygame compiled and working, I'm posting the diff between pygame-fab (modified) and pygame-hg (original): (testenv)[fabio@linbox testenv]$ diff -r pygame-fab pygame-hg Binary files pygame-fab/.hg/dirstate and pygame-hg/.hg/dirstate differ Only in pygame-fab/lib: version.py Only in pygame-fab: __pycache__ Only in pygame-fab: Setup Only in pygame-fab: Setup.bak diff -r pygame-fab/src/scale_mmx64.c pygame-hg/src/scale_mmx64.c 205,206d204 < long long srcdiff64 = srcdiff; < long long dstdiff64 = dstdiff; 211a210,211 > long long srcdiff64 = srcdiff; > long long dstdiff64 = dstdiff; 312,313d311 < long long srcdiff64 = srcdiff; < long long dstdiff64 = dstdiff; 318a317,318 > long long srcdiff64 = srcdiff; > long long dstdiff64 = dstdiff; diff -r pygame-fab/src/scrap_x11.c pygame-hg/src/scrap_x11.c 159d158 < XEvent xevent = event->syswm.msg->event.xevent; 164a164 > XEvent xevent = event->syswm.msg->event.xevent; 427a428 > *length = 0; 434d434 < *length = 0; As you can see i just moved variables definition before functions calls, and now pygame compile and (for the things i've tried) works: (testenv)[fabio@linbox testenv]$ python3 -c 'import pygame; print(pygame.version.ver)' 1.9.2a0 I thought this could help someone else, my kindest regards, - Fabio