[Vm-dev] nuSqueak source

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Tue Oct 27 17:43:30 UTC 2020


Hi Yoshiki,
what you could do is
1) revert the changes to sqPlatformSpecific.h (fseek, ftell) since we have
a working workaround now
2) just create a pull request from the github web interface (that's rather
easy)
It will be very easy for us to integrate (one click), and we'll keep your
authorship.

Le mar. 27 oct. 2020 à 18:02, Yoshiki Ohshima <Yoshiki.Ohshima at acm.org> a
écrit :

>
> I have a branch on a clone on github:
>
>
> https://github.com/yoshikiohshima/opensmalltalk-vm/tree/composition-input-fix-2020-Oct
>
> It might be easier to pull from this?  Separately, I'll mail you
> sqUnixX11.c.
>
> On Tue, Oct 27, 2020 at 9:58 AM Eliot Miranda <eliot.miranda at gmail.com>
> wrote:
>
>>
>> Hi Yoshiki,
>>
>>     on my Mac patch isn't smart enough to decode a git diff.  Can you
>> just email me your platforms/unix/vm-display-X11/sqUnixX11.c and I'll
>> integrate?  Thanks!
>>
>> On Tue, Oct 27, 2020 at 8:21 AM Yoshiki Ohshima <Yoshiki.Ohshima at acm.org>
>> wrote:
>>
>>>
>>> The previous one was just a hack but I think I found the real problem.
>>> It was about the variable symbolic, that gets symbolic key code *when* it
>>> is needed has to be zero'ed  out when it is not needed.
>>>
>>> The diff is attached... I'll a make pull request if that helps.
>>>
>>> On Sat, Oct 24, 2020 at 5:32 PM Yoshiki Ohshima <Yoshiki.Ohshima at acm.org>
>>> wrote:
>>>
>>>> For the /build.linuxARMv6/squeak.cog.spur/build.debug  case, a hack I
>>>> did was like this:
>>>>
>>>> diff --git a/platforms/unix/vm/sqPlatformSpecific.h
>>>> b/platforms/unix/vm/sqPlatformSpecific.h
>>>>
>>>> index 268593673..bfb57257b 100644
>>>>
>>>> --- a/platforms/unix/vm/sqPlatformSpecific.h
>>>>
>>>> +++ b/platforms/unix/vm/sqPlatformSpecific.h
>>>>
>>>> @@ -105,8 +105,8 @@ extern void sqFilenameFromString(char *uxName,
>>>> sqInt stNameIndex, int sqNameLeng
>>>>
>>>>  #undef sqFTruncate
>>>>
>>>>  /* sqFTruncate should return 0 on success, ftruncate does also */
>>>>
>>>>  #define        sqFTruncate(f,o) ftruncate(fileno(f), o)
>>>>
>>>> -#define ftell(s) ftello(s)
>>>>
>>>> -#define fseek(s,o,w) fseeko(s,o,w)
>>>>
>>>> +// #define ftell(s) ftello(s)
>>>>
>>>> +// #define fseek(s,o,w) fseeko(s,o,w)
>>>>
>>>>
>>>>  #if defined(__GNUC__)
>>>>
>>>>  # if !defined(VM_LABEL)
>>>>
>>>> diff --git a/spur64src/vm/cogit.c b/spur64src/vm/cogit.c
>>>>
>>>> index d62b05f40..e1c14a021 100644
>>>>
>>>> --- a/spur64src/vm/cogit.c
>>>>
>>>> +++ b/spur64src/vm/cogit.c
>>>>
>>>> @@ -6,6 +6,8 @@
>>>>
>>>>  # define SysV 1
>>>>
>>>>  #endif
>>>>
>>>>
>>>> +#define __arm64__
>>>>
>>>> +
>>>>
>>>>  #if defined(__arm64__) || defined(__aarch64__) ||
>>>> defined(__ARM_ARCH_ISA_A64) || defined(ARM64) || defined(ARMv8)
>>>>
>>>>
>>>> and this produced a runnable VM on Raspberry Pi4
>>>>
>>>> On Sat, Oct 24, 2020 at 4:41 PM Yoshiki Ohshima <
>>>> Yoshiki.Ohshima at acm.org> wrote:
>>>>
>>>>> And I tried a few more things by checking out the last release tag
>>>>> 202003021730 or try opensmalltalk-vm/build.linuxARMv6/squeak.cog.spur/build.debug
>>>>> but those attempts did not work. For the latter got this error:
>>>>>
>>>>> In file included from /usr/include/features.h:424,
>>>>>
>>>>>                  from /usr/include/pthread.h:21,
>>>>>
>>>>>                  from
>>>>> /home/pi/opensmalltalk-vm/platforms/unix/vm/sqPlatformSpecific.h:62,
>>>>>
>>>>>                  from
>>>>> /home/pi/opensmalltalk-vm/platforms/Cross/vm/sqAssert.h:16,
>>>>>
>>>>>                  from
>>>>> /home/pi/opensmalltalk-vm/platforms/unix/vm/aio.c:35:
>>>>>
>>>>> /usr/include/stdio.h:721:12: error: conflicting types for ‘fseeko’
>>>>>
>>>>>  extern int __REDIRECT (fseeko,
>>>>>
>>>>>             ^~~~~~~~~~
>>>>>
>>>>> In file included from
>>>>> /home/pi/opensmalltalk-vm/platforms/Cross/vm/sqAssert.h:16,
>>>>>
>>>>>                  from
>>>>> /home/pi/opensmalltalk-vm/platforms/unix/vm/aio.c:35:
>>>>>
>>>>> /home/pi/opensmalltalk-vm/platforms/unix/vm/sqPlatformSpecific.h:109:22:
>>>>> note: previous declaration \
>>>>>
>>>>> of ‘fseeko’ was here
>>>>>
>>>>>  #define fseek(s,o,w) fseeko(s,o,w)
>>>>>
>>>>>                       ^~~~~~
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Oct 24, 2020 at 1:59 PM Yoshiki Ohshima <
>>>>> Yoshiki.Ohshima at acm.org> wrote:
>>>>>
>>>>>> Hi Eliot,
>>>>>>
>>>>>> For build.linux64ARMv8/squeak.cog.spur/build.debug, i get the
>>>>>> following error. I think I followed the steps in the instructions,
>>>>>> including running updateSCCSVersion and mvm. How can I fix it?
>>>>>>
>>>>>> /home/pi/opensmalltalk-vm/spur64src/vm/cogit.c:22:3: error: #error As
>>>>>> yet no Cogit implementation appears to exist for your platform.
>>>>>>
>>>>>>  # error As yet no Cogit implementation appears to exist for your
>>>>>> platform.
>>>>>>
>>>>>>    ^~~~~
>>>>>>
>>>>>> /home/pi/opensmalltalk-vm/spur64src/vm/cogit.c:23:3: error: #error
>>>>>> Consider implementing it, starting by adding a subclass of
>>>>>> CogAbstractInstruction.
>>>>>>
>>>>>>  # error Consider implementing it, starting by adding a subclass of
>>>>>> CogAbstractInstruction.
>>>>>>
>>>>>>    ^~~~~
>>>>>>
>>>>>> make[1]: *** [Makefile:207: cogit.o]
>>>>>>
>>>>>> On Wed, Oct 21, 2020 at 10:21 AM Eliot Miranda <
>>>>>> eliot.miranda at gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>> Hi Yoshiki,
>>>>>>>
>>>>>>> On Wed, Oct 21, 2020 at 10:14 AM Yoshiki Ohshima <
>>>>>>> Yoshiki.Ohshima at acm.org> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I heard that people got a new problem in inputting Japanese text
>>>>>>>> into Scratch 1.4 running on Raspberry Pi OS after, or around the version
>>>>>>>> 2020-08-20. I would like to take a look at it but it might involve
>>>>>>>> recompiling and generating  the VM with debugging info.  Last time I looked
>>>>>>>> into it was years and years ago and I need to basically make a fresh start.
>>>>>>>>
>>>>>>>> Is the process of making NuSqeauk VM For Raspberry Pi up to date
>>>>>>>> and straightforward? Can people point me to the right point to start?
>>>>>>>>
>>>>>>>
>>>>>>> Making a Cog VM for Raspberry pi is straight-forward.  Clone
>>>>>>> opensmalltalk-vm.  cd to build.linux64ARMv8, read the HowToBuild, cd to build.linux64ARMv8/squeak.cog.spur/build.debug,
>>>>>>> or build.linux64ARMv8/squeak.stack.spur/build.debug, then run ./mvm
>>>>>>>
>>>>>>> _,,,^..^,,,_
>>>>>>> best, Eliot
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> -- Yoshiki
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> -- Yoshiki
>>>>>
>>>>>
>>>>
>>>> --
>>>> -- Yoshiki
>>>>
>>>>
>>>
>>> --
>>> -- Yoshiki
>>>
>>>
>>
>> --
>> _,,,^..^,,,_
>> best, Eliot
>>
>
>
> --
> -- Yoshiki
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20201027/c37b04bd/attachment-0001.html>


More information about the Vm-dev mailing list