You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pylucene-dev@lucene.apache.org by RKBelew <ri...@cogsci.ucsd.edu> on 2012/09/19 21:15:02 UTC

unable to build v.3.6.1-2 on ubuntu 12.04; ICU issue?

after realizing what an old version of pylucene (2.3.1 !) is
available as a .deb, i am trying to build my own.  the make goes
well thru building the spellchecker:

 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/core/lucene-core-3.6.1.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/analyzers/common/lucene-analyzers-3.6.1.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/queryparser/lucene-queryparser-3.6.1.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/memory/lucene-memory-3.6.1.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/queries/lucene-queries-3.6.1.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/highlighter/lucene-highlighter-3.6.1.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/build/jar/extensions.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/grouping/lucene-grouping-3.6.1.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/join/lucene-join-3.6.1.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/facet/lucene-facet-3.6.1.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/facet/lucene-facet-3.6.1-examples.jar
 >       [jar] Building jar: 
/Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/spellchecker/lucene-spellchecker-3.6.1.jar
 >
 >     BUILD SUCCESSFUL
 >     Total time: 4 seconds

but then i get the ICU echo: and then it dies:

 >     ICU not installed
 >     /usr/bin/python -m jcc
 >       --shared
 >       --jar lucene-java-3.6.1/lucene/build/core/lucene-core-3.6.1.jar
 >       --jar 
lucene-java-3.6.1/lucene/build/contrib/analyzers/common/lucene-analyzers-3.6.1.jar
 >       --jar 
lucene-java-3.6.1/lucene/build/contrib/memory/lucene-memory-3.6.1.jar
 >       --jar 
lucene-java-3.6.1/lucene/build/contrib/highlighter/lucene-highlighter-3.6.1.jar
 >       --jar build/jar/extensions.jar
 >       --jar 
lucene-java-3.6.1/lucene/build/contrib/queries/lucene-queries-3.6.1.jar
 >       --jar 
lucene-java-3.6.1/lucene/build/contrib/grouping/lucene-grouping-3.6.1.jar
 >       --jar 
lucene-java-3.6.1/lucene/build/contrib/join/lucene-join-3.6.1.jar
 >       --jar 
lucene-java-3.6.1/lucene/build/contrib/facet/lucene-facet-3.6.1.jar
 >       --jar 
lucene-java-3.6.1/lucene/build/contrib/spellchecker/lucene-spellchecker-3.6.1.jar
 >       --package java.lang java.lang.System java.lang.Runtime 
java.lang.IllegalStateException java.lang.IndexOutOfBoundsException
 >       --package java.util java.util.Arrays java.util.HashMap 
java.util.HashSet java.util.NoSuchElementException 
java.text.SimpleDateFormat java.text.DecimalFormat java.text.Collator
 >       --package java.util.regex
 >       --package java.io java.io.StringReader 
java.io.InputStreamReader java.io.FileInputStream
 >       --exclude org.apache.lucene.queryParser.Token
 >       --exclude org.apache.lucene.queryParser.TokenMgrError
 >       --exclude org.apache.lucene.queryParser.QueryParserTokenManager
 >       --exclude org.apache.lucene.queryParser.ParseException
 >       --exclude org.apache.lucene.queryParser.CharStream
 >       --exclude org.apache.lucene.search.regex.JakartaRegexpCapabilities
 >       --exclude org.apache.regexp.RegexpTunnel
 >       --exclude org.apache.lucene.analysis.cn.smart.AnalyzerProfile
 >       --python lucene
 >       --mapping org.apache.lucene.document.Document 
'get:(Ljava/lang/String;)Ljava/lang/String;'
 >       --mapping java.util.Properties 
'getProperty:(Ljava/lang/String;)Ljava/lang/String;'
 >       --sequence java.util.AbstractList 'size:()I' 
'get:(I)Ljava/lang/Object;'
 >       --rename 
org.apache.lucene.search.highlight.SpanScorer=HighlighterSpanScorer
 >       --rename 
org.apache.lucene.search.highlight.Scorer=HighlighterScorer
 >       --rename org.apache.lucene.search.spell.Dictionary=SpellDictionary
 >       --rename org.apache.lucene.search.suggest.fst.Sort=SuggestSort
 >       --rename org.apache.lucene.store.DataInput=StoreDataInput
 >       --rename org.apache.lucene.store.DataOutput=StoreDataOutput
 >       --rename org.tartarus.snowball.ext.DutchStemmer=DutchPorterStemmer
 >       --rename 
org.tartarus.snowball.ext.FrenchStemmer=FrenchPorterStemmer
 >       --rename 
org.tartarus.snowball.ext.GermanStemmer=GermanPorterStemmer
 >       --rename 
org.tartarus.snowball.ext.PortugueseStemmer=PortuguesePorterStemmer
 >       --version 3.6.1
 >       --module python/collections.py
 >       --module python/ICUNormalizer2Filter.py
 >       --module python/ICUFoldingFilter.py
 >       --module python/ICUTransformFilter.py
 >       --files 4
 >       --build
 >     While loading 
