-
Notifications
You must be signed in to change notification settings - Fork 160
Porting Notes
Detlef Riekenberg edited this page Jul 16, 2023
·
6 revisions
Some pathes where recently added to the source tree
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 inbld/plusplus/i86
repeated forbld/plusplus/386
andbld/plusplus/axp
- 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 enteringcauseway/cwc/dosi86
) -
To be continiued ...
- I tried a well known "helloworld.c" ...
#include <stdio.h>
int main(void)
{
puts("Hello World\n");
return 0;
}
- .. with the bootstrap version of the posix style compiler driver:
-
bowcc
calls the correct compiler (bwccppc
), but compilation failed
bwccppc -v -I$WATCOM/lh ./helloworld.c
Open Watcom C PowerPC Optimizing Compiler
Version 2.0 beta Jul 15 2023 22:57:58
Copyright (c) 2002-2023 The Open Watcom Contributors. All Rights Reserved.
Portions Copyright (c) 1984-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
$WATCOM/lh/sys/types.h(189): Error! E1091: unknown platform
$WATCOM/lh/sys/types.h(195): Error! E1055: Unable to open 'arch//sys/types.h'
$WATCOM/lh/sys/types.h(196): Error! E1055: Unable to open 'arch//sys/sysmacros.h'
./helloworld.c: 11 lines, included 1113, 0 warnings, 3 errors
- Next try is a super simple "empty.c":
int main(void)
{
return 0;
}
- Yeah: The object file
empty.o
is created, ... - ...but linking fails:
Warning! W1107: file __owcc00.lnk: line(2): undefined system name: linuxppc
loading object files
searching libraries
Warning! W1008: cannot open math.lib : No such file or directory
Warning! W1008: cannot open clib.lib : No such file or directory
Error! E2028: _cstart_ is an undefined reference
Error! E2028: .toc is an undefined reference
Warning! W1023: no starting address found, using 00000000
Error! E2044: exported symbol _cstart_ not found
Error! E2044: exported symbol .toc not found
Error: Linker returned a bad status
- To be continiued ...
- Welcome
- Building
- Open Watcom Documentation
- Notes
- Relicensing effort
- Debugging
- OW tools usage Overview
- OW tools usage with CMake
- OW tools usage with Visual Studio Code
- Open Watcom 1.9 Wiki
OW Development
WGML Development
- WGML
- Augmented Devices
- Binary Device Files
- Common File Blocks
- COP Files
- Device File Blocks
- Device Function Language
- Device Function Notes
- Device Functions
- Directory File Format
- Drawing Boxes
- Driver File Blocks
- File and Directory Names
- Font File Blocks
- Fonts
- GML Tag Notes
- Keyword Statistics
- Macros and User Defined Tags
- Meta Data
- Page Layout Subsystem
- Search Paths
- Sequencing
- System Symbol Notes
- Tabs and Tabbing
- whpcvt Utility interaction