Ancestors

Toot

Written by FozzTexx on 2025-01-21 at 20:57

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

Descendants

Written by FozzTexx on 2025-01-21 at 20:58

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

Written by FozzTexx on 2025-01-21 at 20:59

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

Written by FozzTexx on 2025-01-22 at 02:20

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

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-22 at 04:01

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

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-22 at 16:08

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

Written by Jason Duerstock on 2025-01-21 at 21:57

@fozztexx Perhaps you want buildfull.sh instead?

=> More informations about this toot | More toots from jason_duerstock@oldbytes.space

Written by FozzTexx on 2025-01-21 at 21:59

@jason_duerstock Sure, can you send it to me?

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Jason Duerstock on 2025-01-21 at 22:05

@fozztexx https://github.com/GregorR/openwatcom/blob/master/buildfull.sh

=> More informations about this toot | More toots from jason_duerstock@oldbytes.space

Written by FozzTexx on 2025-01-22 at 00:29

@jason_duerstock That doesn't seem to work either. Messes things up so somehow building open watcom 1.9 relies on already having open watcom 2.0 installed.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Colin Cogle :verified: on 2025-01-22 at 03:55

@fozztexx My memory sucks, but I know I didn't compile my own OpenWatcom.

Still, I had weird issues compiling some C89-ified code for DOS. I have a fairly-simple app and I tried to compile for the tiny or small memory models, because a 48 KB binary on DOS sounds sacrilegious. Letting the compiler pick a memory model was the correct answer for me. Maybe you should try forcing it to large or huge.

I don't have an explanation, but that's happened to me.

One other thing I noticed, I couldn't pull a .c file from a sub-subdirectory. I had to change into that and pull files from a "cousin once removed" directory. That also makes no sense, but you're free to check my MAKE.BAT file for clues. https://github.com/rhymeswithmogul/aprs-weather-submit/blob/main/make.bat

[#]C #DOS #RetroComputing #OpenWatcom

=> More informations about this toot | More toots from colin@colincogle.name

Written by europlus :autisminf: on 2025-01-22 at 04:59

@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

Written by FozzTexx on 2025-01-22 at 16:09

@europlus https://mastodon.fozztexx.com/@fozztexx/113872871863716695

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by europlus :autisminf: on 2025-01-22 at 20:29

@fozztexx 😍

=> More informations about this toot | More toots from europlus@europlus.zone

Written by Brad Bell on 2025-01-22 at 07:36

@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

Written by FozzTexx on 2025-01-22 at 14:26

@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

Written by Andrew Golding on 2025-01-22 at 16:39

@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

Written by FozzTexx on 2025-01-22 at 16:50

@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

Written by .:/ DiSCATTe :. 💾 ᓚᘏᗢ on 2025-01-21 at 21:20

@fozztexx is this v2? ive only used the prebuilt on windows, usually theres like a folder for 286/386 etc targets.

=> More informations about this toot | More toots from discatte@digipres.club

Written by FozzTexx on 2025-01-21 at 21:24

@discatte Neither 1.9 or 2.0 works. I'm trying to target 8086.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by .:/ DiSCATTe :. 💾 ᓚᘏᗢ on 2025-01-21 at 21:57

@fozztexx hmm I recall this being mildly helpful at the time (just looking through my bookmarks) https://ptspts.blogspot.com/2020/04/openwatcom-exeprog.html

=> More informations about this toot | More toots from discatte@digipres.club

Written by FozzTexx on 2025-01-21 at 22:00

@discatte The problem is that open watcom is missing the libraries. (And who knows what else.)

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113868347595457515
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
609.646326 milliseconds
Gemini-to-HTML Time
4.181197 milliseconds

This content has been proxied by September (3851b).