[Ohrrpgce] SVN: james/12449 Docker: ohrrpgce-build-env-wine now has mingw64 and euphoria

Ralph Versteegen teeemcee at gmail.com
Sat Sep 18 20:09:10 PDT 2021


On Sun, 19 Sept 2021 at 12:56, James Paige <Bob at hamsterrepublic.com> wrote:

> So now not only does fbc work in the wine docker container, so does
> mingw64 and euphoria
>
>  *wine scons hspeak* actually works, and produces a working hspeak.exe
> (tested with *wine hspeak*)
>
> compiling game and custom fails though. I see two problems so far.
>
> First, when scons executes reloadbasic/reloadbasic.py on Windows, this
> relies on the .py file type being associated with python, so scons seems to
> be directly invoking *reloadbasic/reloadbasic.py* and this works on Real
> windows because the filetype is associated with python.exe but on Wine,
> this type of file association does not seem to work, even when I make sure
> the association is set up with regedit.
>
> Editing the constructor for the rbasic_builder in Sconscript to *Builder
> (action = ["C:\Python39\python.exe", [File('reloadbasic/reloadbasic.py'),
> ...* does work and fixes the problem, so I just need to work out a clean
> way to do that without breaking other platforms.
>

Can't you just invoke python or python3 instead of C:\Python39\python.exe?
(I'm not sure whether we dropped python 2 support when you switched all the
#! lines to python3; maybe python2 would still work if invoked explicitly,
or maybe python3 will be called somewhere whether installed or not)


>
> The other error is this:
>
> os_windows.bas(107) error 20: Type mismatch, before ')' in 'dim fd as
> integer = _open_osfhandle(cast(integer, fhandle), 0)'
> os_windows.bas(714) warning 35(1): Mixing signed/unsigned operands
> os_windows.bas(784) warning 35(1): Mixing signed/unsigned operands
>
> Which makes me think I might have a mismatch in my FreeBasic/mingw64
> versions, but I don't really know yet, just a wild guess.
>

This error is thrown by fbc, so the mingw version isn't related.
I suspect that maybe you're trying to compile for win64/x86_64? If fbc
itself is a win64 .exe then it probably also defaults to win64 builds. If
it has 32-bit libraries then it can compile for x86 with scons arch=32, and
we should make that the default.
[Note: win64 informally is used to mean 64-bit windows, but win32 does not
mean 32-bit Windows, it means not-16-bit, and for example compilers such as
FB define __FB_WIN32__ (or equivalent in C) on 64-bit Windows]

I also see that you're downloading a 6-bit version of Euphoria for Windows,
that should be 32-bit instead (I assume Euphoria can't crosscompile on
Windows, just as it can't on Unix).


>
> ---
> James
>
>
>
>
>
> On Sat, Sep 18, 2021 at 6:55 PM <subversion at hamsterrepublic.com> wrote:
>
>> james
>> 2021-09-18 15:55:34 -0700 (Sat, 18 Sep 2021)
>> 60
>> Docker: ohrrpgce-build-env-wine now has mingw64 and euphoria
>> ---
>> U   wip/docker/ohrrpgce-build-env-wine/Dockerfile
>>
>> _______________________________________________
>> Ohrrpgce mailing list
>> ohrrpgce at lists.motherhamster.org
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>
> _______________________________________________
> Ohrrpgce mailing list
> ohrrpgce at lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20210919/9eadb35d/attachment.html>


More information about the Ohrrpgce mailing list