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 Andi Vajda <va...@apache.org> on 2022/04/17 19:48:09 UTC

[VOTE] Release PyLucene 9.1.0

The PyLucene 9.1.0 (rc1) release tracking last month's release of
Apache Lucene 9.1.0 is ready.

A release candidate is available from:
    https://dist.apache.org/repos/dist/dev/lucene/pylucene/9.1.0-rc1/

PyLucene 9.1.0 is built with JCC 3.12, included in these release artifacts.

JCC 3.12 supports Python 3.3 up to Python 3.9 (in addition to Python 2.3+).
PyLucene may be built with Python 2 or Python 3.

Please vote to release these artifacts as PyLucene 9.1.0.
Anyone interested in this release can and should vote !

Thanks !

Andi..

ps: the KEYS file for PyLucene release signing is at:
https://dist.apache.org/repos/dist/release/lucene/pylucene/KEYS
https://dist.apache.org/repos/dist/dev/lucene/pylucene/KEYS

pps: here is my +1

Re: [VOTE] Release PyLucene 9.1.0

Posted by Andi Vajda <va...@apache.org>.
On Wed, 20 Apr 2022, Andi Vajda wrote:

> Ok, so the layout has changed with temurin I guess. This was also the case on 
> Mac. I need to add yet another entry into LFLAGS for linux/temurin
> in setup.py that reflects this new layout.
>
>> So it seems to be some sort of expected-packaging problem?
>
> I need to debug this by installing temurin into a linux VM of mine.
> To be continued...

I created a brand new Debian 11.3 virtual machine and set it up for PyLucene 
development with the Temurin 17 JDK. I had to add a new linux/temurin entry 
in LFLAGS since the layout of that JDK is different from the others.

Then I changed the JDK['linux'] in jcc's setup.py to the Temurin java home 
as it looked on my install: /usr/lib/jvm/temurin-17-jdk-amd64
It may be different on your system. You edit in yours or override it via the 
JCC_JDK env variable.

Then building jcc with:
   $ python setup.py build install
just worked (tm)

For PyLucene, I also refreshed the first Linux config to be for Temurin JDK.
Uncomment that one and fix it to reflect your environment.
Then building pylucene with:
   $ make all test
just worked (tm).

I'm preparing an rc3 now...

Andi..

Re: [VOTE] Release PyLucene 9.1.0

Posted by Andi Vajda <va...@apache.org>.
  Hi Dawid,

On Wed, 20 Apr 2022, Dawid Weiss wrote:

>> If you tell me what OS you are on and what the error actually is, I can
>> help you a bit better. But assuming you're on a Mac, you do not need to 
>> export
>
>
> I'm actually on Windows but I tried to compile everything on Linux - an
> older Ubuntu with Java 17 installed. Here is what I see:
>
>> echo $JAVA_HOME
> /[...]/jvms/jdk17
>
>> java -version
> openjdk version "17" 2021-09-14
> OpenJDK Runtime Environment Temurin-17+35 (build 17+35)
> OpenJDK 64-Bit Server VM Temurin-17+35 (build 17+35, mixed mode, sharing)
>
>> cd jcc
>> python3 setup.py build install
> Traceback (most recent call last):
>  File "setup.py", line 100, in <module>
>    ''' %(JDK[platform]))
> RuntimeError:
>
> Java JDK directory '/usr/lib/jvm/java-8-oracle' does not exist.

Yeah, on Linux, there is no support implemented in JCC for finding the 
proper JAVA_HOME so the hardcoded value in jcc's setup.py is old and wrong
and must be overriden via the JCC_JDK variable (or edited in).

> Please set the environment variable JCC_JDK to the correct location before
> running setup.py.
>
> When I set JCC_JDK:
>
>> export JCC_JDK=$JAVA_HOME
>> python3 setup.py build install
> [lots of messages]
> x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
> -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro
> -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.6/jcc3/sources/jcc.o
> build/temp.linux-x86_64-3.6/jcc3/sources/JCCEnv.o -o
> build/lib.linux-x86_64-3.6/libjcc3.so -L/[...]/jvms/jdk17/jre/lib/amd64
> -ljava -L/ [...]/jvms/jdk17/jre/lib/amd64/server -ljvm -Wl,-rpath=/
> [...]/jvms/jdk17/jre/lib/amd64:/ [...]/jvms/jdk17/jre/lib/amd64/server
> -Wl,-S -lpython3.6m
>
> /usr/bin/ld: cannot find -ljava
> /usr/bin/ld: cannot find -ljvm
> collect2: error: ld returned 1 exit status
> error: command 'x86_64-linux-gnu-g++' failed with exit status 1
>
> When you look at the compilation line, Java-relative paths are wrong as
> it's a JDK installation and it has lib/ and include/ directly underneath
> (not under 'jre/lib/amd64', for example).

Ok, so the layout has changed with temurin I guess. This was also the case 
on Mac. I need to add yet another entry into LFLAGS for linux/temurin
in setup.py that reflects this new layout.

> So it seems to be some sort of expected-packaging problem?

I need to debug this by installing temurin into a linux VM of mine.
To be continued...

Andi..

Re: [VOTE] Release PyLucene 9.1.0

Posted by Dawid Weiss <da...@gmail.com>.
Hi Andi,


> If you tell me what OS you are on and what the error actually is, I can
> help
>
you a bit better. But assuming you're on a Mac, you do not need to export


I'm actually on Windows but I tried to compile everything on Linux - an
older Ubuntu with Java 17 installed. Here is what I see:

> echo $JAVA_HOME
/[...]/jvms/jdk17

> java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment Temurin-17+35 (build 17+35)
OpenJDK 64-Bit Server VM Temurin-17+35 (build 17+35, mixed mode, sharing)

> cd jcc
> python3 setup.py build install
Traceback (most recent call last):
  File "setup.py", line 100, in <module>
    ''' %(JDK[platform]))
