[review] [PyKDE] PyKDE-3.8.0 Make Error

Jim Bublitz jbublitz at nwinternet.com
Thu Feb 5 07:34:01 GMT 2004


On Wednesday February 4 2004 17:35, wouldn't you like to know 
wrote:
> While trying to execute the Make command on
> PyKDE-3.8.0 i get the error:
> "Error: symbol `decref' is already defined"
>
> i have no idea
>
> here is my specs:
> Slackware9.1
> qt-3.2.3 (i compiled, and installed it)
> sip-x11-gpl-3.8
> PyQt-x11-gpl-3.8.1
> python-2.3.1-i486-1 (Included in Slack)
> make-3.80-i386-1 (Included in Slack)
>
> Here is the output for "Make"
> --------------------------------------------------
> cd pythonize && "make" -f Makefile
> make[1]: Entering directory
> `/root/PyKDE-3.8.0/pythonize'
> make[1]: Nothing to be done for `first'.
> make[1]: Leaving directory
> `/root/PyKDE-3.8.0/pythonize'
> cd pythonize/test && "make" -f Makefile
> make[1]: Entering directory
> `/root/PyKDE-3.8.0/pythonize/test'
> g++ -c -pipe -w -O2   -fno-exceptions
> -I/usr/local/qt/mkspecs/default -I. -I.
> -I/usr/include/python2.2 -I/opt/kde3/include -I.. -o
> testPythonize.o testPythonize.cpp

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> testPythonize.cpp:20:20: Python.h: No such file or
> directory
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

The main error seems to be here - either your Python.h isn't in 
/usr/local/python2.2 or you don't have a Python.h. If I remember 
correctly, some versions of 3.8.0 have an error in  
pythonize/test/Makefile where that path is hardcoded, so the 
easiest fix would be to edit that Makefile and change 
/usr/include/python2.2 to the correct path to Python.h.
When you run build.py, it should indicate the path to Python.h 
near the very start of the run.

Another alternative is to edit the top level Makefile  
(/root/PyKDE-3.8.0/Makefile) and delete any lines that refer to 
pythonize/test or pythonize-test. It's a unit test program and 
won't affect anything in PyKDE.

The last alternative is to wait for the next PyKDE release (a few 
weeks away) - pythonize is being removed from PyKDE altogether.

Jim

