On 2024-05-07 06:04, Jiangli Zhou wrote:
I did think I correctly changed every dynamic check that you had added
to a compile-time check, so it bewilders me somewhat when you say that
jvm.cfg is not needed in your branch.
Can you verify and confirm that the static launcher actually works in
your branch, if there is no "lib/jvm.cfg" present?
In my <path>/leyden/build/linux-x86_64-server-slowdebug/images/jdk directory:
$ mv lib/jvm.cfg lib/jvm.cfg.no_used
$ find . | grep jvm.cfg
./lib/jvm.cfg.no_used
$ bin/javastatic -cp <my_jar> HelloWorld
HelloWorld
I was very much mislead by this. I was sure I hade made some mistake
when I picked out the changes you have made for static builds (and
removed all the other changes, e.g. for the hermetic jar files), since
you said this worked for you. I have been scrutinizing the difference
between your branch and mine, over and over again, without understanding
what the difference could be.
Finally I did what I should have done at the very beginning, and
actually tested building and running your branch.
It did not work either.
So why did you claim it worked? I kept digging, and I found out the
reason. You had indeed implemented a fix for this, but only on Linux. I
was testing on macOS. (It is also not implemented for Windows, but since
I'm still struggling to find a way to create proper static builds there
it is less of a problem for now.)
My branch worked just as well as your on Linux. I have now fixed so it
works on macOS too. With this hurdle out of the way, I can get back to
doing real work on the patch. Unfortunately this detour took far too
much time. :-(
/Magnus