OpenJDK 8 on OS/X and XCode 4.

Henri Gomez henri.gomez at gmail.com
Thu Nov 3 00:53:10 PDT 2011


Hi to all,

I'd like to provide OpenJDK 8 with MLVM to OS/X users as I'm doing for
month with OpenJDK 7 on http://code.google.com/p/openjdk-osx-build/.

I'm trying to build it using Stephen scripts
(https://gist.github.com/243072) for now but I still can't get it
built :


	    /Users/henri/Downloads/openjdk8/mlvm/sources/ALT_COMPILER_PATH/g++
-m64   -Wl,-install_name, at rpath/libjvm.dylib -dynamiclib
-compatibility_version 1.0.0 -current_version 1.0.0 -fPIC
                   \
		        -Xlinker -rpath -Xlinker @loader_path/. -Xlinker -rpath
-Xlinker @loader_path/.. -Xlinker -install_name -Xlinker
@rpath/libjvm.dylib -o libjvm.dylib abstractCompiler.o accessFlags.o
ad_x86_64.o ad_x86_64_clone.o ad_x86_64_expand.o ad_x86_64_format.o
ad_x86_64_gen.o ad_x86_64_misc.o ad_x86_64_peephole.o
ad_x86_64_pipeline.o adaptiveSizePolicy.o addnode.o
adjoiningGenerations.o adjoiningVirtualSpaces.o
advancedThresholdPolicy.o ageTable.o allocation.o allocationStats.o
aprofiler.o arguments.o array.o arrayKlass.o arrayKlassKlass.o
arrayOop.o asPSOldGen.o asPSYoungGen.o asParNewGeneration.o
assembler.o assembler_bsd_x86.o assembler_x86.o atomic.o
attachListener.o attachListener_bsd.o barrierSet.o basicLock.o
bcEscapeAnalyzer.o biasedLocking.o binaryTreeDictionary.o bitMap.o
block.o blockOffsetTable.o bsd_x86_64.o buildOopMap.o bytecode.o
bytecodeHistogram.o bytecodeInfo.o bytecodeInterpreter.o
bytecodeInterpreterWithChecks.o bytecodeInterpreter_x86.o
bytecodeStream.o bytecodeTracer.o bytecodes.o bytecodes_x86.o
c1_CFGPrinter.o c1_Canonicalizer.o c1_CodeStubs_x86.o c1_Compilation.o
c1_Compiler.o c1_Defs.o c1_FpuStackSim_x86.o c1_FrameMap.o
c1_FrameMap_x86.o c1_GraphBuilder.o c1_IR.o c1_Instruction.o
c1_InstructionPrinter.o c1_LIR.o c1_LIRAssembler.o
c1_LIRAssembler_x86.o c1_LIRGenerator.o c1_LIRGenerator_x86.o
c1_LinearScan.o c1_LinearScan_x86.o c1_MacroAssembler_x86.o
c1_Optimizer.o c1_Runtime1.o c1_Runtime1_x86.o c1_ValueMap.o
c1_ValueSet.o c1_ValueStack.o c1_ValueType.o c1_globals.o c2_globals.o
c2_init_x86.o c2compiler.o cSpaceCounters.o callGenerator.o callnode.o
cardTableExtension.o cardTableModRefBS.o cardTableRS.o cfgnode.o
chaitin.o chaitin_bsd.o ciArray.o ciArrayKlass.o ciCPCache.o
ciCallSite.o ciConstant.o ciConstantPoolCache.o ciEnv.o
ciExceptionHandler.o ciField.o ciFlags.o ciInstance.o
ciInstanceKlass.o ciInstanceKlassKlass.o ciKlass.o ciKlassKlass.o
ciMethod.o ciMethodBlocks.o ciMethodData.o ciMethodHandle.o
ciMethodKlass.o ciNullObject.o ciObjArray.o ciObjArrayKlass.o
ciObjArrayKlassKlass.o ciObject.o ciObjectFactory.o ciSignature.o
ciStreams.o ciSymbol.o ciType.o ciTypeArray.o ciTypeArrayKlass.o
ciTypeArrayKlassKlass.o ciTypeFlow.o ciUtilities.o classFileError.o
classFileParser.o classFileStream.o classLoader.o
classLoadingService.o classes.o classify.o cmsAdaptiveSizePolicy.o
cmsCollectorPolicy.o cmsGCAdaptivePolicyCounters.o cmsLockVerifier.o
cmsPermGen.o coalesce.o codeBlob.o codeBuffer.o codeCache.o
collectedHeap.o collectionSetChooser.o collectorCounters.o
collectorPolicy.o compactibleFreeListSpace.o compactingPermGenGen.o
compilationPolicy.o compile.o compileBroker.o compileLog.o
compiledIC.o compiledICHolderKlass.o compiledICHolderOop.o
compilerOracle.o compressedStream.o concurrentG1Refine.o
concurrentG1RefineThread.o concurrentGCThread.o concurrentMark.o
concurrentMarkSweepGeneration.o concurrentMarkSweepThread.o
concurrentMarkThread.o connode.o constMethodKlass.o constMethodOop.o
constantPoolKlass.o constantPoolOop.o constantTag.o copy.o coroutine.o
cpCacheKlass.o cpCacheOop.o cppInterpreter.o cppInterpreter_x86.o
debug.o debugInfo.o debugInfoRec.o debug_x86.o decoder.o decoder_bsd.o
defNewGeneration.o deoptimization.o depChecker_x86.o dependencies.o
dfa_x86_64.o dict.o dictionary.o dirtyCardQueue.o disassembler.o
divnode.o doCall.o domgraph.o dtraceAttacher.o dtraceJSDT.o
dtraceJSDT_bsd.o dump.o dump_x86_64.o elfFile.o elfStringTable.o
elfSymbolTable.o errorReporter.o escape.o events.o evmCompat.o
exceptionHandlerTable.o exceptions.o fieldDescriptor.o fieldType.o
filemap.o forte.o fprofiler.o frame.o frame_x86.o
freeBlockDictionary.o freeChunk.o freeList.o g1AllocRegion.o
g1BlockOffsetTable.o g1CollectedHeap.o g1CollectorPolicy.o
g1ErgoVerbose.o g1HRPrinter.o g1MMUTracker.o g1MarkSweep.o
g1MemoryPool.o g1MonitoringSupport.o g1RemSet.o
g1SATBCardTableModRefBS.o g1_globals.o gSpaceCounters.o
gcAdaptivePolicyCounters.o gcCause.o gcLocker.o gcNotifier.o
gcPolicyCounters.o gcStats.o gcTaskManager.o gcTaskThread.o gcUtil.o
gcm.o genCollectedHeap.o genMarkSweep.o genRemSet.o generateOopMap.o
generateOptoStub.o generation.o generationCounters.o generationSpec.o
globalDefinitions.o globals.o graphKit.o growableArray.o
hSpaceCounters.o handles.o hashtable.o heap.o heapDumper.o
heapInspection.o heapRegion.o heapRegionRemSet.o heapRegionSeq.o
heapRegionSet.o heapRegionSets.o histogram.o icBuffer.o icBuffer_x86.o
icache.o icache_x86.o idealGraphPrinter.o idealKit.o ifg.o ifnode.o
immutableSpace.o indexSet.o init.o instanceKlass.o
instanceKlassKlass.o instanceMirrorKlass.o instanceOop.o
instanceRefKlass.o intHisto.o interfaceSupport.o interp_masm_x86_64.o
interpreter.o interpreterRT_x86_64.o interpreterRuntime.o
interpreter_x86_64.o invocationCounter.o iterator.o java.o
javaAssertions.o javaCalls.o javaClasses.o jni.o jniCheck.o
jniFastGetField.o jniFastGetField_x86_64.o jniHandles.o
jniPeriodicChecker.o jvm.o jvm_bsd.o jvmtiClassFileReconstituter.o
jvmtiCodeBlobEvents.o jvmtiEnter.o jvmtiEnterTrace.o jvmtiEnv.o
jvmtiEnvBase.o jvmtiEnvThreadState.o jvmtiEventController.o
jvmtiExport.o jvmtiExtensions.o jvmtiGetLoadedClasses.o jvmtiImpl.o
jvmtiManageCapabilities.o jvmtiRawMonitor.o jvmtiRedefineClasses.o
jvmtiTagMap.o jvmtiThreadState.o jvmtiTrace.o jvmtiUtil.o klass.o
klassKlass.o klassOop.o klassVtable.o lcm.o library_call.o
linkResolver.o live.o loaderConstraints.o location.o locknode.o
loopPredicate.o loopTransform.o loopUnswitch.o loopnode.o loopopts.o
lowMemoryDetector.o machnode.o macro.o management.o markOop.o
markSweep.o matcher.o memRegion.o memnode.o memoryManager.o
memoryPool.o memoryService.o memprofiler.o methodComparator.o
methodDataKlass.o methodDataOop.o methodHandleWalk.o methodHandles.o
methodHandles_x86.o methodKlass.o methodLiveness.o methodOop.o
monitorChunk.o mulnode.o multnode.o mutableNUMASpace.o mutableSpace.o
mutex.o mutexLocker.o mutex_bsd.o nativeInst_x86.o nativeLookup.o
nmethod.o node.o numberSeq.o objArrayKlass.o objArrayKlassKlass.o
objArrayOop.o objectMonitor.o objectStartArray.o oop.o oopFactory.o
oopMap.o oopMapCache.o oopRecorder.o oopsHierarchy.o opcodes.o
orderAccess.o os.o osThread.o osThread_bsd.o os_bsd.o os_bsd_x86.o
os_posix.o ostream.o output.o parCardTableModRefBS.o
parGCAllocBuffer.o parMarkBitMap.o parNewGeneration.o
parallelScavengeHeap.o park.o parse1.o parse2.o parse3.o parseHelper.o
pcDesc.o pcTasks.o perf.o perfData.o perfMemory.o perfMemory_bsd.o
permGen.o phase.o phaseX.o placeholders.o port.o postaloc.o
preserveException.o privilegedStack.o promotionInfo.o
psAdaptiveSizePolicy.o psCompactionManager.o
psGCAdaptivePolicyCounters.o psGenerationCounters.o psMarkSweep.o
psMarkSweepDecorator.o psMemoryPool.o psOldGen.o psParallelCompact.o
psPermGen.o psPromotionLAB.o psPromotionManager.o psScavenge.o
psTasks.o psVirtualspace.o psYoungGen.o ptrQueue.o quickSort.o
referencePolicy.o referenceProcessor.o reflection.o reflectionUtils.o
reg_split.o regalloc.o register.o register_definitions_x86.o
register_x86.o regmask.o relocInfo.o relocInfo_x86.o relocator.o
resolutionErrors.o resourceArea.o restore.o rewriter.o rframe.o
rootnode.o runtime.o runtimeService.o runtime_x86_64.o safepoint.o
satbQueue.o scopeDesc.o serialize.o serviceThread.o set.o sharedHeap.o
sharedRuntime.o sharedRuntimeTrans.o sharedRuntimeTrig.o
sharedRuntime_x86_64.o signature.o simpleThresholdPolicy.o sizes.o
space.o spaceCounters.o spaceDecorator.o sparsePRT.o
specialized_oop_closures.o split_if.o stackMapFrame.o stackMapTable.o
stackValue.o stackValueCollection.o statSampler.o stringopts.o
stubCodeGenerator.o stubGenerator_x86_64.o stubRoutines.o
stubRoutines_bsd.o stubRoutines_x86_64.o stubs.o subnode.o superword.o
survRateGroup.o sweeper.o symbol.o symbolTable.o synchronizer.o
systemDictionary.o task.o taskqueue.o templateInterpreter.o
templateInterpreter_x86_64.o templateTable.o templateTable_x86_64.o
tenuredGeneration.o thread.o threadCritical_bsd.o threadLS_bsd_x86.o
threadLocalAllocBuffer.o threadLocalStorage.o threadService.o
thread_bsd_x86.o timer.o type.o typeArrayKlass.o typeArrayKlassKlass.o
typeArrayOop.o unhandledOops.o universe.o unsafe.o utf8.o vectornode.o
vectset.o verificationType.o verifier.o vframe.o vframeArray.o
vframe_hp.o virtualspace.o vmCMSOperations.o vmError.o vmError_bsd.o
vmGCOperations.o vmPSOperations.o vmStructs.o vmSymbols.o vmThread.o
vm_operations.o vm_operations_g1.o vm_version.o vm_version_bsd_x86.o
vm_version_x86.o vmreg.o vmreg_x86.o vtableStubs.o
vtableStubs_x86_64.o workgroup.o xmlstream.o yieldingWorkgroup.o -lm
-pthread;       \
	                                        \
	    rm -f libjvm.dylib.1; ln -s libjvm.dylib libjvm.dylib.1;
                        \
	    [ -f libjvm_g.dylib ] || { ln -s libjvm.dylib libjvm_g.dylib; ln
-s libjvm.dylib.1 libjvm_g.dylib.1; }; \
	}
Linking vm...
[ -f libsaproc_g.dylib ] || { ln -s libsaproc.dylib libsaproc_g.dylib; }
dsymutil libjvm.dylib
warning: no debug symbols in executable (-arch x86_64)
echo "Doing vm.make build:"
Doing vm.make build:
All done.
cd bsd_amd64_compiler2/fastdebug && ./test_gamma
openjdk full version "1.7.0-b147-20110923"
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
./test_gamma: line 13: ./gamma: No such file or directory
make[4]: *** [fastdebug] Error 127
make[3]: *** [generic_build2] Error 2
make[2]: *** [fastdebug] Error 2
make[1]: *** [hotspot-build] Error 2
make: *** [build_product_image] Error 2

My build environment is OSX 10.6.8, 64bits, XCode 4.0.1 and OpenJDK 7
from macosx-port.

I know some of you here are building it on OS/X and may have success.
Are you using XCode 4 or a previous one ?

Advices welcomed.


More information about the mlvm-dev mailing list