[ 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:46 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 JCC_JDK is a LINUX/OS environment variable and nothing to do with setup.py. Mainly because , imho, that 1) sentence is really long 2) it starts with "edit setup.py" and I have been trying to do just that. Anyway, despite setting JAVAHOME and JAVA_HOME, the setup.py somehow still picks my java 10. Any idea why? maybe I should just go ahead and set all JCC_* environment variables like you said? So does that mean $JAVA_HOME is not what the setup.py is picking? {{~/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 is really long 2) it starts with "edit setup.py" and I have been trying to do just that. Anyway, despite setting JAVAHOME and JAVA_HOME, the setup.py somehow still picks my java 10. Any idea why? maybe I should just go ahead and set all JCC_* environment variables like you said? So does that mean $JAVA_HOME is not what the setup.py is picking? {{~/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. ?? > 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)