emerge tdb * Messages for package sys-libs/tdb-1.1.5-r1: * ERROR: sys-libs/tdb-1.1.5-r1 failed: * emake shared-build failed * * Call stack: * ebuild.sh, line 61: Called src_compile * environment, line 3062: Called die * The specific snippet of code: * emake shared-build || die "emake shared-build failed"; The last messages: i686-pc-linux-gnu-gcc -fPIC -c ./pytdb.c -I./include -Iinclude -O2 -march=i686 -pipe -I./libreplace `/usr/bin/python-config --cflags` In file included from /usr/include/python3.1/Python.h:8, from ./pytdb.c:30: /usr/include/python3.1/pyconfig.h:1111:1: warning: "_POSIX_C_SOURCE" redefined In file included from /usr/include/stdio.h:28, from ./libreplace/replace.h:39, from ./pytdb.c:27: /usr/include/features.h:158:1: warning: this is the location of the previous definition In file included from /usr/include/python3.1/Python.h:8, from ./pytdb.c:30: /usr/include/python3.1/pyconfig.h:1133:1: warning: "_XOPEN_SOURCE" redefined In file included from /usr/include/stdio.h:28, from ./libreplace/replace.h:39, from ./pytdb.c:27: /usr/include/features.h:160:1: warning: this is the location of the previous definition ./pytdb.c: In function 'PyString_FromTDB_DATA': ./pytdb.c:66: warning: initialization makes pointer from integer without a cast ./pytdb.c: In function 'obj_get_hash_size': ./pytdb.c:362: warning: return makes pointer from integer without a cast ./pytdb.c: In function 'obj_get_map_size': ./pytdb.c:375: warning: return makes pointer from integer without a cast ./pytdb.c: In function 'obj_get_flags': ./pytdb.c:380: warning: return makes pointer from integer without a cast ./pytdb.c: In function 'obj_get_filename': ./pytdb.c:385: warning: return makes pointer from integer without a cast ./pytdb.c: In function 'tdb_object_repr': ./pytdb.c:399: warning: return makes pointer from integer without a cast ./pytdb.c: At top level: ./pytdb.c:475: error: 'Py_TPFLAGS_HAVE_ITER' undeclared here (not in a function) ./pytdb.c: In function 'inittdb': ./pytdb.c:495: warning: assignment makes pointer from integer without a cast ./pytdb.c:499: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:500: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:501: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:503: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:504: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:505: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:506: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:507: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:508: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:509: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' ./pytdb.c:510: warning: passing argument 3 of 'PyModule_AddObject' makes pointer from integer without a cast /usr/include/python3.1/modsupport.h:40: note: expected 'struct PyObject *' but argument is of type 'int' make: *** [pytdb.o] Error 1 Reproducible: Always Steps to Reproduce: Try to emerge tdb Actual Results: It fails Expected Results: Emerge is successfull Can not complete update of python because of this issue
Created attachment 213499 [details] emerge --info =sys-libs/tdb-1.1.5-r1
Created attachment 213500 [details] Build log
Created attachment 213501 [details] emerge --info
Does it compile on Python 2.x? In that case this thing needs to mask against Python 3.x. By the way, tdb 1.2 is out. Probably still won't support Py3 but still…
(In reply to comment #4) > Does it compile on Python 2.x? I suppose yes, as the library was installed before I have upgraded python. How can I check this? > Python 3.x. By the way, tdb 1.2 is out. Not in gentoo yet? I just have done "emerge --sync" and do not see it there. only 1.1.5-r1. > Probably still won't support Py3 but still… Any idea for workaround? I am not python guy. I just want my bittorrent client to work again :-)
(In reply to comment #5) > (In reply to comment #4) > > Does it compile on Python 2.x? > > I suppose yes, as the library was installed before I have upgraded python. > How can I check this? > > > Python 3.x. By the way, tdb 1.2 is out. > > Not in gentoo yet? I just have done "emerge --sync" and do not see it there. > only 1.1.5-r1. > > > Probably still won't support Py3 but still… > > Any idea for workaround? I am not python guy. I just want my bittorrent > client to work again :-) > Vitaly: Everything in my comment wasn't directed towards you :-) Patrick/the python herd will fix this when they have the time.
Ah. Stupid package uses python-config directly, so it will pick up the system python by default. I see no easy way to fix this, so for now I'll just say "don't do that then" and think of non-violent ways to make it work.
*** Bug 326169 has been marked as a duplicate of this bug. ***
still no solution ?
hmm .. eselect python set 1 emerge tdb .. thx
Created attachment 255961 [details] Ebuild which forces python version This updated ebuild passes PYTHON and PYTHON_CONFIG to tdb's configure script so that it used the values we tell it to instead of searching its list. I've tested this with both python 2.7 and python 3.1 set as my system python and it works for me, although I suspect that there's a better way of getting the path to the correct python-config script.
*** Bug 347858 has been marked as a duplicate of this bug. ***
*** Bug 348662 has been marked as a duplicate of this bug. ***
*** This bug has been marked as a duplicate of bug 316959 ***