Skip to content
Detlef Riekenberg edited this page Jul 15, 2023 · 6 revisions

Collection of Notes, while porting the OpenWatcom codebase

Cross compile for Windows NT on MIPS

Run and compile on Linux PPC

I have remote access to a ppc64 machine running a Redhat Linux variant with a gcc 11 toolchain.
Since OpenWatcom can compile for PowerPC, i just fetched the source and started: OWVERBOSE=1 ./build.sh

  • As expected, that failed early:
**** Building the wpp bootstrap
=========== 22:52:19 ... bld/plusplus/i86 ============
======= 22:52:19 ... bld/plusplus/i86/binbuild =======
...
cc carve.obj
In file included from ../../h/carvecpp.h:41,
                 from <command-line>:
../../h/pcheader.h:119:2: error: #error missing host architecture check
  119 | #error missing host architecture check
      |  ^~~~~
Error(E42): Last command making (carve.obj) returned a bad status
Error(E02): Make execution terminated
<wmake -h -f ../binmake bootstrap=1> => non-zero return: 512
Build failed
builder bootstrap build error
  • With BUILDERT_OPT="-i", the error in bld/plusplus/i86 repeated for bld/plusplus/386 and bld/plusplus/axp

ToDo: There is nothing about bld/plusplus/ppc in the bootstrap build log

  • bug: patched local
  • Another build failure:
**** Building the wclass bootstrap
============== 22:57:56 ... bld/wclass ===============
========== 22:57:56 ... bld/wclass/binbuild ==========
c++ wabout.obj
In file included from ../../../bld/wclass//hpp/wobject.hpp:38,
                 from ../../../bld/wclass//hpp/wmetrics.hpp:37,
                 from ../../../bld/wclass//hpp/wwindow.hpp:38,
                 from ../../../bld/wclass//hpp/wdialog.hpp:36,
                 from ../../../bld/wclass//hpp/wabout.hpp:36,
                 from ../../../bld/wclass//cpp/wabout.cpp:33:
../../../bld/watcom/h/wstd.h:259:6: error: #error PR_xxx macro not enabled.
  259 |     #error PR_xxx macro not enabled.
      |      ^~~~~
../../../bld/watcom/h/wstd.h:377:6: error: #error Character set macro not enabled.
  377 |     #error Character set macro not enabled.
      |      ^~~~~
Error(E42): Last command making (wabout.obj) returned a bad status
Error(E02): Make execution terminated
<wmake -h -f ../binmake bootstrap=1> => non-zero return: 512
  • bug: patched local

  • send a pull request to fix both bugs:

    • bld/watcom/h/wstd.h was removed
    • Updated patch to fix bld/plusplus/h/pcheader.h was commited to master
  • Now the bootstrap build goes a lot further, but fails

======== 16:07:22 ... bld/causeway/cwc/dosi86 ========
wclppc -zq -D_BLDVER=1300 -D_CYEAR=2023 -bt=linux -l=linuxppc  -I"../../../../bld/watcom/h" ../../../../bld/watcom/c/mkcode.c -wx-wce=310-j-za99-s-ox-fo=.obj -fe=./mkcode.exe
sh: line 1: wclppc: command not found
Error(E14): Cannot execute (wclppc): command not found
Error(E42): Last command making (./mkcode.exe) returned a bad status
Error(E02): Make execution terminated
<pmake -d build          -h> => non-zero return: 512
Build failed
  • bug: The build system tries to use the release version of the "Watcom Compile and Link" frontend This can not work, as no release programs are build yet. (On my x86_64 Linux system, gcc is used to build mkcode.exe after entering causeway/cwc/dosi86)
Clone this wiki locally