[
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)