On Fri, Nov 03, 2023 at 12:00:32AM -0400, Nathan Hartman wrote:
> On Mon, Oct 16, 2023 at 9:16 AM Daniel Sahlberg
> <daniel.l.sahlb...@gmail.com> wrote:
> >
> > Den sön 15 okt. 2023 kl 06:50 skrev Nathan Hartman 
> > <hartman.nat...@gmail.com>:
> >>
> >> On Fri, Oct 13, 2023 at 1:58 PM Johan Corveleyn <jcor...@gmail.com> wrote:
> >>>
> >>> On Fri, Oct 13, 2023 at 5:35 PM Stefan Sperling <s...@apache.org> wrote:
> >>> >
> >>> > On Fri, Oct 13, 2023 at 08:43:59AM +0200, Daniel Sahlberg wrote:
> >>> > > Hi,
> >>> > >
> >>> > > There are quite a number of improvements waiting to be released. Can 
> >>> > > we
> >>> > > muster the energy to do a new release?
> >>> > >
> >>> > > In trunk there are a lot of changes that warrant a 1.15, but before 
> >>> > > doing
> >>> > > that I think we should also go back to the discussion of changing the 
> >>> > > /
> >>> > > adding a checksum algorithm in the WC. That deserves a separate 
> >>> > > thread and
> >>> > > I'm half way through summarising the previous discussions so I'd like 
> >>> > > to
> >>> > > hold back 1.15 for the moment.
> >>> > >
> >>> > > Still in 1.14 there have been a number of bugfixes that might be good 
> >>> > > to
> >>> > > get released. Maybe doing 1.14.3 first could set us up to do 1.15 a 
> >>> > > little
> >>> > > later?
> >>> >
> >>> > The first problem to solve before the ball starts rolling would be
> >>> > finding a release manager. I don't have enough spare time to play RM
> >>> > this time around but I would support the RM as far as my time allows 
> >>> > for.
> >>> >
> >>> > Doing 1.14.3 first sounds like a good plan. This would help potential
> >>> > new releases managers to get bootstrapped into the process. A major
> >>> > release tends to involve a little bit more effort because some new 
> >>> > problems
> >>> > may only show up on specific operating system platforms during -rc 
> >>> > testing.
> >>>
> >>> +1
> >>>
> >>> --
> >>> Johan
> >>
> >>
> >>
> >> Hi all,
> >>
> >> I agree that a 1.14.3 release makes sense for a first-time RM, to be 
> >> followed by a 1.15.0 at a later stage. (Also, there are some unresolved 
> >> issues regarding 1.15.0, such as the above-mentioned question of checksum 
> >> algorithms, that may require more development, but 1.14.3 should be much 
> >> more straightforward.)
> >>
> >> At this moment I cannot promise to volunteer for this cycle but I will try 
> >> to do so.
> >>
> >> Before I do, I need to get my system bootstrapped properly. I can build 
> >> SVN and run most of the testsuite, but one pesky longstanding issue I have 
> >> had is with the JavaHL bindings. That will require a separate thread and 
> >> I'll describe the issues there. I'll check my notes to see what else might 
> >> be a showstopper on my end.
> >
> >
> > I've successfully built and tested the JavaHL bindings at one point and I 
> > think I can dig out my notes to help you if needed.
> >
> >>
> >>
> >> If I can get set up and solve the problems I've encountered previously in 
> >> a reasonable time frame (and everyone's help is appreciated of course) 
> >> I'll volunteer.
> >
> >
> > That would be great! I'd volunteer to do the next release after this.
> >
> > There were some Docker scripts floating around (Both from CMike and from 
> > Mark). Maybe we should figure out if these can be included in /tools as a 
> > help to set up the environment and to execute the necessary steps.
> >
> > Kind regards,
> > Daniel
> 
> 
> Hi all,
> 
> Previously I mentioned I plan to RM for the upcoming 1.14.3 release.
> This being my first time, I need to solve some issues first.
> 
> One of these, which has been a stumbling block for me since the
> beginning, is getting the JavaHL bindings to build and test
> successfully.
> 
> I have made progress on this, but not a complete breakthrough yet.
> 
> The progress was discovering that I need to have $JAVA_HOME set in my
> environment; without this, our build system (in build/ac-macros/java.m4)
> fails to find javac and assigns 'none' to JAVAC; then, much later,
> 'make check-javahl' tries to call this 'none', which unsurprisingly
> doesn't work. (I was surprised that the other logic in this AC_DEFUN
> couldn't find javac without $JAVA_HOME being set, but that's a subject
> for another thread.) The clue was the use of $JAVA_HOME there.
> 
> I tried various values for $JAVA_HOME but nothing that seemed sensible
> worked; based on a StackOverflow answer [1], I ended up setting
> $JAVA_HOME as follows:
> 
> $ export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
> 
> On my system, this sets $JAVA_HOME to:
> /usr/lib/jvm/java-17-openjdk-amd64
> 
> This value seems a little strange IMHO but it finally got 'configure' to
> find the JDK successfully and got me past the longstanding 'none'
> problem!
> 
> But then I promptly ran into the next issue:
> 
> [[[
> 
> $ make check-javahl
> (snip)
> /usr/lib/jvm/java-17-openjdk-amd64/bin/java -Xcheck:jni
> "-Dtest.rootdir=/home/nathan/ramdrive/svndev/svn-1.14.x/subversion/bindings/javahl/test-work"
> "-Dtest.srcdir=/home/nathan/ramdrive/svndev/svn-1.14.x/subversion/bindings/javahl"
> "-Dtest.rooturl=" "-Dtest.fstype="
> "-Djava.library.path=:/home/nathan/ramdrive/svndev/prefix/svn-1.14.x/lib"
> -classpath 
> "subversion/bindings/javahl/classes:/home/nathan/ramdrive/svndev/svn-1.14.x/subversion/bindings/javahl/src:"
> "-Dtest.cleanup=" "-Dtest.tests="
> org.apache.subversion.javahl.RunTests
> Error: Could not find or load main class org.apache.subversion.javahl.RunTests
> Caused by: java.lang.ClassNotFoundException:
> org.apache.subversion.javahl.RunTests
> make: *** [Makefile:530: check-apache-javahl] Error 1
> 
> ]]]
> 
> If I understand correctly, there should be a file called
> 'RunTests.class' in one of the directories specified with -classpath
> above. Well, there are other .class files to be found there, but not
> RunTests.class. A search for RunTests with any (or no) extension in the
> 1.14.x tree gives these two RunTests.java (not .class) files:
> 
> $ find . -name RunTests\*
> ./subversion/bindings/javahl/tests/org/apache/subversion/javahl/RunTests.java
> ./subversion/bindings/javahl/tests/org/tigris/subversion/javahl/RunTests.java
> 
> Forgive me if this is something obvious, but I know almost nothing about
> the Java ecosystem. :-)
> 
> I'll have to continue this exploration tomorrow, but I'm at least glad
> to finally have made progress on a longstanding stumbling block.
> 
> Meanwhile, any clues would be appreciated!
> 
> [1] https://stackoverflow.com/a/29622512
> 
> Cheers,
> Nathan
> 

In my build script (in Subversion's tree at tools/dev/unix-build/) I pass the
following flags to Subversion's configure script if JavaHL is enabled:

        --enable-javahl=yes --with-jdk --with-jikes=no \
                --with-junit=$(DISTDIR)/$(JUNIT_DIST)
        
Did you also pass --with-junit?

For some reason I don't recall, my build script is fetching a self-hosted
junit JAR file from here: https://stsp.name/distfiles/junit-4.10.jar
(sha256: 36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a)

Given that you have self-compiled svn libraries in a non-standard prefix
you might also want to try setting LD_LIBRARY_PATH when invoking the tests.
Loading a wrong set of libsvn_*.so files would certainly cause issues, and the
ld.so runtime linker probably won't see JVM settings like -Djava.library.path.

  env LD_LIBRARY_PATH="/home/nathan/ramdrive/svndev/prefix/svn-1.14.x/lib" \
        make check-all-javahl

Hope this helps,
Stefan

Reply via email to