[ https://issues.apache.org/jira/browse/PYLUCENE-40?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16497501#comment-16497501 ]
Mithun Paul edited comment on PYLUCENE-40 at 6/1/18 3:41 AM: ------------------------------------------------------------- So after 2 days, I finally understood that to set JCC_JDK, I don't have to edit the setup.py file. The documentation was very confusing in my opinion. While it says edit environment variables, it took me days until I found this post which told me that its a LINUX/OS environment variable and nothing to do with setup.py. Mainly because , imho, that 1) sentence (pasted below) is really long 2) it starts with "edit setup.py" and I have been trying to do just that. I personally feel the documentation is not noob friendly. Anyway, despite setting JAVAHOME and JAVA_HOME, the setup.py somehow still picks my java 10. No idea why. ~/pylucene/pylucene-7.2.0/jcc]$ echo $JAVAHOME /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/ ~/pylucene/pylucene-7.2.0/jcc]$ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home ~/pylucene/pylucene-7.2.0/jcc]$ java -version java version "1.8.0_77" Java(TM) SE Runtime Environment (build 1.8.0_77-b03) Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode) ~/pylucene/pylucene-7.2.0/jcc]$ sudo python setup.py install Password: found JAVAHOME = /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home found JAVAFRAMEWORKS = /System/Library/Frameworks/JavaVM.framework ??If the JDK installation that was found is not the one you wish to use or if you are not on MacOS or Windows, you can either edit _setup.py_ and review that the values in the _INCLUDES_, _CFLAGS_, _DEBUG_CFLAGS_, _LFLAGS_,_JAVAC_, and _JAVADOC_ dicts are correct for your system or set *all* of the environment variables _JCC_JDK_, _JCC_INCLUDES_, _JCC_CFLAGS_, _JCC_DEBUG_CFLAGS_, _JCC_LFLAGS_, _JCC_JAVAC_ and _JCC_JAVADOC_, using os.pathsep as value separator to override them. ?? was (Author: mpaul588): So after 2 days, I finally understood that to set JCC_JDK, I don't have to edit the setup.py file. The documentation was very confusing in my opinion. While it says edit environment variables, it took me days until I found this post which told me that its a LINUX/OS environment variable and nothing to do with setup.py. Mainly because , imho, that 1) sentence (pasted below) is really long 2) it starts with "edit setup.py" and I have been trying to do just that. I personally feel the documentation is not noob friendly. Also like [~rjollos] mentions in his stack overflow [post|https://stackoverflow.com/questions/48711714/trying-to-install-lucene-for-python-first-need-to-install-jcc-when-building-se, suggesting to edit setup.py is not a good practice anyway. ??If the JDK installation that was found is not the one you wish to use or if you are not on MacOS or Windows, you can either edit _setup.py_ and review that the values in the _INCLUDES_, _CFLAGS_, _DEBUG_CFLAGS_, _LFLAGS_,_JAVAC_, and _JAVADOC_ dicts are correct for your system or set *all* of the environment variables _JCC_JDK_, _JCC_INCLUDES_, _JCC_CFLAGS_, _JCC_DEBUG_CFLAGS_, _JCC_LFLAGS_, _JCC_JAVAC_ and _JCC_JAVADOC_, using os.pathsep as value separator to override them. ?? > Document use of JCC_JDK > ----------------------- > > Key: PYLUCENE-40 > URL: https://issues.apache.org/jira/browse/PYLUCENE-40 > Project: PyLucene > Issue Type: Improvement > Reporter: Ryan J Ollos > Priority: Minor > Attachments: jcc_build_output.txt, jcc_build_output2.txt > > > I found two issues when trying to [help someone on Stack > Overflow|https://stackoverflow.com/questions/48711714/] build the library. > First, the [documentation on PyPI|https://pypi.python.org/pypi/JCC/] states: > {quote}JCC’s setup.py file needs to be edited before building JCC to specify > the location of the Java Runtime Environment’s header files and libraries. > {quote} > However, it appears you have a better mechanism of setting {{JCC_JDK}}, but > it's not documented. > Second, when setting {{JCC_JDK}} is appears to work correctly and use the > path to the specified {{JCC_JDK}} in the compilation, but the first line of > output might indicate that a different JRE is being used: > {code:java} > $JCC_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home > python setup.py install > found JAVAHOME = > /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home > found JAVAFRAMEWORKS = /System/Library/Frameworks/JavaVM.framework > ... > {code} > So maybe the found {{JAVAHOME}} should not be printed if {{JCC_JDK}} is set, > so it appears that {{JCC_JDK}} is successfully overriding the {{JAVAHOME}}. > I'll attach the full output from building on my platform. -- This message was sent by Atlassian JIRA (v7.6.3#76005)