Compiling Pharo VM used for P8
Hi, I'm trying (and failing) to (re)compile Pharo VM used for P8, more specifically this one (from `pharo -version): Date: Wed Feb 12 11:43:20 2020 CommitHash: 52202d8. I'm targeting linux on x86_64. Whether I use mvm (seems that it was used by Jenkins by then) or cmake I always end up having following errors (just a few, there're loads of them): /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: multiple definition of `debugCallbackInvokes'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: multiple definition of `checkForLeaks'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: multiple definition of `checkedPluginName'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: multiple definition of `checkAllocFiller'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: multiple definition of `breakLookupClassTag'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: first defined here Does anyone have an idea? Is there a more detailed description of build environment to use? Thanks! Jan
Hi Jan, could you share a link to the repo/commit youâre building? Have you tried with this tag? https://github.com/pharo-project/pharo-vm/tree/v8.6.1 G
El 1 sep. 2023, a las 14:32, Jan Vraný <Jan.Vrany@labware.com> escribió:
Hi,
I'm trying (and failing) to (re)compile Pharo VM used for P8, more specifically this one (from `pharo -version): Date: Wed Feb 12 11:43:20 2020 CommitHash: 52202d8. I'm targeting linux on x86_64.
Whether I use mvm (seems that it was used by Jenkins by then) or cmake I always end up having following errors (just a few, there're loads of them):
/usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: multiple definition of `debugCallbackInvokes'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: multiple definition of `checkForLeaks'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: multiple definition of `checkedPluginName'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: multiple definition of `checkAllocFiller'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: multiple definition of `breakLookupClassTag'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: first defined here
Does anyone have an idea? Is there a more detailed description of build environment to use?
Thanks! Jan
Hi, freshly downloaded zeroconf VM for P8 shows in `pharo -version`: Date: Wed Feb 12 11:43:20 2020 CommitHash: 52202d8. so I tried this exact commit from https://github.com/pharo-project/pharo-vm.git : commit 52202d80a407f05e9eb4bbd1001d21d913c4fc5b (tag: dev-7-20200212-2, origin/cog/dev-7) Author: Pablo Tesone <tesonep@gmail.com> Date: Wed Feb 12 11:43:20 2020 +0100 Adding B3D plugin dependencies Just now also tried v8.6.1 as you suggested (from the same repo): commit e829a1dabcea88556103ebe61f69e2a8fb1111ea (HEAD, tag: v8.6.1) Author: Pablo Tesone <tesonep@gmail.com> Date: Tue Oct 13 15:43:09 2020 +0200 Changing version to 8.6.1 using cmake: git clone ... pharo-vm cd pharo-vm mkdir build cd build cmake .. make but got a bunch of errors too (though very different) - see below. Jan ... NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFWrongFill is Undeclared) NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFEngineStopped is Undeclared) NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFWorkTooBig is Undeclared) NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFBadPoint is Undeclared) NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFEntityLoadFailed is Undeclared) MetacelloNotification: Loaded -> VMMaker-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache MetacelloNotification: Loading -> VMMakerCompatibilityForPharo6-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache Warning: This package depends on the following classes: EncoderForV3 You must resolve these dependencies before you will be able to load these definitions: EncoderForV3>>#extensionsAt:in:into: MCPackageLoader(Object)>>notify: MCPackageLoader>>warnAboutDependencies MCPackageLoader>>validate MCPackageLoader>>loadWithNameLike: MCVersionLoader>>basicLoadWithNameLike: [ ... adBlock goferLoad answers resolvedReference ...etc... [:bar | bar value: 1. aBlock value. bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPharoCommonPlatform)>>do:displaying: in Block: [:bar |... *** Warning: Warning: This package depends on the following classes: EncoderForV3 You must resolve these dependencies before you will be able to load these definitions: EncoderForV3>>#extensionsAt:in:into: NewUndeclaredWarning: OCAbstractScope>>childrenDo:after:suchThat: (children is Undeclared) NewUndeclaredWarning: OCAbstractScope>>childrenDo:after:suchThat: (children is Undeclared) NewUndeclaredWarning: OCAbstractScope>>childrenDo:suchThat: (children is Undeclared) NewUndeclaredWarning: OCAbstractScope>>childrenDo:suchThat: (children is Undeclared) NewUndeclaredWarning: DisplayText class>>text: (DefaultTextStyle is Undeclared) ... MetacelloNotification: Loading -> FileAttributesPlugin-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache MetacelloNotification: Loaded -> FileAttributesPlugin-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache MetacelloNotification: ...finished baseline [ 13%] Generating VM files for flavour: CoInterpreterWithQueueFFI Generating #CoInterpreterWithQueueFFI in '/home/jv/Projects/Pharo/pharo-vm/build'... NewUndeclaredWarning: VMMaker class>>forceNewFileNamed: (MultiByteFileStream is Undeclared) NewUndeclaredWarning: VMMaker class>>forceNewFileNamed: (MultiByteFileStream is Undeclared) #MultiByteFileStream is missing, and does not understand #forceNewFileNamed: UndefinedObject>>doesNotUnderstand: #forceNewFileNamed: VMMaker class>>forceNewFileNamed: CCodeGeneratorGlobalStructure(CCodeGenerator)>>storeHeaderOnFile:contents: ... FullBlockClosure(BlockClosure)>>on:do: PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument: Syntax Error on line 1: 'Variable or expression expected' ========================================================= 1: er frameCallerSP: (interpreter frameCallerFP: interpreter framePointer). _^_ 2: aContext := interpreter ensureFrameIsMarried: framePointerToMarry SP: stackPointerToMarry. 3: interpreter externalDivorceFrame: framePointerToMarry andContext: aContext. 4: expectedDivorcedContext := interpreter frameCallerContext: interpreter stackPage baseFP. 5: 6: self assert: expectedDivorcedContext equals: aContext. make[2]: *** [CMakeFiles/PharoVMCore.dir/build.make:74: generated/vm/src/cogit.c] Error 1 make[1]: *** [CMakeFiles/Makefile2:291: CMakeFiles/PharoVMCore.dir/all] Error 2 make: *** [Makefile:156: all] Error 2 On Mon, 2023-09-04 at 10:47 +0200, Guillermo Polito wrote:
Hi Jan,
could you share a link to the repo/commit youâre building?
Have you tried with this tag?
https://github.com/pharo-project/pharo-vm/tree/v8.6.1
G
El 1 sep. 2023, a las 14:32, Jan Vraný <Jan.Vrany@labware.com> escribió:
Hi,
I'm trying (and failing) to (re)compile Pharo VM used for P8, more specifically this one (from `pharo -version): Date: Wed Feb 12 11:43:20 2020 CommitHash: 52202d8. I'm targeting linux on x86_64.
Whether I use mvm (seems that it was used by Jenkins by then) or cmake I always end up having following errors (just a few, there're loads of them):
/usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: multiple definition of `debugCallbackInvokes'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: multiple definition of `checkForLeaks'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: multiple definition of `checkedPluginName'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: multiple definition of `checkAllocFiller'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: multiple definition of `breakLookupClassTag'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: first defined here
Does anyone have an idea? Is there a more detailed description of build environment to use?
Thanks! Jan
Hi, I'm still wondering if anyone managed to compile P8 VM on her/his Linux machine? Thanks! Jan On Mon, 2023-09-04 at 11:12 +0100, Jan Vrany wrote:
Hi,
freshly downloaded zeroconf VM for P8 shows in `pharo -version`:
Date: Wed Feb 12 11:43:20 2020 CommitHash: 52202d8.
so I tried this exact commit from https://github.com/pharo-project/pharo-vm.git :
commit 52202d80a407f05e9eb4bbd1001d21d913c4fc5b (tag: dev-7-20200212-2, origin/cog/dev-7) Author: Pablo Tesone <tesonep@gmail.com> Date: Wed Feb 12 11:43:20 2020 +0100
Adding B3D plugin dependencies
Just now also tried v8.6.1 as you suggested (from the same repo):
commit e829a1dabcea88556103ebe61f69e2a8fb1111ea (HEAD, tag: v8.6.1) Author: Pablo Tesone <tesonep@gmail.com> Date: Tue Oct 13 15:43:09 2020 +0200
Changing version to 8.6.1
using cmake:
git clone ... pharo-vm cd pharo-vm mkdir build cd build cmake .. make
but got a bunch of errors too (though very different) - see below.
Jan
... NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFWrongFill is Undeclared) NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFEngineStopped is Undeclared) NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFWorkTooBig is Undeclared) NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFBadPoint is Undeclared) NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFEntityLoadFailed is Undeclared) MetacelloNotification: Loaded -> VMMaker-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache MetacelloNotification: Loading -> VMMakerCompatibilityForPharo6-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache Warning: This package depends on the following classes: EncoderForV3 You must resolve these dependencies before you will be able to load these definitions: EncoderForV3>>#extensionsAt:in:into:
MCPackageLoader(Object)>>notify: MCPackageLoader>>warnAboutDependencies MCPackageLoader>>validate MCPackageLoader>>loadWithNameLike: MCVersionLoader>>basicLoadWithNameLike: [
...
adBlock goferLoad answers resolvedReference ...etc... [:bar | bar value: 1. aBlock value. bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPharoCommonPlatform)>>do:displaying: in Block: [:bar |...
*** Warning: Warning: This package depends on the following classes: EncoderForV3 You must resolve these dependencies before you will be able to load these definitions: EncoderForV3>>#extensionsAt:in:into:
NewUndeclaredWarning: OCAbstractScope>>childrenDo:after:suchThat: (children is Undeclared) NewUndeclaredWarning: OCAbstractScope>>childrenDo:after:suchThat: (children is Undeclared) NewUndeclaredWarning: OCAbstractScope>>childrenDo:suchThat: (children is Undeclared) NewUndeclaredWarning: OCAbstractScope>>childrenDo:suchThat: (children is Undeclared) NewUndeclaredWarning: DisplayText class>>text: (DefaultTextStyle is Undeclared)
...
MetacelloNotification: Loading -> FileAttributesPlugin-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache MetacelloNotification: Loaded -> FileAttributesPlugin-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache MetacelloNotification: ...finished baseline [ 13%] Generating VM files for flavour: CoInterpreterWithQueueFFI Generating #CoInterpreterWithQueueFFI in '/home/jv/Projects/Pharo/pharo-vm/build'... NewUndeclaredWarning: VMMaker class>>forceNewFileNamed: (MultiByteFileStream is Undeclared) NewUndeclaredWarning: VMMaker class>>forceNewFileNamed: (MultiByteFileStream is Undeclared) #MultiByteFileStream is missing, and does not understand #forceNewFileNamed: UndefinedObject>>doesNotUnderstand: #forceNewFileNamed: VMMaker class>>forceNewFileNamed: CCodeGeneratorGlobalStructure(CCodeGenerator)>>storeHeaderOnFile:contents:
...
FullBlockClosure(BlockClosure)>>on:do: PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument: Syntax Error on line 1: 'Variable or expression expected' ========================================================= 1: er frameCallerSP: (interpreter frameCallerFP: interpreter framePointer). _^_ 2: aContext := interpreter ensureFrameIsMarried: framePointerToMarry SP: stackPointerToMarry. 3: interpreter externalDivorceFrame: framePointerToMarry andContext: aContext. 4: expectedDivorcedContext := interpreter frameCallerContext: interpreter stackPage baseFP. 5: 6: self assert: expectedDivorcedContext equals: aContext. make[2]: *** [CMakeFiles/PharoVMCore.dir/build.make:74: generated/vm/src/cogit.c] Error 1 make[1]: *** [CMakeFiles/Makefile2:291: CMakeFiles/PharoVMCore.dir/all] Error 2 make: *** [Makefile:156: all] Error 2
On Mon, 2023-09-04 at 10:47 +0200, Guillermo Polito wrote:
Hi Jan,
could you share a link to the repo/commit youâre building?
Have you tried with this tag?
https://github.com/pharo-project/pharo-vm/tree/v8.6.1
G
El 1 sep. 2023, a las 14:32, Jan Vraný <Jan.Vrany@labware.com> escribió:
Hi,
I'm trying (and failing) to (re)compile Pharo VM used for P8, more specifically this one (from `pharo -version): Date: Wed Feb 12 11:43:20 2020 CommitHash: 52202d8. I'm targeting linux on x86_64.
Whether I use mvm (seems that it was used by Jenkins by then) or cmake I always end up having following errors (just a few, there're loads of them):
/usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: multiple definition of `debugCallbackInvokes'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: multiple definition of `checkForLeaks'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: multiple definition of `checkedPluginName'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: multiple definition of `checkAllocFiller'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: first defined here /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: multiple definition of `breakLookupClassTag'; vm/vm.a(gcc3x- cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: first defined here
Does anyone have an idea? Is there a more detailed description of build environment to use?
Thanks! Jan
participants (2)
-
Guillermo Polito -
Jan Vraný