RuntimeError:

Java JDK directory '/usr/lib/jvm/java-8-oracle' does not exist.

Please set the environment variable JCC_JDK to the correct location before
running setup.py.

When I set JCC_JDK:

> export JCC_JDK=$JAVA_HOME
> python3 setup.py build install
[lots of messages]
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro
-g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
-D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.6/jcc3/sources/jcc.o
build/temp.linux-x86_64-3.6/jcc3/sources/JCCEnv.o -o
build/lib.linux-x86_64-3.6/libjcc3.so -L/[...]/jvms/jdk17/jre/lib/amd64
-ljava -L/ [...]/jvms/jdk17/jre/lib/amd64/server -ljvm -Wl,-rpath=/
[...]/jvms/jdk17/jre/lib/amd64:/ [...]/jvms/jdk17/jre/lib/amd64/server
-Wl,-S -lpython3.6m

/usr/bin/ld: cannot find -ljava
/usr/bin/ld: cannot find -ljvm
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-g++' failed with exit status 1

When you look at the compilation line, Java-relative paths are wrong as
it's a JDK installation and it has lib/ and include/ directly underneath
(not under 'jre/lib/amd64', for example).

So it seems to be some sort of expected-packaging problem?

Dawid

Re: [VOTE] Release PyLucene 9.1.0

Posted by Andi Vajda <va...@apache.org>.
  Hi Dawid,

Thank you for checking the rc out !
More replies inline.

On Tue, 19 Apr 2022, Dawid Weiss wrote:

> I downloaded the release - these files and folders should be probably
> excluded from the distribution as it's gradle's binary
> throw-away caches and generated stuff:
>
> pylucene-9.1.0/lucene-java-9.1.0/.gradle
> pylucene-9.1.0/lucene-java-9.1.0/gradle.properties
>
> Perhaps you should use "git clean -xfd ." on Lucene's checkout prior
> to assembling the distribution?

I'm now excluding all .[a-z]* files as well as gradle.properties.
And I'm respinning an rc2 for this change.

