RFR (S): 7178667: ALT_EXPORT_PATH does not export server jvm on macosx

Staffan Larsen staffan.larsen at oracle.com
Mon Jun 25 08:36:25 UTC 2012


>>> So, it sounds like when you rebuilt, everything was built into jre/lib/i386 and jre/lib/amd64, but never combined (or, in this case, just copied) into jre/lib, and therefore not found.
>> 
>> Yes. Or rather, only the client jvm was combined, but the client jvm isn't copied into the j2sdk-image on mac, so nothing was copied.
> 
> Which begs the question: if we only build 64-bit on OSX then how/why is client being built in the first place?

I should have said: "only the client jvm was _attempted_ to be combined". In fact, the client does not exist, but the universalize makefiles are written to handle client if it did exist. 

So what happened was: 
 - the product jvm was built
 - it was copied to the import jdk (into jre/lib/amd64/server/) by the generic_export target
 - the universalize makefile tried to take the client jvm and universalize it into jre/lib/client/ (notice that there is no amd64 directory level on mac)
 - the universalize makefile removes all {amd64,i386} directories

What should have happened:
 - the product jvm was built
 - it was copied to the import jdk (into jre/lib/amd64/server/) by the generic_export target
 - the universalize makefile makes a universal binary of any existing jvms (client or server)
 - the universalize makefile copies these jvms into jre/lib/{server,client}
 - the universalize makefile removes all {amd64,i386} directories

But because the targets weren't .PHONY, the third step above failed.

I hope that explains the problem in more detail. Who wants to be put down as reviewer?

Thanks,
/Staffan




More information about the build-dev mailing list