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

Reply via email to