hg: bsd-port/bsd-port/hotspot: 2 new changesets

Kurt Miller kurt at intricatesoftware.com
Mon Jan 24 17:49:38 PST 2011


Hi Greg,

On 1/24/11 11:07 AM, Greg Lewis wrote:
> On Mon, Jan 24, 2011 at 07:56:23AM -0800, Sam Pullara wrote:
>> I'm still getting an error from the Makefile that I had to modify:
>>
>> make VM_SUBDIR=product                            generic_export
>> Makefile:375: target `/Xusage.txt' given more than once in the same rule.
>> make[3]: *** No rule to make target `/Volumes/Data/Projects/jsr335/bsd-port/build/bsd-amd64/hotspot/import/docs/platform/jvmti/jvmti.html', needed by `generic_export'.  Stop.
>> make[2]: *** [export_product] Error 2
>> make[1]: *** [hotspot-build] Error 2
>> make: *** [build_product_image] Error 2
>>
>> That line does actually reference it more than once.
> My MacOS X build only got as far as trying to verify the Gamma launcher
> (dies trying to find Queens.class) so I haven't gotten that far yet.

Ahh I know what the problem is, but I haven't had time to look into it
yet. I ran into the same issue on the ppc/zero build. The current apple
binaries are not able to bootstrap the next build. It has to do with the
change in the startup of the jvm. Previously it built a custom
LD_LIBRARY_PATH/DYLD_LIBRARY_PATH, exported it and forked again
with the env var set properly so all the jvm shared libs can be found.

I see in the repo history that the Apple build switched back and forth
between DYLD_LIBRARY_PATH and DYLD_FALLBACK_LIBRARY_PATH
due to lib name conflicts. However the use of DYLD_LIBRARY_PATH
and DYLD_FALLBACK_LIBRARY_PATH is not consistent within hotspot
and jdk trees. I suspect the jdk usage is the important one.

Now the jvm relies on rpath $ORIGIN to find jvm shared libs. However
for the Queens.class test in the hotspot build, the test script sets
DYLD_LIBRARY_PATH to point to the boot jvm. I believe the intent
here is to use the newly built libjvm.so/dylib with the bootstrap jdk
as a spot check for the new hotspot build.

I suspect it is now safe to use DYLD_LIBRARY_PATH in all places in
the Apple build. You may want to try that, but you will need to build
with Landon's Soylatte jdk first to get by this issue.

Regards,
-Kurt



More information about the bsd-port-dev mailing list