> Also, the installation instructions seem a bit outdated (Java version, etc.):
> https://lucene.apache.org/pylucene/install.html
>
> I tried compiling everything from scratch by exporting JAVA_HOME and
> JCC_JDK but failed. :(  Any hints as to what I may be doing wrong?

The instructions are very outdated indeed (!)

If you tell me what OS you are on and what the error actually is, I can help 
you a bit better. But assuming you're on a Mac, you do not need to export 
JAVA_HOME, but you can, it overrides what jcc is trying to do without it 
being set.
The $ /usr/libexec/java_home command works, it returns this
   /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
for me, which is correct.
If you do *not* set JAVA_HOME, jcc will try to figure it out for you, and 
report what it found (or not).

For me, on Mac, the build instructions are as simple as this:
I have python 3 in a virtual environment in my pylucene directory:
   $ cd ~/apache/pylucene/jcc
   $ ../_install3/bin/python setup.py build install
   $ cd ..
     edit Makefile to uncommment/edit the configuration that corresponds to
     your setup
   $ make all test

Please, let me know how it goes !

Andi..

>
> Dawid
>
> On Sun, Apr 17, 2022 at 9:48 PM Andi Vajda <va...@apache.org> wrote:
>>
>>
>> The PyLucene 9.1.0 (rc1) release tracking last month's release of
>> Apache Lucene 9.1.0 is ready.
>>
>> A release candidate is available from:
>>     https://dist.apache.org/repos/dist/dev/lucene/pylucene/9.1.0-rc1/
>>
>> PyLucene 9.1.0 is built with JCC 3.12, included in these release artifacts.
>>
>> JCC 3.12 supports Python 3.3 up to Python 3.9 (in addition to Python 2.3+).
>> PyLucene may be built with Python 2 or Python 3.
>>
>> Please vote to release these artifacts as PyLucene 9.1.0.
>> Anyone interested in this release can and should vote !
>>
>> Thanks !
>>
>> Andi..
>>
>> ps: the KEYS file for PyLucene release signing is at:
>> https://dist.apache.org/repos/dist/release/lucene/pylucene/KEYS
>> https://dist.apache.org/repos/dist/dev/lucene/pylucene/KEYS
>>
>> pps: here is my +1
>

Re: [VOTE] Release PyLucene 9.1.0

Posted by Dawid Weiss <da...@gmail.com>.
Hi Andi,

I downloaded the release - these files and folders should be probably
excluded from the distribution as it's gradle's binary
throw-away caches and generated stuff:

pylucene-9.1.0/lucene-java-9.1.0/.gradle
pylucene-9.1.0/lucene-java-9.1.0/gradle.properties

Perhaps you should use "git clean -xfd ." on Lucene's checkout prior
to assembling the distribution?

Also, the installation instructions seem a bit outdated (Java version, etc.):
https://lucene.apache.org/pylucene/install.html

I tried compiling everything from scratch by exporting JAVA_HOME and
JCC_JDK but failed. :(  Any hints as to what I may be doing wrong?

Dawid

On Sun, Apr 17, 2022 at 9:48 PM Andi Vajda <va...@apache.org> wrote:
>
>
> The PyLucene 9.1.0 (rc1) release tracking last month's release of
> Apache Lucene 9.1.0 is ready.
>
> A release candidate is available from:
>     https://dist.apache.org/repos/dist/dev/lucene/pylucene/9.1.0-rc1/
>
> PyLucene 9.1.0 is built with JCC 3.12, included in these release artifacts.
>
> JCC 3.12 supports Python 3.3 up to Python 3.9 (in addition to Python 2.3+).
> PyLucene may be built with Python 2 or Python 3.
>
> Please vote to release these artifacts as PyLucene 9.1.0.
> Anyone interested in this release can and should vote !
>
> Thanks !
>
> Andi..
>
> ps: the KEYS file for PyLucene release signing is at:
> https://dist.apache.org/repos/dist/release/lucene/pylucene/KEYS
> https://dist.apache.org/repos/dist/dev/lucene/pylucene/KEYS
>
> pps: here is my +1

Re: [VOTE] Release PyLucene 9.1.0

Posted by Nelia Vb <ne...@gmail.com>.
+1

On Sun, 17 Apr 2022, 21:48 Andi Vajda, <va...@apache.org> wrote:

>
> The PyLucene 9.1.0 (rc1) release tracking last month's release of
> Apache Lucene 9.1.0 is ready.
>
> A release candidate is available from:
>     https://dist.apache.org/repos/dist/dev/lucene/pylucene/9.1.0-rc1/
>
> PyLucene 9.1.0 is built with JCC 3.12, included in these release artifacts.
>
> JCC 3.12 supports Python 3.3 up to Python 3.9 (in addition to Python 2.3+).
> PyLucene may be built with Python 2 or Python 3.
>
> Please vote to release these artifacts as PyLucene 9.1.0.
> Anyone interested in this release can and should vote !
>
> Thanks !
>
> Andi..
>
> ps: the KEYS file for PyLucene release signing is at:
> https://dist.apache.org/repos/dist/release/lucene/pylucene/KEYS
> https://dist.apache.org/repos/dist/dev/lucene/pylucene/KEYS
>
> pps: here is my +1
>

Re: [VOTE] Release PyLucene 9.1.0

Posted by Andi Vajda <va...@apache.org>.
This vote has failed as the release artifacts were found to contain 
unnecessary cruft.

Thank you Dawid for reporting the issue.
I'm calling for an rc2 vote in the next message.

Andi..

On Sun, 17 Apr 2022, Andi Vajda wrote:

>
> The PyLucene 9.1.0 (rc1) release tracking last month's release of
> Apache Lucene 9.1.0 is ready.
>
> A release candidate is available from:
>   https://dist.apache.org/repos/dist/dev/lucene/pylucene/9.1.0-rc1/
>
> PyLucene 9.1.0 is built with JCC 3.12, included in these release artifacts.
>
> JCC 3.12 supports Python 3.3 up to Python 3.9 (in addition to Python 2.3+).
> PyLucene may be built with Python 2 or Python 3.
>
> Please vote to release these artifacts as PyLucene 9.1.0.
> Anyone interested in this release can and should vote !
>
> Thanks !
>
> Andi..
>
> ps: the KEYS file for PyLucene release signing is at:
> https://dist.apache.org/repos/dist/release/lucene/pylucene/KEYS
> https://dist.apache.org/repos/dist/dev/lucene/pylucene/KEYS
>
> pps: here is my +1
>