Bill Janssen <jans...@parc.com> wrote: > I'm trying to wrap neo4j (http://neo4j.org/) with JCC (2.1, the latest > checkout from > Subversion). > > I can't; it fails on org.neo4j.impl.core.RelationshipType > (http://api.neo4j.org/current/org/neo4j/api/core/RelationshipType.html):
This looks like a JCC bug to me. There are two interfaces in that package, "Relationship", and "RelationshipType". I think it's auto-generating a Python type called "RelationshipType" as part of the definition of "Relationship", and that conflicts with the header file for the Java interface "RelationshipType". Bill > > % python -m jcc --shared --include jta-spec1_0_1.jar --include > shell-1.0-b7.jar --jar neo-1.0-b7.jar --python neo4j --version 1.0b7 --build > running build_ext > building 'neo4j._neo4j' extension > gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DMACOSX > -I/usr/include/ffi -DENABLE_DTRACE -arch i386 -arch ppc -pipe -DPYTHON=1 > -D_jcc_shared=1 > -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers > -Ibuild/_neo4j > -I/Library/UbiDocs/1.0/UpLib/lib/python2.5/site-packages/JCC-2.0-py2.5-macosx-10.5-i386.egg/jcc/sources > -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 > -c build/_neo4j/__init__.cpp -o > build/temp.macosx-10.5-i386-2.5/build/_neo4j/__init__.o -fno-strict-aliasing > cc1plus: warning: command line option "-Wstrict-prototypes" is valid for > C/ObjC but not for C++ > cc1plus: warning: command line option "-Wstrict-prototypes" is valid for > C/ObjC but not for C++ > build/_neo4j/org/neo4j/api/core/RelationshipType.h:58: error: > RelationshipType does not name a type > build/_neo4j/org/neo4j/api/core/RelationshipType.h:59: error: expected , or > ... before & token > build/_neo4j/org/neo4j/api/core/RelationshipType.h:59: error: ISO C++ forbids > declaration of RelationshipType with no type > build/_neo4j/org/neo4j/api/core/RelationshipType.h:58: error: > RelationshipType does not name a type > build/_neo4j/org/neo4j/api/core/RelationshipType.h:59: error: expected , or > ... before & token > build/_neo4j/org/neo4j/api/core/RelationshipType.h:59: error: ISO C++ forbids > declaration of RelationshipType with no type > build/_neo4j/org/neo4j/impl/core/NodeManager.h:70: error: expected > unqualified-id before & token > build/_neo4j/org/neo4j/impl/core/NodeManager.h:70: error: expected , or > ... before & token > build/_neo4j/org/neo4j/impl/core/NodeManager.h:70: error: ISO C++ forbids > declaration of parameter with no type > build/_neo4j/org/neo4j/impl/core/NodeManager.h:70: error: expected > unqualified-id before & token > build/_neo4j/org/neo4j/impl/core/NodeManager.h:70: error: expected , or > ... before & token > build/_neo4j/org/neo4j/impl/core/NodeManager.h:70: error: ISO C++ forbids > declaration of parameter with no type > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:65: error: > type/value mismatch at argument 1 in template parameter list for > template<class T> struct JArray > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:65: error: > expected a type, got org::neo4j::api::core::RelationshipType > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:66: error: > type/value mismatch at argument 1 in template parameter list for > template<class T> struct JArray > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:66: error: > expected a type, got org::neo4j::api::core::RelationshipType > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:67: error: > expected unqualified-id before & token > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:67: error: > expected , or ... before & token > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:67: error: > ISO C++ forbids declaration of parameter with no type > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:68: error: > type/value mismatch at argument 1 in template parameter list for > template<class T> struct JArray > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:68: error: > expected a type, got org::neo4j::api::core::RelationshipType > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:65: error: > type/value mismatch at argument 1 in template parameter list for > template<class T> struct JArray > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:65: error: > expected a type, got org::neo4j::api::core::RelationshipType > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:66: error: > type/value mismatch at argument 1 in template parameter list for > template<class T> struct JArray > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:66: error: > expected a type, got org::neo4j::api::core::RelationshipType > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:67: error: > expected unqualified-id before & token > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:67: error: > expected , or ... before & token > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:67: error: > ISO C++ forbids declaration of parameter with no type > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:68: error: > type/value mismatch at argument 1 in template parameter list for > template<class T> struct JArray > build/_neo4j/org/neo4j/impl/traversal/InternalTraverserFactory.h:68: error: > expected a type, got org::neo4j::api::core::RelationshipType > lipo: can't open input file: > /var/folders/93/93RYKtvHFiuPAVMTC7iHI+++0T2/-Tmp-//ccs6iEvj.out (No such file > or directory) > error: command 'gcc' failed with exit status 1 > % > > I don't understand what's going wrong here... > > Bill