org/apache/pylucene/queryParser/PythonMultiFieldQueryParser
 >     Traceback (most recent call last):
 >       File "/usr/lib/python2.7/runpy.py", line 162, in 
_run_module_as_main
 >         "__main__", fname, loader, pkg_name)
 >       File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
 >         exec code in run_globals
 >       File 
"/usr/local/lib/python2.7/dist-packages/JCC-2.14-py2.7-linux-x86_64.egg/jcc/__main__.py", 
line 107, in <module>
 >         cpp.jcc(sys.argv)
 >       File 
"/usr/local/lib/python2.7/dist-packages/JCC-2.14-py2.7-linux-x86_64.egg/jcc/cpp.py", 
line 578, in jcc
 >         cls = findClass(className.replace('.', '/'))
 >       File 
"/usr/local/lib/python2.7/dist-packages/JCC-2.14-py2.7-linux-x86_64.egg/jcc/cpp.py", 
line 73, in findClass
 >         cls = _findClass(className)
 >     jcc.cpp.JavaError: java.lang.UnsupportedClassVersionError: 
org/apache/pylucene/queryParser/PythonMultiFieldQueryParser : 
Unsupported major.minor version 51.0
 >     Java stacktrace:
 >     java.lang.UnsupportedClassVersionError: 
org/apache/pylucene/queryParser/PythonMultiFieldQueryParser : 
Unsupported major.minor version 51.0
 >         at java.lang.ClassLoader.defineClass1(Native Method)
 >         at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
 >         at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 >         at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
 >         at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
 >         at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
 >         at java.security.AccessController.doPrivileged(Native Method)
 >         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
 >         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
 >         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
 >         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
 >
 >     make: *** [compile] Error 255
 >     monk:/Data/pkg/pylucene-3.6.1-2>

the fact that the ICU echo is the last thing, combined with the 
discussion on your release vote

http://mail-archives.apache.org/mod_mbox/lucene-pylucene-dev/201208.mbox/%3C503559C6.9070509%40cheimes.de%3E

makes me wonder if this is the issue?  or is it something else?

thanks for any help.

     rik

Re: unable to build v.3.6.1-2 on ubuntu 12.04; ICU issue?

Posted by RKBelew <ri...@cogsci.ucsd.edu>.
On 09/19/2012 12:25 PM, Andi Vajda wrote:
>
>
> The error above is that the JVM that jcc uses to load this Java class is not happy/compatible with the javac compiler that built this class.
> This could be due to classpath issues causing an old class binary to be found somewhere or some version crossing elsewhere. Please, make sure that the same version of Java is used for all operations.
>
> Andi..

ok, that's how i read it, too.  and so i uninstalled everything, 
re-tweaked makefile and jcc/setup.py and ... this time it went thru!

thanks for your quick reply.

	rik


Re: unable to build v.3.6.1-2 on ubuntu 12.04; ICU issue?

Posted by Andi Vajda <va...@apache.org>.
On Sep 19, 2012, at 12:15, RKBelew <ri...@cogsci.ucsd.edu> wrote:

> after realizing what an old version of pylucene (2.3.1 !) is
> available as a .deb, i am trying to build my own.  the make goes
> well thru building the spellchecker:
> 
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/core/lucene-core-3.6.1.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/analyzers/common/lucene-analyzers-3.6.1.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/queryparser/lucene-queryparser-3.6.1.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/memory/lucene-memory-3.6.1.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/queries/lucene-queries-3.6.1.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/highlighter/lucene-highlighter-3.6.1.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/build/jar/extensions.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/grouping/lucene-grouping-3.6.1.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/join/lucene-join-3.6.1.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/facet/lucene-facet-3.6.1.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/facet/lucene-facet-3.6.1-examples.jar
> >       [jar] Building jar: /Data/pkg/pylucene-3.6.1-2/lucene-java-3.6.1/lucene/build/contrib/spellchecker/lucene-spellchecker-3.6.1.jar
> >
> >     BUILD SUCCESSFUL
> >     Total time: 4 seconds
> 
> but then i get the ICU echo: and then it dies:
> 
> >     ICU not installed

This is not an error. Some of the software is not built when icu is not present. It's optional.
This message is not related to the error below.

