>>> 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

Reply via email to