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