> >     /usr/bin/python -m jcc
> >       --shared
> >       --jar lucene-java-3.6.1/lucene/build/core/lucene-core-3.6.1.jar
> >       --jar lucene-java-3.6.1/lucene/build/contrib/analyzers/common/lucene-analyzers-3.6.1.jar
> >       --jar lucene-java-3.6.1/lucene/build/contrib/memory/lucene-memory-3.6.1.jar
> >       --jar lucene-java-3.6.1/lucene/build/contrib/highlighter/lucene-highlighter-3.6.1.jar
> >       --jar build/jar/extensions.jar
> >       --jar lucene-java-3.6.1/lucene/build/contrib/queries/lucene-queries-3.6.1.jar
> >       --jar lucene-java-3.6.1/lucene/build/contrib/grouping/lucene-grouping-3.6.1.jar
> >       --jar lucene-java-3.6.1/lucene/build/contrib/join/lucene-join-3.6.1.jar
> >       --jar lucene-java-3.6.1/lucene/build/contrib/facet/lucene-facet-3.6.1.jar
> >       --jar lucene-java-3.6.1/lucene/build/contrib/spellchecker/lucene-spellchecker-3.6.1.jar
> >       --package java.lang java.lang.System java.lang.Runtime java.lang.IllegalStateException java.lang.IndexOutOfBoundsException
> >       --package java.util java.util.Arrays java.util.HashMap java.util.HashSet java.util.NoSuchElementException java.text.SimpleDateFormat java.text.DecimalFormat java.text.Collator
> >       --package java.util.regex
> >       --package java.io java.io.StringReader java.io.InputStreamReader java.io.FileInputStream
> >       --exclude org.apache.lucene.queryParser.Token
> >       --exclude org.apache.lucene.queryParser.TokenMgrError
> >       --exclude org.apache.lucene.queryParser.QueryParserTokenManager
> >       --exclude org.apache.lucene.queryParser.ParseException
> >       --exclude org.apache.lucene.queryParser.CharStream
> >       --exclude org.apache.lucene.search.regex.JakartaRegexpCapabilities
> >       --exclude org.apache.regexp.RegexpTunnel
> >       --exclude org.apache.lucene.analysis.cn.smart.AnalyzerProfile
> >       --python lucene
> >       --mapping org.apache.lucene.document.Document 'get:(Ljava/lang/String;)Ljava/lang/String;'
> >       --mapping java.util.Properties 'getProperty:(Ljava/lang/String;)Ljava/lang/String;'
> >       --sequence java.util.AbstractList 'size:()I' 'get:(I)Ljava/lang/Object;'
> >       --rename org.apache.lucene.search.highlight.SpanScorer=HighlighterSpanScorer
> >       --rename org.apache.lucene.search.highlight.Scorer=HighlighterScorer
> >       --rename org.apache.lucene.search.spell.Dictionary=SpellDictionary
> >       --rename org.apache.lucene.search.suggest.fst.Sort=SuggestSort
> >       --rename org.apache.lucene.store.DataInput=StoreDataInput
> >       --rename org.apache.lucene.store.DataOutput=StoreDataOutput
> >       --rename org.tartarus.snowball.ext.DutchStemmer=DutchPorterStemmer
> >       --rename org.tartarus.snowball.ext.FrenchStemmer=FrenchPorterStemmer
> >       --rename org.tartarus.snowball.ext.GermanStemmer=GermanPorterStemmer
> >       --rename org.tartarus.snowball.ext.PortugueseStemmer=PortuguesePorterStemmer
> >       --version 3.6.1
> >       --module python/collections.py
> >       --module python/ICUNormalizer2Filter.py
> >       --module python/ICUFoldingFilter.py
> >       --module python/ICUTransformFilter.py
> >       --files 4
> >       --build
> >     While loading org/apache/pylucene/queryParser/PythonMultiFieldQueryParser
> >     Traceback (most recent call last):
> >       File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
> >         "__main__", fname, loader, pkg_name)
> >       File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
> >         exec code in run_globals
> >       File "/usr/local/lib/python2.7/dist-packages/JCC-2.14-py2.7-linux-x86_64.egg/jcc/__main__.py", line 107, in <module>
> >         cpp.jcc(sys.argv)
> >       File "/usr/local/lib/python2.7/dist-packages/JCC-2.14-py2.7-linux-x86_64.egg/jcc/cpp.py", line 578, in jcc
> >         cls = findClass(className.replace('.', '/'))
> >       File "/usr/local/lib/python2.7/dist-packages/JCC-2.14-py2.7-linux-x86_64.egg/jcc/cpp.py", line 73, in findClass
> >         cls = _findClass(className)
> >     jcc.cpp.JavaError: java.lang.UnsupportedClassVersionError: org/apache/pylucene/queryParser/PythonMultiFieldQueryParser : Unsupported major.minor version 51.0
> >     Java stacktrace:
> >     java.lang.UnsupportedClassVersionError: org/apache/pylucene/queryParser/PythonMultiFieldQueryParser : Unsupported major.minor version 51.0
> >         at java.lang.ClassLoader.defineClass1(Native Method)
> >         at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
> >         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> >         at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
> >         at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> >         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> >
> >     make: *** [compile] Error 255
> >     monk:/Data/pkg/pylucene-3.6.1-2>

The error above is that the JVM that jcc uses to load this Java class is not happy/compatible with the javac compiler that built this class.
This could be due to classpath issues causing an old class binary to be found somewhere or some version crossing elsewhere. Please, make sure that the same version of Java is used for all operations.

Andi..


> the fact that the ICU echo is the last thing, combined with the discussion on your release vote
> 
> http://mail-archives.apache.org/mod_mbox/lucene-pylucene-dev/201208.mbox/%3C503559C6.9070509%40cheimes.de%3E
> 
> makes me wonder if this is the issue?  or is it something else?
> 
> thanks for any help.
> 
>    rik