On Jan 29, 2013, at 5:09, Thomas Feuerstack
<[email protected]> wrote:
> Hi Andi,
>
> thanks for your immediate response.
>
> Am 28.01.2013 18:13, schrieb Andi Vajda:
>
> (...)
>
>> What can you see at the line mentioned in the first compile error ?
>> build/_lucene/org/apache/lucene/analysis/tokenattributes/TypeAttribute.h:39:42
>
> static ::java::lang::String *DEFAULT_TYPE;
It could be that DEFAULT_TYPE is macro-defined somewhere in your compiler's
header files.
A way around that problem is to add --reserved DEFAULT_TYPE to the jcc
invocation command in the Makefile.
> inside a
>
> namespace org {
> namespace apache {
> namespace lucene {
> namespace analysis {
> namespace tokenattributes {
>
> class TypeAttribute : public ::org::apache::lucene::util::Attribute {
> public:
> enum {
> mid_setType_5fdc3f48,
> mid_type_14c7b5c5,
> max_mid
> };
>
> static ::java::lang::Class *class$;
> static jmethodID *mids$;
> static bool live$;
> static jclass initializeClass(bool);
>
> explicit TypeAttribute(jobject obj) :
> ::org::apache::lucene::util::Attribute(obj) {
> if (obj != NULL)
> env->getClass(initializeClass);
> }
> TypeAttribute(const TypeAttribute& obj) :
> ::org::apache::lucene::util::Attribute(obj) {}
>
> static ::java::lang::String *DEFAULT_TYPE;
>
> void setType(const ::java::lang::String &) const;
> ::java::lang::String type() const;
> };
> }
> }
> }
> }
> }
>
> (...)
>
>> Same question for
>> "jcc/sources/JObject.h", line 102: Error: "," expected instead of "Type".
>
> extern PyTypeObject PY_TYPE(JObject);
I can't make sense of that error.
I've had PyLucene built with that or an earlier version of that compiler in the
past, though. But try the other compiler and the --reserved workaround first.
Andi..
>
> inside a block
>
> #ifdef PYTHON
>
> #include <Python.h>
> #include "macros.h"
>
> class t_JObject {
> public:
> PyObject_HEAD
> JObject object;
> };
>
> extern PyTypeObject PY_TYPE(JObject);
>
> #endif /* PYTHON */
>
>> "jcc/sources/jcc.cpp", line 82: Error: "," expected instead of "Type".
>
> PyTypeObject PY_TYPE(JCCEnv) = {
>
> as the beginning of a structure(? - Sorry, i'm not so familiar with C++)
>
> PyTypeObject PY_TYPE(JCCEnv) = {
> PyObject_HEAD_INIT(NULL)
> 0, /* ob_size */
> "jcc.JCCEnv", /* tp_name */
> sizeof(t_jccenv), /* tp_basicsize */
> 0, /* tp_itemsize */
> (destructor)t_jccenv_dealloc, /* tp_dealloc */
> 0, /* tp_print */
> 0, /* tp_getattr */
> 0, /* tp_setattr */
> 0, /* tp_compare */
> 0, /* tp_repr */
> 0, /* tp_as_number */
> 0, /* tp_as_sequence */
> 0, /* tp_as_mapping */
> 0, /* tp_hash */
> 0, /* tp_call */
> 0, /* tp_str */
> 0, /* tp_getattro */
> 0, /* tp_setattro */
> 0, /* tp_as_buffer */
> Py_TPFLAGS_DEFAULT, /* tp_flags */
> "JCCEnv", /* tp_doc */
> 0, /* tp_traverse */
> 0, /* tp_clear */
> 0, /* tp_richcompare */
> 0, /* tp_weaklistoffset */
> 0, /* tp_iter */
> 0, /* tp_iternext */
> t_jccenv_methods, /* tp_methods */
> t_jccenv_members, /* tp_members */
> t_jccenv_properties, /* tp_getset */
> 0, /* tp_base */
> 0, /* tp_dict */
> 0, /* tp_descr_get */
> 0, /* tp_descr_set */
> 0, /* tp_dictoffset */
> 0, /* tp_init */
> 0, /* tp_alloc */
> 0, /* tp_new */
> };
>
> Hope, that this might help you.
>
> Thanks - Thomas