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