On Wed, 25 Feb 2009, Bill Janssen wrote:

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".

Indeed, there is a clash between JCC's suffixing things it generates with 'Type' and that class name. JCC should use something more rare, such as '__Type', for example, or, better yet, allow a parameter to specify the suffix. At least, it should be less hardcoded than now.

While the fix is relatively easy to implement, it requires a lot of edits.
I should have something tomorrow.

Andi..


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

Reply via email to