|
Felix Schwarz
2012-06-12, 10:08
Felix Schwarz
2012-06-12, 10:13
Andi Vajda
2012-06-13, 00:30
Felix Schwarz
2012-06-13, 08:03
Petrus Hyvönen
2012-06-17, 12:39
Andi Vajda
2012-06-17, 16:39
|
-
building JCC on Python 2.4Felix Schwarz 2012-06-12, 10:08
Hey,
I'm trying to build JCC on Python 2.4.3 (CentOS 5). However during the compilation I get this error: gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fPIC -D_java_generics -DJCC_VER="2.13" -I/usr/lib/jvm/java-openjdk/include -I/usr/lib/jvm/java-openjdk/include/linux -I_jcc -Ijcc/sources -I/usr/include/python2.4 -c jcc/sources/JArray.cpp -o build/temp.linux-x86_64-2.4/jcc/sources/JArray.o -DPYTHON -O0 jcc/sources/JArray.h:44: error: 'Py_ssize_t' does not name a type jcc/sources/JArray.h:75: error: expected ';' before '(' token jcc/sources/JArray.cpp:1213: error: expected `;' at end of input jcc/sources/JArray.cpp:1213: error: expected `}' at end of input jcc/sources/JArray.h: In constructor 'JArray<T>::JArray(_jobject*)': Well, I could work around that one with a patch (see attached) but afterwards compilation still fails: gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fPIC -D_java_generics -DJCC_VER="2.13" -I/usr/lib/jvm/java-openjdk/include -I/usr/lib/jvm/java-openjdk/include/linux -I_jcc -Ijcc/sources -I/usr/include/python2.4 -c jcc/sources/JArray.cpp -o build/temp.linux-x86_64-2.4/jcc/sources/JArray.o -DPYTHON -O0 _jcc/java/lang/Class.h:48: error: ISO C++ forbids declaration of 'JArray' with no type _jcc/java/lang/Class.h:48: error: expected ';' before '<' token _jcc/java/lang/Class.h:49: error: ISO C++ forbids declaration of 'JArray' with no type _jcc/java/lang/Class.h:49: error: expected ';' before '<' token I'm using GCC 4.1.2: gcc-4.1.2-52.el5_8.1 gcc-c++-4.1.2-52.el5_8.1 Any idea what I'm doing wrong? Do you need more info? fs
-
Re: building JCC on Python 2.4Felix Schwarz 2012-06-12, 10:13
I should add that I'm using OpenJDK 1.6: java-1.6.0-openjdk-1.6.0.0-1.25.1.10.6.el5_8 java-1.6.0-openjdk-devel-1.6.0.0-1.25.1.10.6.el5_8 fs
-
Re: building JCC on Python 2.4Andi Vajda 2012-06-13, 00:30
Hi Felix, On Tue, 12 Jun 2012, Felix Schwarz wrote: > I'm trying to build JCC on Python 2.4.3 (CentOS 5). However during the > compilation I get this error: > gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fPIC > -D_java_generics -DJCC_VER="2.13" -I/usr/lib/jvm/java-openjdk/include > -I/usr/lib/jvm/java-openjdk/include/linux -I_jcc -Ijcc/sources > -I/usr/include/python2.4 -c jcc/sources/JArray.cpp -o > build/temp.linux-x86_64-2.4/jcc/sources/JArray.o -DPYTHON -O0 > jcc/sources/JArray.h:44: error: 'Py_ssize_t' does not name a type > jcc/sources/JArray.h:75: error: expected ';' before '(' token > jcc/sources/JArray.cpp:1213: error: expected `;' at end of input > jcc/sources/JArray.cpp:1213: error: expected `}' at end of input > jcc/sources/JArray.h: In constructor 'JArray<T>::JArray(_jobject*)': > > Well, I could work around that one with a patch (see attached) but afterwards > compilation still fails: > gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fPIC > -D_java_generics -DJCC_VER="2.13" -I/usr/lib/jvm/java-openjdk/include > -I/usr/lib/jvm/java-openjdk/include/linux -I_jcc -Ijcc/sources > -I/usr/include/python2.4 -c jcc/sources/JArray.cpp -o > build/temp.linux-x86_64-2.4/jcc/sources/JArray.o -DPYTHON -O0 > _jcc/java/lang/Class.h:48: error: ISO C++ forbids declaration of 'JArray' with > no type > _jcc/java/lang/Class.h:48: error: expected ';' before '<' token > _jcc/java/lang/Class.h:49: error: ISO C++ forbids declaration of 'JArray' with > no type > _jcc/java/lang/Class.h:49: error: expected ';' before '<' token > > I'm using GCC 4.1.2: > gcc-4.1.2-52.el5_8.1 > gcc-c++-4.1.2-52.el5_8.1 > > Any idea what I'm doing wrong? Do you need more info? In your patch, instead of including "functions.h", add this to JArray.h after the #include "macros.h" line: #if PY_VERSION_HEX < 0x02050000 typedef int Py_ssize_t; #endif I don't have a Python 2.4 install readily available to test this so I hope this just works. Andi..
-
Re: building JCC on Python 2.4Felix Schwarz 2012-06-13, 08:03
Hi Andi,
Am 13.06.2012 02:30, schrieb Andi Vajda: > In your patch, instead of including "functions.h", add this to JArray.h after > the #include "macros.h" line: That worked, thank you. fs
-
Re: building JCC on Python 2.4Petrus Hyvönen 2012-06-17, 12:39
Dear Andi,
I am trying to clean up my wrap script and comes to some questions. Is there a way to see if a method or constructor is now wrapped due to that any of its inputs/outputs are not wrapped? (to make sure that I haven't missed any --package) If i "--package java.io" does that mean that all classes in that package such as "java.io.InputStream" is automatically packaged? BTW, it seems like the formatting of the docs has become a bit corrupted at: http://lucene.apache.org/pylucene/jcc/readme.html Many thanks /Petrus
-
Re: building JCC on Python 2.4Andi Vajda 2012-06-17, 16:39
Please, don't hijack a thread, start a new one when switching topics. Your questions below have nothing to do with building on Python 2.4.
On Jun 17, 2012, at 5:39, "Petrus Hyvönen" <[EMAIL PROTECTED]> wrote: > I am trying to clean up my wrap script and comes to some questions. > > Is there a way to see if a method or constructor is now wrapped due to that any of its inputs/outputs are not wrapped? (to make sure that I haven't missed any --package) Use dir() on the wrapper class to see what got wrapped. But to get a definite answer you need to look at the generated source code to know about all the overloads of a Java method that got wrapped. > If i "--package java.io" does that mean that all classes in that package such as "java.io.InputStream" is automatically packaged? No, only if it is used by any of the classes or jars you explicitely asked be wrapped. > BTW, it seems like the formatting of the docs has become a bit corrupted at: http://lucene.apache.org/pylucene/jcc/readme.html Yes, the software behind the site was switched and a bunch of work is needed to fix the content up. Volunteers are welcome to help out with this. If you'd like to contribute I can send you instructions. Andi.. > > Many thanks > /Petrus > > |