[Vm-dev] linux minheadless pharo vm builds itimer or heartbeat?

Alistair Grant akgrant0710 at gmail.com
Sun Jul 21 10:04:55 UTC 2019


Hi Ronie,

Thanks for your update.  I haven't looked at the directory structure,
but the idea of using minheadless as the core makes sense.

Thanks again,
Alistair

On Thu, 18 Jul 2019 at 16:56, Ronie Salgado <roniesalg at gmail.com> wrote:
>
>
> Hi Alistair,
>
> That is a bug that I have to fix. Currently, it is only using and old version of the threaded heartbeat. This because of the intentional duplication of code that I did originally when doing the minheadless VM:
> 1.- Remove everything.
> 2.- Stub all of the platform specific code
> 3.- Compile and fix linking errors by adding the platform specific code.
>
> Now the missing step is to remove this code duplication by merging the code of the minheadless VM with the normal VM. The main problem of fixing this is that I will need to coordinate with the rest of the VM community on what is the best course of action. In my opinion, I think that the correct way for doing this is to use the minheadless VM as the core VM, and support the different windowing systems by refactoring the code in folders under the platforms/minheadless/
>
> Best regards,
> Ronie
>
> El jue., 18 jul. 2019 a las 10:11, Alistair Grant (<akgrant0710 at gmail.com>) escribió:
>>
>>
>> Hi All,
>>
>> Are Pharo linux minheadless builds itimer or threaded heartbeat?
>>
>> (all the listings below are extracts, not the complete file / page)
>>
>> The file list on bintray suggests that they are itimer:
>>
>> https://bintray.com/opensmalltalk/vm/cog/201907112020#files
>>
>> pharo.cog.spur+sdl2-cmake-minhdls_linux64x64_itimer_201907112020.tar.gz
>> 6 days ago 4.23 MB
>> pharo.cog.spur-cmake-minhdls_linux64x64_itimer_201907112020.tar.gz 6
>> days ago 4.22 MB
>>
>>
>> While travis indicates that only threaded heartbeat versions are built:
>>
>> https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/builds/553922116
>>
>> Setting environment variables from .travis.yml
>> $ export ARCH="linux64x64"
>> $ export FLAVOR="pharo.cog.spur"
>> $ export CPU_ARCH="x64"
>> $ export HEARTBEAT="threaded"
>> $ export BUILD_WITH_CMAKE="yes"
>>
>>
>> .travis.yml agrees with the travis output:
>>
>>   - stage: "Minheadless CMake builds"
>>   - env: ARCH="linux32x86" FLAVOR="pharo.cog.spur" CPU_ARCH="x86"
>> HEARTBEAT="threaded" BUILD_WITH_CMAKE="yes"
>>   - env: ARCH="linux64x64" FLAVOR="pharo.cog.spur" CPU_ARCH="x64"
>> HEARTBEAT="threaded" BUILD_WITH_CMAKE="yes"
>>
>>
>> And pack-vm.sh seems to be doing the right thing when determining how
>> to name the archive:
>>
>>   for dir in */; do
>>     if [[ "${ARCH}" == *"ARM"* || "${dir}" == *"ht/" ]]; then
>>       name="${IDENTIFIER}"
>>     else
>>       name="${IDENTIFIER_ITIMER}"
>>     fi
>>
>>
>> Unfortunately figuring out which VM is being used isn't helped by the
>> fact that "pharo --version" doesn't work with minheadless:
>>
>> $ ./pharo --version
>> Opening Image: --version
>> Opening Image: No such file or directory
>> Error opening image file: --version
>>
>>
>> Thanks,
>> Alistair


More information about the Vm-dev mailing list