On 10/05/2012 9:46 PM, Henri Gomez wrote:
I just tried to build OSX in 32bits mode, providing ARCH=i386 and
DATA_MODEL=32 and build fail :
chmod +x test_gamma
touch bsd_amd64_compiler2/profiled
cd bsd_amd64_compiler2/product&& make " LP64=1 "
LP64=1 shows this is not actually a 32-bit build; as does the fact it is
using amd64.
ARCH=i386 is generally not the correct value for 32-bit x86 builds.
LIBARCH ends up as i386 but ARCH should be i586 (or i686) if I recall
correctly for hotspot. Trying to force a 32-bit build when the host
platform is 64-bit is a form of cross-compilation that doesn't presently
work for any OpenJDK architecture (the JDK requires different settings
to Hotspot).
David
-----
cd
/Users/henri/Documents/jenkins/data/jobs/openjdk-jdk7u-jdk7u/workspace/build/macosx-i386/hotspot/outputdir/bsd_amd64_compiler2/product/../generated;
cp
/Users/henri/Documents/jenkins/data/jobs/openjdk-jdk7u-jdk7u/workspace/hotspot/make/bsd/platform_amd64
/Users/henri/Documents/jenkins/data/jobs/openjdk-jdk7u-jdk7u/workspace/build/macosx-i386/hotspot/outputdir/bsd_amd64_compiler2/product/../generated/platform.current
make[8]: *** No rule to make target
`/Users/henri/Documents/jenkins/data/jobs/openjdk-jdk7u-jdk7u/workspace/hotspot/src/cpu/i386/vm/x86_64.ad',
needed by `../generated/adfiles/bsd_x86_64.ad'. Stop.
make[8]: *** Waiting for unfinished jobs....
make[7]: *** [ad_stuff] Error 2
make[6]: *** [product] Error 2
make[5]: *** [generic_build2] Error 2
make[4]: *** [product] Error 2
make[3]: *** [all_product_universal] Error 2
make[2]: *** [universal_product] Error 2
make[1]: *** [hotspot-build] Error 2
make: *** [build_product_image] Error 2
Windows, Linux and Solaris came with 32 and 64bits JVM (at least from
Oracle Java 7) but not OSX.
If universal 32/64bits single build couldn't be done (and it was in
macosx-port time), we should at least have a fun to build 32 and 64
bits JVM and provide 2 packages.
I spent some time digging in build process to bring back universal
mode and will eventually try to fix 32bits build failure for OSX but I
don't want to waste more time if these patches are not reviewed,
commented and applied if valid.
Cheers