Fighting with building Open Watcom on Linux & compiling/linking. wcc compiles simple hello world, but wlink errors:
__STK is an undefined reference
printf_ is an undefined reference
cstart is an undefined reference
small_code is an undefined reference
[#]RetroComputing #VintageComputing
=> More informations about this toot | More toots from fozztexx@fozztexx.com
The instructions for building Open Watcom are pretty sparse. Just say "run build.sh and voila! Everything will just work!" Except that's not the case. #RetroComputing #VintageComputing
=> More informations about this toot | More toots from fozztexx@fozztexx.com
It seems like build.sh never built the libraries:
Warning! W1008: cannot open clibs.lib : No such file or directory
Warning! W1008: cannot open math87s.lib : No such file or directory
Warning! W1008: cannot open emu87.lib : No such file or directory
If I do a find in the open watcom source tree they definitely aren't there.
[#]RetroComputing #VintageComputing
=> More informations about this toot | More toots from fozztexx@fozztexx.com
I don't think Open Watcom actually works, at least not if you compile it yourself. That means the only way to use it is a pre-built binary, only available for DOS/Windows, which is not what I'm interested in. This is just a simple hello_world.c and should easily compile, not spew out errors complaining that libraries are missing and there's no main() function (“small_code is an undefined reference”).
[#]RetroComputing #VintageComputing
=> More informations about this toot | More toots from fozztexx@fozztexx.com
I think I might have figured it out! There’s a completely undocumented tribal knowledge secret you have to know: the libraries aren't part of Open Watcom. You have to get them from the original MS-DOS Watcom C compiler. 🤦🏻♂️
#RetroComputing #VintageComputing
=> More informations about this toot | More toots from fozztexx@fozztexx.com
Put an Open Watcom 1.9 "recipe" for building from source into a Dockerfile so that there's at least some kind of documentation for how to do it.
https://github.com/FozzTexx/open-watcom
[#]RetroComputing #VintageComputing
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@fozztexx make sure you put that in the Discord so people can easily find it in the future! 🤣
=> More informations about this toot | More toots from europlus@europlus.zone
@europlus https://mastodon.fozztexx.com/@fozztexx/113872871863716695
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@fozztexx 😍
=> More informations about this toot | More toots from europlus@europlus.zone
@fozztexx I compiled the forked 2.0 version myself for Macos (Intel, 64 bit) and it was shockingly straightforward
=> More informations about this toot | More toots from Btb@bitbang.social
@Btb compiling it isn't terribly hard, getting the compiler to actually work seems to be the hard part.
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@fozztexx really dumb question perhaps already answered, but I take it OpenWatcom 2 did not work?
I remember setting up OpenWatcom on Freedos because I needed to build the SYS command-line tool, finding that OpenWatcom 1.9 didn't quite work right and using 2.
Also, is this still in service of building tools targeting the 386 in Linux?
=> More informations about this toot | More toots from huronbikes@cyberplace.social
@huronbikes I started with OW 2 and couldn’t get it to link. I was then told by someone much more familiar with all of it that OW 1.9 is preferred because of issues with OW 2.
OW is for cross compiling things for 8086 DOS. I prefer to work under Linux than messing around with DOS emulation if I can, it’s just so much easier.
=> More informations about this toot | More toots from fozztexx@fozztexx.com This content has been proxied by September (3851b).Proxy Information
text/gemini