> In file included from testPythonize.cpp:21:
> ../pythonize.h:27:20: Python.h: No such file or
> directory
> In file included from testPythonize.cpp:21:
> ../pythonize.h:32: type specifier omitted for
> parameter `PyObject'
> ../pythonize.h:32: syntax error before `*' token
> ../pythonize.h:35: syntax error before `*' token
> ../pythonize.h: In destructor
> `ObjectRef::~ObjectRef()':
> ../pythonize.h:33: `object' undeclared (first use this
> function)
> ../pythonize.h:33: (Each undeclared identifier is
> reported only once for each
>    function it appears in.)
> ../pythonize.h:33: `Py_XDECREF' undeclared (first use
> this function)
> ../pythonize.h: At global scope:
> ../pythonize.h:51: syntax error before `*' token
> ../pythonize.h:55: syntax error before `*' token
> ../pythonize.h:57: ISO C++ forbids defining types
> within return type
> ../pythonize.h:57: syntax error before `*' token
> ../pythonize.h:58: syntax error before `*' token
> ../pythonize.h: In function `void setMainModule()':
> ../pythonize.h:61: `mainModule' undeclared (first use
> this function)
> ../pythonize.h:61: `PyImport_ImportModule' undeclared
> (first use this function)
> ../pythonize.h: In function `bool getPythonInit()':
> ../pythonize.h:62: `pythonInit' undeclared (first use
> this function)
> ../pythonize.h: At global scope:
> ../pythonize.h:65: `PyObject' was not declared in this
> scope
> ../pythonize.h:65: variable or field `decref' declared
> void
> ../pythonize.h:65: syntax error before `{' token
> ../pythonize.h:74: syntax error before `*' token
> ../pythonize.h:79: syntax error before `*' token
> ../pythonize.h:80: syntax error before `*' token
> ../pythonize.h:84: syntax error before `*' token
> ../pythonize.h:85: syntax error before `*' token
> ../pythonize.h:88: syntax error before `}' token
> ../pythonize.h:100: syntax error before `*' token
> ../pythonize.h:104: syntax error before `*' token
> ../pythonize.h:106: syntax error before `*' token
> ../pythonize.h:107: syntax error before `*' token
> ../pythonize.h:110: new declaration `void*
> setMainModule()'
> ../pythonize.h:61: ambiguates old declaration `void
> setMainModule()'
> ../pythonize.h:62: previous declaration of `bool
> getPythonInit()' with C++
>    linkage
> ../pythonize.h:111: conflicts with new declaration
> with C linkage
> ../pythonize.h:114: `PyObject' was not declared in
> this scope
> ../pythonize.h:114: variable or field `decref'
> declared void
> ../pythonize.h:114: redefinition of `int decref'
> ../pythonize.h:65: `int decref' previously defined
> here
> ../pythonize.h:68: previous declaration of `bool
> runScript(char*)' with C++
>    linkage
> ../pythonize.h:117: conflicts with new declaration
> with C linkage
> ../pythonize.h:71: previous declaration of `bool
> runString(char*)' with C++
>    linkage
> ../pythonize.h:120: conflicts with new declaration
> with C linkage
> ../pythonize.h:123: syntax error before `*' token
> ../pythonize.h:77: previous declaration of `void
> releaseLock()' with C++
>    linkage
> ../pythonize.h:125: conflicts with new declaration
> with C linkage
> ../pythonize.h:78: previous declaration of `void
> acquireLock()' with C++
>    linkage
> ../pythonize.h:126: conflicts with new declaration
> with C linkage
> In file included from testPythonize.cpp:22:
> testPythonize.h:59: syntax error before `*' token
> testPythonize.h:60: syntax error before `*' token
> testPythonize.h:99: syntax error before `*' token
> testPythonize.h:100: syntax error before `*' token
> testPythonize.cpp: In constructor
> `TestPythonize::TestPythonize()':
> testPythonize.cpp:34: no matching function for call to
> `Pythonize::
>    getPythonInit()'
> testPythonize.cpp:39: no matching function for call to
> `Pythonize::
>    setMainModule()'
> testPythonize.cpp:40: no matching function for call to
> `Pythonize::getSysModule
>    ()'
> testPythonize.cpp:41: no matching function for call to
> `Pythonize::
>    getMainModule()'
> testPythonize.cpp: In member function `bool
>    TestPythonize::testAppendToSysPath()':
> testPythonize.cpp:52: `Py_GetPath' undeclared (first
> use this function)
> testPythonize.cpp:54: `PyObject' undeclared (first use
> this function)
> testPythonize.cpp:54: `pathList' undeclared (first use
> this function)
> testPythonize.cpp:54: no matching function for call to
> `Pythonize::getSysModule
>    ()'
> testPythonize.cpp:57: `PyList_GET_SIZE' undeclared
> (first use this function)
> testPythonize.cpp:60: `PyList_GetItem' undeclared
> (first use this function)
> testPythonize.cpp:60: `PyString_AsString' undeclared
> (first use this function)
> testPythonize.cpp: In member function `bool
> TestPythonize::testImportModule()':
> testPythonize.cpp:70: `impModule' undeclared (first
> use this function)
> testPythonize.cpp:70: no matching function for call to
> `Pythonize::importModule
>    (const char[11])'
> testPythonize.cpp: In member function `bool
>    TestPythonize::testGetNewObjectRef()':
> testPythonize.cpp:78: `pyAdd' undeclared (first use
> this function)
> testPythonize.cpp: In member function `bool
> TestPythonize::testRunScript()':
> testPythonize.cpp:88: no matching function for call to
> `Pythonize::runScript(
>    const char[9])'
> testPythonize.cpp: In member function `bool
> TestPythonize::testRunString()':
> testPythonize.cpp:95: no matching function for call to
> `Pythonize::runString(
>    const char[7])'
> testPythonize.cpp:96: `pyX' undeclared (first use this
> function)
> testPythonize.cpp:96: no matching function for call to
> `Pythonize::
>    getMainModule()'
> testPythonize.cpp:97: `PyInt_AsLong' undeclared (first
> use this function)
> testPythonize.cpp: In member function `bool
> TestPythonize::testRunFunction()':
> testPythonize.cpp:106: `addArgs' undeclared (first use
> this function)
> testPythonize.cpp:106: `Py_BuildValue' undeclared
> (first use this function)
> testPythonize.cpp:107: `o' undeclared (first use this
> function)
> testPythonize.cpp:109: `PyInt_Check' undeclared (first
> use this function)
> testPythonize.cpp:113: `PyInt_AS_LONG' undeclared
> (first use this function)
> testPythonize.cpp:117: `decref' cannot be used as a
> function
> testPythonize.cpp:118: `decref' cannot be used as a
> function
> testPythonize.cpp: In constructor
> `TestPythonizeC::TestPythonizeC()':
> testPythonize.cpp:170: `getSysModule' undeclared
> (first use this function)
> testPythonize.cpp:171: `getMainModule' undeclared
> (first use this function)
> testPythonize.cpp: In member function `bool
>    TestPythonizeC::testAppendToSysPath()':
> testPythonize.cpp:184: `getNewObjectRef' undeclared
> (first use this function)
> testPythonize.cpp:193: `decref' cannot be used as a
> function
> testPythonize.cpp: In member function `bool
>    TestPythonizeC::testImportModule()':
> testPythonize.cpp:200: `importModule' undeclared
> (first use this function)
> testPythonize.cpp: In member function `bool
>    TestPythonizeC::testGetNewObjectRef()':
> testPythonize.cpp:211: `decref' cannot be used as a
> function
> testPythonize.cpp: In member function `bool
> TestPythonizeC::testRunString()':
> testPythonize.cpp:229: `decref' cannot be used as a
> function
> testPythonize.cpp: In member function `bool
> TestPythonizeC::testRunFunction()':
> testPythonize.cpp:237: `runFunction' undeclared (first
> use this function)
> testPythonize.cpp:246: `decref' cannot be used as a
> function
> testPythonize.cpp:247: `decref' cannot be used as a
> function
> {standard input}: Assembler messages:
> {standard input}:19: Error: symbol `decref' is already
> defined
> make[1]: *** [testPythonize.o] Error 1
> make[1]: Leaving directory
> `/root/PyKDE-3.8.0/pythonize/test'
> make: *** [sub-pythonize-test] Error 2
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free web site building tool. Try it!
> http://webhosting.yahoo.com/ps/sb/
>
> _______________________________________________
> PyKDE mailing list    PyKDE at mats.imk.fraunhofer.de
> http://mats.imk.fraunhofer.de/mailman/listinfo/pykde




More information about the PyQt mailing list