open-watcom / open-watcom-v2

Open Watcom V2.0 - Source code repository, Wiki, Latest Binary build, Archived builds including all installers for download.
Other
973 stars 159 forks source link

SUSE Linux/Tumbleweed build doese not work #1339

Closed LowLevelMahn closed 1 week ago

LowLevelMahn commented 2 weeks ago

latest Tumbleweed with all build essentials + gcc 14.2 + dosbox installed

  1. git clone https://github.com/open-watcom/open-watcom-v2.git

(didn't copied the setvars.sh)

diff --git a/setvars.sh b/setvars.sh
index d011833882..cfb5ad7024 100755
--- a/setvars.sh
+++ b/setvars.sh
@@ -34,12 +34,12 @@ export OWDOCBUILD=0
 # It doesn't requires appropriate DOSBOX emulator
 # and suppress documentation build

-# export OWNOWGML=1
+export OWNOWGML=1

 # Set OWGUINOBUILD variable to 1 to suppress tools GUI version build
 # If it is used then only tools character mode version is build

-# export OWGUINOBUILD=1
+export OWGUINOBUILD=1

 # Set OWNOBUILD variable to list of OW projects to suppress their build
 # Example export OWNOBUILD=ide browser dlgprs
@@ -72,7 +72,7 @@ export OWDISTRBUILD=0
 # if DOSBOX emulator is used then OWDOSBOX variable must be set
 # Uncoment and set OWDOSBOX variable bellow to point to DOSBOX emulator executable

-# export OWDOSBOX=dosbox
+export OWDOSBOX=dosbox
  1. ./setvars.sh
  2. ./build.sh

returns

Open Watcom build environment (GCC version=14)
wmake bootstrap build error
LowLevelMahn commented 2 weeks ago

still problems - because Tumblewee (also Fedora) uses dosbox-staging as default - dosbox aborts somewhere in between - need first ask the dosbox-staging guys to fix that - will test it later then again

jmalak commented 2 weeks ago

OK. If it needs some special setup we can do it similar for OSX which need the changes.

LowLevelMahn commented 2 weeks ago

Issue on dosbox-staging: https://github.com/dosbox-staging/dosbox-staging/issues/3984

jmalak commented 2 weeks ago

Anyway you can try it with OWNOWGML=1 and all remaining setup as default. It should suppress build only if it needs WGML tool (documentation and a few tools) that it should build most of OW build including GUI tools.

LowLevelMahn commented 2 weeks ago

Anyway you can try it with OWNOWGML=1 and all remaining setup as default. It should suppress build only if it needs WGML tool (documentation and a few tools) that it should build most of OW build including GUI tools.

i'll try that and give feedback

so open bugs:

Tumbleweed: the c99 bug and the problem with the problem default dosbox-staging Fedora: only the problem default dosbox-staging

nothing you can fix

jmalak commented 2 weeks ago

We have temporary workaround for both. c99 bug - change build script DOSBOX - suppress use of wgml at all

LowLevelMahn commented 2 weeks ago

regarding the dosbox-staging fail

is it possible to just build that part so the dosbox-staging devs can only build that for testing? there are two screenshots showing the problem part while building: https://github.com/dosbox-staging/dosbox-staging/issues/3984

both at bld/browser/nt386

i tried

. ./my_set_vars.sh
./build.sh preboot
cd bld/browser/
builder build

but that fails with

**** BUILD rule
=== 12:59:27 /home/test/temp/open-watcom-v2_dev/open-watcom-v2/bld/browser ====
= 12:59:27 /home/test/temp/open-watcom-v2_dev/open-watcom-v2/bld/browser/gen ==
dlgprs ../res/dlg/dgenums.dlg ../bnd/dgenums.bnd dgenums.gh dgenums.gpp
sh: line 1: dlgprs: command not found
Error(E14): Cannot execute (dlgprs): command not found
Error(E42): Last command making (dgenums.gpp) returned a bad status
Error(E02): Make execution terminated
<pmake -d build          -h> => non-zero return: 512
Build failed
LowLevelMahn commented 2 weeks ago

OWNOWGML=1 works on Tumbleweed - not dosbox gets called - not build error

jmalak commented 2 weeks ago

Yes, it is possible. bellow is minimal steps to reproduce call to DOSBOX with minimal OW build.

Build minimal build system from scratch on Linux It builds a few tools necessary for test sample, not need repeat if already done

reproduce call to DOSBOX by

if need repeat then cleanup docs/ps by

then you can repeat call to DOSBOX by wmake command above

LowLevelMahn commented 2 weeks ago

Yes, it is possible. bellow is minimal steps to reproduce call to DOSBOX with minimal build.

works!

any idea how to see exactly the call to dosbox - to get a minimal example

jmalak commented 2 weeks ago

setup OWWGMLDEBUG=1 it should show DOSBOX Window and wait for EXIT command to continue

anyway I found out simpler example

Build minimal build system from scratch on Linux It builds a few tools necessary for test sample, not need repeat if already done

reproduce call to DOSBOX by

if need repeat then cleanup docs/ps by

then you can repeat call to DOSBOX by wmake command above

LowLevelMahn commented 2 weeks ago

i have found it

you set set SDL_VIDEODRIVER=dummy before calling dosbox

in open-watcom-v2/build/mif/wgmlcmd.mif line 75

that don't like stagings SDL2 - i'll try set SDL_VIDEODRIVER=offscreen

jmalak commented 2 weeks ago

Sorry I forgot how to see commands.

Change command by adding verbose value

wmake hbook=cgdoc verbose=1

jmalak commented 2 weeks ago

SDL_VIDEODRIVER=dummy is legal value and works before on any platform

LowLevelMahn commented 2 weeks ago

SDL_VIDEODRIVER=dummy is legal value and works before on any platform

i know - maybe its due to dosbox staging switch to SDL2 instead of SDL1 with dosbox vanilla

running dosbox-staging from console with

SDL_VIDEODRIVER=dummy dosbox

gives the same error

SDL_VIDEODRIVER=offscreen dosbox

works but not when i change that in the build/mif/wgmlcmd.mif

jmalak commented 2 weeks ago

offscreen is not driver, but init attribute You need to comment out both set SDL_VIDEODRIVER=dummy lines

LowLevelMahn commented 2 weeks ago

i changed the wgmlcmd.mif line with =dummy into =offscreen - but that gets someway ignored? image

then i did a ./clean.sh restarted the console an did

. ./my_setvars.sh ./build.sh preboot cd docs/ps wmake hbook=cgdoc verbose=1

still prints set SDL_VIDEODRIVER=dummy

image

jmalak commented 2 weeks ago

be careful there are 2 definitions you need to change both

LowLevelMahn commented 2 weeks ago

be careful there are 2 definitions you need to change both

found "both"

works with SDL_VIDEODRIVER=offscreen and commenting them out

LowLevelMahn commented 2 weeks ago

SDL_VIDEODRIVER=offscreen works also for Ubuntu,SDL1 using DOSBox version 0.74-3

jmalak commented 2 weeks ago

SDL_VIDEODRIVER=offscreen doesn't work for "pure" old DOSBOX I get

dosbox -conf "/home/jiri/ow2a/build/dosbox.cfg"  -c "mount c \"/home/jiri/ow2a\"" -c "c:\docs\ps\wgmlb.bat"

DOSBox version 0.74-3 Copyright 2002-2019 DOSBox Team, published under GNU GPL.

Exit to error: Can't init SDL No available video device

Error(E42): Last command making (run_wgml;cgdoc.ps) returned a bad status Error(E02): Make execution terminated

LowLevelMahn commented 2 weeks ago

it depends on the SDL1 or system ability

i try to find out what is compatible with SDL1 and SDL2 - dummy or none would be best

offscreen also does not work with WSL

jmalak commented 2 weeks ago

I submit change fe858dfc to try to use default video setup instead of dummy It could help you with DOSBOX staging which is not fully compatible with "pure" DOSBOX

LowLevelMahn commented 2 weeks ago

that works - with poping up windows - but ok so far

jmalak commented 2 weeks ago

I am sorry but I must return DOSBOX setup back because we need to run DOSBOX on background without terminal. It is reason for SDL_VIDEODRIVER=dummy that DOSBOX not need terminal any way. As soon as some driver is used then it requires interactive session that doesn't exists.

If you want to use DOSBOX staging then you need to ask to fix it to work properly without terminal with SDL_VIDEODRIVER=dummy. It looks like they destroy this functionality. We support standard DOSBOX 0.7x versions which are stable and support this mode correctly.

LowLevelMahn commented 2 weeks ago

I am sorry but I must return DOSBOX setup back because we need to run DOSBOX on background without terminal.

no problem - having poping up windows all the while is stressy or even not possible when not gfx is availabe

LowLevelMahn commented 1 week ago

thanks for all the help - i will add another Tumbleweed part and Windows builds part to the wiki - with all the infos i got now