Well, JCC & Lucene was successfully built on Windows. Although it was not at all a good experience. I don't know if someone has successfully installed PyLucene on windows ever. The Python script to build PyLucene is also working fine by creating the *GENERATE* command and executing it. While building, three objects were successfully created:
- JCCEnv.obj - JArray.obj - JObject.obj At the time of creating __init__.obj these are the errors produced: D:\projects\database\pylucene-10.0.0\build\_lucene\java/lang/System$Logger$Level.h(41): error C2059: syntax error: 'constant' D:\projects\database\pylucene-10.0.0\build\_lucene\java/lang/System$Logger$Level.h(41): error C2238: unexpected token(s) preceding ';' D:\projects\ database\pylucene-10.0.0\build\_lucene\org/antlr/v4/runtime/atn/ATNSimulator.h(63): error C2059: syntax error: 'constant' D:\projects\ database\pylucene-10.0.0\build\_lucene\org/antlr/v4/runtime/atn/ATNSimulator.h(63): error C2238: unexpected token(s) preceding ';' D:\projects\ database\pylucene-10.0.0\build\_lucene\org/objectweb/asm/Type.h(88): error C2628: 'jint' followed by 'void' is illegal (did you forget a ';'?) D:\projects\ database\pylucene-10.0.0\build\_lucene\org/objectweb/asm/Type.h(88): error C2208: 'int': no members defined using this type D:\projects\ database\pylucene-10.0.0\build\_lucene\org/objectweb/asm/Type.h(88): warning C4091: 'static ': ignored on left of 'int' when no variable is declared Now I have decided to give up. It seems PyLucene was never meant to work on Windows. On Mon, Oct 21, 2024 at 1:13 AM Andi Vajda <va...@apache.org> wrote: > > > On Oct 20, 2024, at 21:21, Prashant Saxena <animator...@gmail.com> > wrote: > > > > On Windows, Makefile does not work, even with nmake that ships with > MSVC. > > Yes, you need something unix compatible like cygwin's make. You're making > your learning path much more difficult by doing this on Windows. > I have no access to Windows so I'm unable to build or test PyLucene there, > I don't actually know if it currently even builds there. > You should do this on Linux, Macos or maybe a linux VM on Windows, use WSL > ? > > Andi.. > > > I am working on > > a python based build script instead of Makefile to ease the process of > > building. At present I am trying to > > build Lucene-10.0.0 manually as per the instructions. > > gradlew.bat assemble > > gradlew.bat check > > > > but it's not working. > > > >> On Mon, Oct 21, 2024 at 12:34 AM Andi Vajda <va...@apache.org> wrote: > >> > >> > >>>> On Oct 20, 2024, at 21:00, Andi Vajda <va...@apache.org> wrote: > >>> > >>> > >>>> On Oct 20, 2024, at 20:52, Prashant Saxena <animator...@gmail.com> > >> wrote: > >>>> > >>>> As per the documentation first I typed > >>>> "gradlew assemble" > >>>> then I typed > >>>> "gradlew check", so yes I have invoked it myself. > >>> > >>> The PyLucene instructions make no mention of gradle. The Makefile > >> invokes it for you. > >> > >> If you want to only build Lucene for PyLucene, just invoke 'make > lucene'. > >> > >> Andi.. > >> > >>> Let it build Lucene for you, there is no need to do it yourself. > >>> Uncomment the Windows section of the Makefile to match your setup. > >> > >>> > >>> Andi.. > >>> > >>>> > >>>>>> On Mon, Oct 21, 2024 at 12:17 AM Andi Vajda <va...@apache.org> > wrote: > >>>>> > >>>>> > >>>>>> On Oct 20, 2024, at 20:17, Prashant Saxena <animator...@gmail.com> > >>>>> wrote: > >>>>>> > >>>>>> Again back to jdk-23 as PyLucene 10.0.0 requires Java 21 or > greater. > >>>>>> "gradlew check" is generating lucene jar files but process was > >> terminated > >>>>>> in the middle because of this error: > >>>>> > >>>>> Is "gradlew check" invoked by the PyLucene build or by you ? > >>>>> > >>>>> Andi.. > >>>>> > >>>>>> > >>>>>> > >>>>>>> Task :checkWorkingCopyClean > >>>>>> WARNING: Directory is not a valid git checkout (won't check dirty > >> files): > >>>>>> D:\projects\database\pylucene-10.0.0\lucene-java-10.0.0 > >>>>>> > >>>>>>> Task :checkLocks FAILED > >>>>>> > >>>>>> FAILURE: Build failed with an exception. > >>>>>> > >>>>>> * What went wrong: > >>>>>> Execution failed for task ':checkLocks'. > >>>>>>> Dependencies are inconsistent with the lockfile. > >>>>>> Configuration group: test_dependencies > >>>>>> - com.github.ben-manes.caffeine:caffeine:3.0.5 (dependency > >>>>>> sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.github.kevinstern:software-and-algorithms:1.0 > (dependency > >>>>>> sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.auto.service:auto-service-annotations:1.0.1 > >>>>>> (dependency sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.auto.value:auto-value-annotations:1.9 (dependency > >>>>>> sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.auto:auto-common:1.2.1 (dependency sources > >>>>> different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.code.findbugs:jsr305:3.0.2 (dependency sources > >>>>>> different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.errorprone:error_prone_annotation:2.18.0 > >>>>> (dependency > >>>>>> sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.errorprone:error_prone_annotations:2.18.0 > >>>>>> (dependency sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.errorprone:error_prone_check_api:2.18.0 > >> (dependency > >>>>>> sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.errorprone:error_prone_core:2.18.0 (dependency > >>>>>> sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.errorprone:error_prone_type_annotations:2.18.0 > >>>>>> (dependency sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.guava:failureaccess:1.0.1 (dependency sources > >>>>>> different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.guava:guava:31.0.1-jre (dependency sources > >>>>> different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - > >>>>>> > >>>>> > >> > com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava > >>>>>> (dependency sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.j2objc:j2objc-annotations:1.3 (dependency sources > >>>>>> different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - com.google.protobuf:protobuf-java:3.19.2 (dependency sources > >>>>>> different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - io.github.java-diff-utils:java-diff-utils:4.0 (dependency > >>>>>> sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - javax.inject:javax.inject:1 (dependency sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - org.checkerframework:checker-qual:3.19.0 (dependency sources > >>>>>> different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - org.checkerframework:dataflow-errorprone:3.27.0 (dependency > >>>>>> sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - org.eclipse.jgit:org.eclipse.jgit:4.4.1.201607150455-r > >>>>>> (dependency sources different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> - org.pcollections:pcollections:3.1.4 (dependency sources > >>>>>> different) > >>>>>> > >>>>>> Configuration annotationProcessor in :lucene:extensions > >>>>>> (new source) > >>>>>> > >>>>>> > >>>>>> > >>>>>> The following steps may be helpful to resolve the problem: > >>>>>> - regenerate the lockfile using 'gradlew writeLocks', then use git > >>>>> diff > >>>>>> to inspect the changes > >>>>>> - run 'gradlew dependencyInsight --configuration someConf > >> --dependency > >>>>>> someDep' to inspect dependencies > >>>>>> > >>>>>>> On Sun, Oct 20, 2024 at 10:27 PM Andi Vajda <va...@apache.org> > >> wrote: > >>>>>>> > >>>>>>> > >>>>>>>> On Oct 20, 2024, at 18:33, Prashant Saxena <animator...@gmail.com > > > >>>>>>> wrote: > >>>>>>>> > >>>>>>>> With jdk-17.0.12, all the lucene jars have been built > successfully, > >>>>>>> however > >>>>>>>> I'm missing these > >>>>>>>> 4 files. Could you please tell me more about these files? These 4 > >> files > >>>>>>> are > >>>>>>>> required to build > >>>>>>>> python extension as per the Makefile. Am I right? > >>>>>>>> > >>>>>>>> antlr4-runtime-4.11.1.jar > >>>>>>>> asm-7.2.jar > >>>>>>>> asm-commons-7.2.jar > >>>>>>>> hppc-0.9.1.jar > >>>>>>> > >>>>>>> These are part of the Lucene source tree after Lucene got built by > >>>>> gradle > >>>>>>> and are necessary to build the python extension. > >>>>>>> > >>>>>>>> There are a total of 36 errors while building the extension, I'm > >>>>> posting > >>>>>>>> only 4 here, rest of them are mostly similar ones. My environment > is > >>>>>>>> Windows 10 and Python 3.10 > >>>>>>>> > >>>>>>>>> Task :lucene:extensions:ecjLintMain > >>>>>>>> ---------- > >>>>>>>> 1. ERROR in > >>>>>>>> > >>>>>>> > >>>>> > >> > D:\projects\database\pylucene-9.7.0\lucene-java-9.7.0\lucene\extensions\src\java\org\apache\pylucene\analysis\PythonAnalyzer.java > >>>>>>>> (at line 38) > >>>>>>>> public void finalize() > >>>>>>>> throws Throwable > >>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>>> > >>>>>>> You're building version 9.7.0 which is obsolete. > >>>>>>> In PyLucene 10.0.0, just released today, these finalize() methods, > >> long > >>>>>>> deprecated, were finally replaced by phantom reference handling. I > >>>>>>> recommend you switch to version 10.0.0. > >>>>>>> > >>>>>>> Andi.. > >>>>>>> > >>>>>>>> The method finalize() of type PythonAnalyzer should be tagged with > >>>>>>>> @Override since it actually overrides a superclass method > >>>>>>>> ---------- > >>>>>>>> ---------- > >>>>>>>> 2. ERROR in > >>>>>>>> > >>>>>>> > >>>>> > >> > D:\projects\database\pylucene-9.7.0\lucene-java-9.7.0\lucene\extensions\src\java\org\apache\pylucene\analysis\PythonFilteringTokenFilter.java > >>>>>>>> (at line 40) > >>>>>>>> public void finalize() > >>>>>>>> throws Throwable > >>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>>>> The method finalize() of type PythonFilteringTokenFilter should be > >>>>> tagged > >>>>>>>> with @Override since it actually overrides a superclass method > >>>>>>>> ---------- > >>>>>>>> ---------- > >>>>>>>> 3. ERROR in > >>>>>>>> > >>>>>>> > >>>>> > >> > D:\projects\database\pylucene-9.7.0\lucene-java-9.7.0\lucene\extensions\src\java\org\apache\pylucene\analysis\PythonTokenFilter.java > >>>>>>>> (at line 41) > >>>>>>>> public void finalize() > >>>>>>>> throws Throwable > >>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>>>> The method finalize() of type PythonTokenFilter should be tagged > >> with > >>>>>>>> @Override since it actually overrides a superclass method > >>>>>>>> ---------- > >>>>>>>> ---------- > >>>>>>>> 4. ERROR in > >>>>>>>> > >>>>>>> > >>>>> > >> > D:\projects\database\pylucene-9.7.0\lucene-java-9.7.0\lucene\extensions\src\java\org\apache\pylucene\analysis\PythonTokenizer.java > >>>>>>>> (at line 40) > >>>>>>>> public void finalize() > >>>>>>>> throws Throwable > >>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>>>> The method finalize() of type PythonTokenizer should be tagged > with > >>>>>>>> @Override since it actually overrides a superclass method > >>>>>>>> ---------- > >>>>>>>> ---------- > >>>>>>>> Prashant > >>>>>>>> > >>>>>>>>> On Sun, Oct 20, 2024 at 8:39 PM Dawid Weiss < > dawid.we...@gmail.com > >>> > >>>>>>> wrote: > >>>>>>>>> > >>>>>>>>> Use Java 17 for compilation. What you see is newer Java than > gradle > >>>>> can > >>>>>>>>> handle. > >>>>>>>>> > >>>>>>>>> D. > >>>>>>>>> > >>>>>>>>> On Sun, Oct 20, 2024 at 7:25 AM Prashant Saxena < > >>>>> animator...@gmail.com> > >>>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>>> Hello, > >>>>>>>>>> OS : Windows 10 > >>>>>>>>>> PyLucene : 9.7.0 > >>>>>>>>>> JDK : 23.0 > >>>>>>>>>> > >>>>>>>>>> Although I can download the binary distribution of version > 9.7.0, > >> I > >>>>>>> have > >>>>>>>>>> decided to build it from scratch as > >>>>>>>>>> I am new to javascript and lucene. It will help me learn. > >>>>>>>>>> > >>>>>>>>>> 1. downloading and extracting pylucene > >>>>>>>>>> 2. cd lucene-java-9.7.0 > >>>>>>>>>> 3. gradlew.bat assemble > >>>>>>>>>> > >>>>>>>>>> Downloading > >>>>>>> https://services.gradle.org/distributions/gradle-7.6-bin.zip > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > ...........10%............20%...........30%............40%............50%...........60%............70%............80%...........90%............100% > >>>>>>>>>> > >>>>>>>>>> Welcome to Gradle 7.6! > >>>>>>>>>> > >>>>>>>>>> Here are the highlights of this release: > >>>>>>>>>> - Added support for Java 19. > >>>>>>>>>> - Introduced `--rerun` flag for individual task rerun. > >>>>>>>>>> - Improved dependency block for test suites to be strongly > typed. > >>>>>>>>>> - Added a pluggable system for Java toolchains provisioning. > >>>>>>>>>> > >>>>>>>>>> For more details see > >> https://docs.gradle.org/7.6/release-notes.html > >>>>>>>>>> > >>>>>>>>>> Starting a Gradle Daemon (subsequent builds will be faster) > >>>>>>>>>> > >>>>>>>>>> FAILURE: Build failed with an exception. > >>>>>>>>>> > >>>>>>>>>> * What went wrong: > >>>>>>>>>> Could not open cp_settings generic class cache for settings file > >>>>>>>>>> > >>>>> > 'D:\projects\database\pylucene-9.7.0\lucene-java-9.7.0\settings.gradle' > >>>>>>>>>> > >>>>> > (C:\Users\rudra\.gradle\caches\7.6\scripts\db9c3q2cn4ry8xtriod5nz7j3). > >>>>>>>>>>> BUG! exception in phase 'semantic analysis' in source unit > >>>>>>>>>> '_BuildScript_' Unsupported class file major version 67 > >>>>>>>>>> > >>>>>>>>>> * Try: > >>>>>>>>>>> Run with --stacktrace option to get the stack trace. > >>>>>>>>>>> Run with --info or --debug option to get more log output. > >>>>>>>>>>> Run with --scan to get full insights. > >>>>>>>>>> > >>>>>>>>>> * Get more help at https://help.gradle.org > >>>>>>>>>> > >>>>>>>>>> BUILD FAILED in 28s > >>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >>>>> > >> > >> > >