Due hardcoded paths and checks in ${FILESDIR}/config.diff, /usr/lib/tk8.4/include is used in compilation process, but it should be the one registered in /usr/lib/tkConfig.sh under TK_SRC_DIR variable. Also /usr/lib/tk8.5/include/generic/tkInt.h is not included because include check is only for Tk 8.4. Reproducible: Always Steps to Reproduce: 1. Emerge tcl-8.5.* and tk-8.5.* 2. (optional) If python has support for Tcl/Tk, re-emerge python, so Tkinter is updated. 3. emerge pyopengl-2.0.0.44 Actual Results: The compilation process fails with: creating build/temp.linux-i686-2.5/src/Togl-1.5 i686-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -march=nocona -mtune=generic -O2 -fomit-frame-pointer -falign-functions=64 -pipe -fPIC -I/usr/include -I/usr/local/include -I/usr/X11R6/include -I/usr/lib/tk8.4/include -I/usr/include/python2.5/Numeric -Isrc/gle/src -I/usr/include/python2.5 -Isrc/Togl-1.5 -I/usr/lib/tk8.5/../../include -I/usr/include -I/usr/include -I/usr/local/include -I/usr/X11R6/include -I/usr/lib/tk8.4/include -I/usr/include/python2.5/Numeric -Isrc/gle/src -I/usr/include/python2.5 -c -I/usr/include -I/usr/local/include -I/usr/X11R6/include -I/usr/lib/tk8.4/include -I/usr/include/python2.5/Numeric -Isrc/gle/src -I/usr/include/python2.5 -Isrc/Togl-1.5 -I/usr/lib/tk8.5/../../include -I/usr/include -I/usr/include -I/usr/local/include -I/usr/X11R6/include -I/usr/lib/tk8.4/include -I/usr/include/python2.5/Numeric -Isrc/gle/src -I/usr/include/python2.5 -c src/Togl-1.5/togl.c -o build/temp.linux-i686-2.5/src/Togl-1.5/togl.o -march=nocona -mtune=generic -O2 -fomit-frame-pointer -falign-functions=64 -pipe src/Togl-1.5/togl.c:143:2: error: #error Sorry, you will have to edit togl.c to include the right tkInt.h file src/Togl-1.5/togl.c: In function 'Togl_Init': src/Togl-1.5/togl.c:711: warning: passing argument 3 of 'Tcl_CreateCommand' from incompatible pointer type src/Togl-1.5/togl.c: In function 'Togl_Configure': src/Togl-1.5/togl.c:942: warning: passing argument 5 of 'Tk_ConfigureWidget' from incompatible pointer type src/Togl-1.5/togl.c: In function 'Togl_Cmd': src/Togl-1.5/togl.c:1160: warning: passing argument 3 of 'Tcl_CreateCommand' from incompatible pointer type src/Togl-1.5/togl.c: In function 'SetupOverlay': src/Togl-1.5/togl.c:1242: error: 'TkWindow' undeclared (first use in this function) src/Togl-1.5/togl.c:1242: error: (Each undeclared identifier is reported only once src/Togl-1.5/togl.c:1242: error: for each function it appears in.) src/Togl-1.5/togl.c:1242: error: 'winPtr' undeclared (first use in this function) src/Togl-1.5/togl.c:1242: error: expected expression before ')' token src/Togl-1.5/togl.c: In function 'Togl_MakeWindowExist': src/Togl-1.5/togl.c:1363: error: 'TkWindow' undeclared (first use in this function) src/Togl-1.5/togl.c:1363: error: 'winPtr' undeclared (first use in this function) src/Togl-1.5/togl.c:1363: error: expected expression before ')' token src/Togl-1.5/togl.c:1364: error: 'winPtr2' undeclared (first use in this function) src/Togl-1.5/togl.c: In function 'ToglCmdDeletedProc': src/Togl-1.5/togl.c:1871: error: 'TkWindow' undeclared (first use in this function) src/Togl-1.5/togl.c:1871: error: 'winPtr' undeclared (first use in this function) src/Togl-1.5/togl.c:1871: error: expected expression before ')' token error: command 'i686-pc-linux-gnu-gcc' failed with exit status 1 Expected Results: pyopengl-2.0.0.44 should compile and install with no problem. I have created a new patch and ebuild which removes these hardcoded path and compilation bugs.
Created attachment 175284 [details] New ebuild which fixes the compilation bug due hardcoded Tk version/checks
Created attachment 175285 [details, diff] Revised config patch, which is used by pyopengl-2.0.0.44-r1.ebuild
It seems to be fixed in dev-python/pyopengl-3.0.0.