Bug 449360 - Review Request: python-jcc - C++ code generator for calling Java from C++/Python
Summary: Review Request: python-jcc - C++ code generator for calling Java from C++/Python
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 449456
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-06-02 12:19 UTC by Felix Schwarz
Modified: 2018-10-26 12:29 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-06-27 06:35:21 UTC
Type: ---


Attachments (Terms of Use)

Description Felix Schwarz 2008-06-02 12:19:14 UTC
Spec URL:
http://www.felix-schwarz.name/files/misc/2008/python-jcc/1.9-4/python-jcc.spec

SRPM URL: http://www.felix-schwarz.name/files/misc/2008/python-jcc/1.9-4/python-jcc-1.9-4.fc9.src.rpm

Description: 
JCC is a C++ code generator for producing the glue code necessary to call
into Java classes from CPython via Java's Native Invocation Interface (JNI).

JCC generates C++ wrapper classes that hide all the gory details of JNI
access as well Java memory and object reference management.

JCC generates CPython types that make these C++ classes accessible from a
Python interpreter. JCC attempts to make these Python types pythonic by
detecting iterators and property accessors. Iterators and mappings may also
be declared to JCC.


Special notes:
This package is not perfect yet but I need some input from other developers.

The main problem is that it uses rpath. This is because java-1.6.0-openjdk does add libjvm.so and libjava.so to the general linker config in /etc/ld.so.conf.d/.  What should we do in this case?

Comment 1 Felix Schwarz 2014-06-27 06:35:21 UTC
It doesn't make sense to keep this bug open when Fedora's OpenJDK package does not have the necessary capabilities. The bug is more than 6 years old so the spec file is of course completely out of date.

Comment 2 Jos Vos 2018-10-26 11:58:38 UTC
Is this still representing the actual status?

I just did a "pip install jcc" in a F29 beta Python3 virtualenv with java-1.8.0-openjdk-devel installed and that seems to work (I only did some simple tests).

I had to do a "export JCC_JDK=/usr/lib/jvm/java-1.8.0-openjdk", which might be a problem as it might tie the jcc to the specific libjava.so and libjvm.so, but I didn't dig into the details.

Comment 3 Felix Schwarz 2018-10-26 12:29:58 UTC
> Is this still representing the actual status?

I don't really know as I stopped using python-jcc years ago (now using plain ElasticSearch).

However I had a quick look into JCC-3.3: setup.py uses "rpath" and (on F28) neither libjvm nor libjava are available via /etc/ld.so.conf.d.

Please note that this is only a limitation for proper Fedora packaging (using "rpath" is forbidden) and for binary wheels (where you create the wheel e.g. on Fedora and want to use it in another Linux distro like Ubuntu).

If you compile the tar.gz directly on the target machine (or you carefully ensure that the machine has exactly the same versions available as the build host) everything will probably work fine.


Note You need to log in before you can comment on or make changes to this bug.