Author Topic: Software Wishlist for 2023  (Read 14744 times)

Andi B.

  • Hero Member
  • *****
  • Posts: 817
  • Karma: +11/-2
    • View Profile
Re: Software Wishlist for 2023
« Reply #15 on: January 07, 2023, 07:31:02 pm »
Quote
Should I use GCC (in absence of clang, it's to only sane choice) or OW? well it depends to who you talk.
I don't think it depends on who you talk but on what you want to do. You also have to add to your list IBM VAC3.65/3.08.

A few thoughts about this from my side -
1) if you wanna port something from Linux -> yum install gcc, wlink and the other stuff from bww including libc(x) is your choice.
2) if you wanna start some simple C stuff from scratch - you may start with OpenWatcom and the IDE supplied including the debugger wd(w). But if you have some experience with gcc, of course you better go the 1) way
3) if you wanna write a device driver - probably OpenWatcom is your choice. Maybe you wanna use Davids driver samples for that. Or otherwise if you start with a DDK example you may need an older version of Watcom and/or MASM and/or ICC....
4) if you wanna contribute to some existing project - you don't have much choice. You may need gcc or VAC3.xx or Watcom or a mix of that.

For all of the above you may sometimes need or like to have idebug from the VAC3 or VAC4 environment or ICAT. But it depends. There are people out there who never want to use a debugger. Most of the time because they never knew a decent debugger like idebug or f.i. the debugers integrated in some mikrocontroller development environments. But...

Sum up, reality is more complex than can be handled by one unified solution.

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1323
  • Karma: +26/-0
    • View Profile
Re: Software Wishlist for 2023
« Reply #16 on: January 07, 2023, 08:13:56 pm »
...As a community, we need developers. People to back the work of Paul, David, the folks at BWW, etc. The very first thing new developers want is a friendly development environment.
...
There should be a single 'awesome ArcaOS' git(Hub,lab) with everything you need to get up to speed with a tested stable development kit. That means OpenWatcom 1.9 and gccand all the environment scripts sorted out and standardized, a modern editor... and I know someone can take a few hours to set up by themselves. Bullshit. It's just yack shaving and non-productive.
...
But I tell you the developer experience is currently very opaque, cumbersome and error-prone.
...

You have captured what has been the Achilles Heel of trying to get any DEV work done on our platform.

The old stuff (say VAC 3.08/3.65/4.0) has been largely abandoned (although it also seems like equally undeserved treatment), while the newer stuff (say latest GCC, etc.) isn't spelled out anywhere as to how it maps onto our OS/2 platform. I'm talking here stuff like: how does the IBM OS/2 Dev Toolkit mix with the generic GCC stuff? Should one keep these separate, or combined? How is RPM part of all this?

In summary: we have a minefield of a DEV environment! Who wants to take a trip through that when the "skull and crossbones" warning sign is staring you right in the face? Yeah...those who enjoy doing that sort of a thing (me included), but it makes for an insurmountable obstacle for everyone else.

Beyond this...even with all the right tools, etc, etc. being available, you still need someone to lend you that "helping hand". We get this here on the forum, but what would go extremely far would be having an 'OS/2 Dev Class' organized, where on let's say weekly basis we would all do an on-line session to plug away through some coding examples...basically, a modern-day on-line course!!!

This could tackle things like:
1) What IDE environments are available?
2) What compiler/library/runtime environments are availble?
3) What are the basic pre-reqs one must acquire before coming to the "big boys" table, that being: get some basic C/C++ experience, understand OS/2 pecularities such as "..xxx..."
4) Sample Project
5) Sample Project Debugging
6) ...you get the idea?

So until that happens we simply will not develop any extra DEV "bench strength", which will eventually kill the platform.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4742
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Software Wishlist for 2023
« Reply #17 on: January 07, 2023, 08:16:16 pm »
Hi

I think I can agree with SoundChaser.

Even if we can discuss and even agree on which tools and libraries to use, it should be wrote down somewhere. And since Arca Noae is the company selling ArcaOS, they have some authority to post the documentation and suggest things about ArcaOS modern development.

For example, for me is obvious that bww Libc should be used instead of EMX, but where is documented that?
It is not like forcing developers to use something, but to document a suggested standard of developent tools.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

ivan

  • Hero Member
  • *****
  • Posts: 1559
  • Karma: +17/-0
    • View Profile
Re: Software Wishlist for 2023
« Reply #18 on: January 07, 2023, 09:27:25 pm »
Another thing I would like to have is a reliable bluetooth driver.

SoundChaser

  • Newbie
  • *
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: Software Wishlist for 2023
« Reply #19 on: January 07, 2023, 10:18:59 pm »
I've been stuck in isolation for a week during which I've been toying with my ArcaOS setup (still have to try out the HOBLink files to see if it works on my end, but I digress) and that week has been fairly educational:

- there's a fair amount of source code of OS/2 software from the "golden age" (1993-2000) period. A lot of these came from the GNU/Linux ecosystem and were ported to OS/2 at the time using EMX. If I understand correctly the current state of things, to refresh these usually means *reverting* many of the former port to the then-incomplete EMX port of the application and actually re-do the port to the current BWW libc. "libc retargeting", if you wish. If you are curious, my goal was to have a baseline VIM working with bww' libc and it built and linked, but something's broken at VIO level. My hope were high - and perhaps I was close to my target - but in the end it was a bitter experience.

- there's a fair amount of source code of Linux software that begs to be ported. The QT porting efforts does unlock many of such ports, yet depending on the runtime target of the Qt port itself (is it leveraging bww? libc? Odin32? EMX? Combo?), it can have a profound impact afterwards. I think Paul's approach of porting gcc and sticking to the GNU toolset is the right approach. I'm curious about how the graphics part is done though.

- What about OpenWatcom then? Well, to my understanding, it remains the tool of choice for device driver and OS/2-only development, when you wish to try Petzold's PM book samples or OS/2 Toolkit, porting Win16 code or code from the surprisingly active DOS community.

IMHO, the IBM C/Set|VAge should be considered legacy and worth installing on any developer machine for the debugging tools they provide and when that particular compiler is required. Otherwise, it's a dead end.


Dave Yeo

  • Hero Member
  • *****
  • Posts: 4804
  • Karma: +99/-1
    • View Profile
Re: Software Wishlist for 2023
« Reply #20 on: January 08, 2023, 02:34:16 am »
@SoundChaser, About EMX and klibc (now libcn), klibc was basically a rewrite of the EMX libc, as well as updates. Generally, a program built with EMX can easily be rebuilt with klibc. For example, I needed to open a zoo archived program, found a zoo.exe from about 1991 built with EMX, it wouldn't run but had the source, doing make and it rebuilt and ran fine with the GCC and klibc.
There are somethings that EMX does better. Better select() for example. For XFree, it is a requirement. It also had better console support, something really lacking in klibc. Of course it is ancient and missing a lot of stuff.
There's likely some old ports of vim on hobbes if that is your preference, OpenWatcom ships with a decent vi too, has a menu, mouse support, full VIO app.
You can build OS/2 programs with GCC, OpenWatcom and the old VACPP compilers, all using the latest toolkit if you choose. If you want to write stuff for the WPS, using SOM, you pretty well have to use the VACPP compilers.

SoundChaser

  • Newbie
  • *
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: Software Wishlist for 2023
« Reply #21 on: January 08, 2023, 03:51:22 pm »
Having the libcn in a lesser state than EMX is... well, as a developer I understand that there's so much to do and so little time, so applying YAGNI principle, if these calls were not required when the libs were leverage for a given port (say firefox), it's understandable they aren't at the same quality.

However, when it's time to port, what should be the target now? It should be libcn. But... I understand it can't be used for console apps? Nonsense.

Perhaps the priority of the development community (not putting the burden on one dev, but more in a collegial way - if we want to conquer the hill, we need a strategy) should be to give some love to that runtime while moving forward porting stuff. But where to start? Is what's missing documented at all, or is it the knowledge of a few devs?

Back to vim.  I'm using the OW version and it's pretty good. I was using it as a porting exercise, knowing that if I'd checkout the commit before the os2 support was removed, it _should_ build. It did. But as you confirmed, console appears broken in many ways. I wanted to port console apps, so unless the libcn is fixed I can't... and no problem to debug and eventually contribute to libcn, yet back to my original comments, the setup time is somewhat time-consuming and error-prone.

Still, I want to give credits to the folks at BWW who documented a lot. Now it needs to reach next level. One toolset for porting, one toolset for legacy (PM and DOS or win32s ports) and reduced friction setup for both. I'm probably oversimplifying, still I think a hobbyist purchasing ArcaOS should be able to code in less than an hour, that's not really the case right now.


Dave Yeo

  • Hero Member
  • *****
  • Posts: 4804
  • Karma: +99/-1
    • View Profile
Re: Software Wishlist for 2023
« Reply #22 on: January 09, 2023, 03:08:09 am »
Hi SoundChaser, don't take it to mean that OS/2 has completely broken term support, just that libc is missing stuff like termios, TIOCGWINSZ and such. They could be added if someone knows what they're doing.
For example, recently worked with the mpg123 maintainer to fix console support on OS/2. There's old EMX stuff still around, _scrsize() will still get you the console size and poking around klibc source, I found a 32 bit wrapper for KbdCharIn() to get keystrokes. There is a problem in that our VIO is at heart 16 bit and it is not easy to directly call a 16 bit API.
You can look at things like the source for ncurses to likely find other workarounds but ideally would be to support the right functions.
What do you mean about,
Quote
Back to vim.  I'm using the OW version and it's pretty good. I was using it as a porting exercise, knowing that if I'd checkout the commit before the os2 support was removed, it _should_ build. It did.
You're not using the fork on Github are you? Don't use that, it was forked a while back and is missing a bunch of various recent fixes, high memory, linker having HLL debug symbol support etc. The maintainer is kind of reckless with commits (not enough testing).
Unluckily http://www.openwatcom.org/ is still down and has been for too long. There's a recent build at ftp://ftp.netlabs.org/pub/openwatcom/. I guess the source needs a new host or at least the latest checkout posted somewhere.
As for documentation, the EMX docs are a good start, things have been simplified but most of the public functions are still there and generally EMX source compiles fine with libcn. I think this has the documentation, otherwise in the same directory, https://www.os2site.com/sw/dev/emx/emx_v09d/emxview.zip which is worth browsing.

SoundChaser

  • Newbie
  • *
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: Software Wishlist for 2023
« Reply #23 on: January 09, 2023, 03:32:01 pm »
I'm using the 1.9 build, which iirc I downloaded from github using a link from BWW docs, but that I'm not sure anymore. I'll have to validate with my firefox download history... I agree with you on the fork, I bet their OS/2 build is broken.

Thanks for all the insights!

Andi B.

  • Hero Member
  • *****
  • Posts: 817
  • Karma: +11/-2
    • View Profile
Re: Software Wishlist for 2023
« Reply #24 on: January 09, 2023, 05:36:27 pm »
For the OS/2 full version/installer Franks 2.0 (1.9+) builds are the more or less last official and most preferred version. Have to search for the link...

I think I've dowloaded the last (or near the last) official OW and 4os2 sources from the perforce repository before it went down. I've set up a non-official git repository for 4os2. For OW Steven and/or Michal (?) wanted to setup one at that time. Unfortunately it seems he doesn't find the time to do this. One problem is if I setup a git repository then it does not include the change history. So it's not so useful as it should. Moreover I wanted to have the official maintainers to set up a new official home.

Anyway if there is an urgent need I can try to upload the (nearly) latest perforce sources at sourceforge. Unfortunately checking in to my bitbucket account (my preferred place until a few months) doesn't work anymore.

Gregg Young

  • Jr. Member
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Software Wishlist for 2023
« Reply #25 on: January 09, 2023, 08:29:28 pm »
You're not using the fork on Github are you? Don't use that, it was forked a while back and is missing a bunch of various recent fixes, high memory, linker having HLL debug symbol support etc. The maintainer is kind of reckless with commits (not enough testing).
Unluckily http://www.openwatcom.org/ is still down and has been for too long. There's a recent build at ftp://ftp.netlabs.org/pub/openwatcom/. I guess the source needs a new host or at least the latest checkout posted somewhere.

Hi Dave

The latest source for openwatcom from openwatcom.org is at https://github.com/StevenLevine/openwatcom-v1.  The OW 2.0 beta 4 is at ftp://ftp.netlabs.org/pub/openwatcom/open-watcom-c-os2-2.0-beta-4.exe. This is my build from the latest sources. This should be either identical to or very close to Frank's last build. 4OS2 is at https://github.com/StevenLevine/4os2. My understanding is that Perforce decided not to continue providing a license to openwatcom.org for free. 

Thanks

Gregg

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4804
  • Karma: +99/-1
    • View Profile
Re: Software Wishlist for 2023
« Reply #26 on: January 09, 2023, 10:05:00 pm »
Thanks Gregg, was wondering if Steven had got around to posting the source. I posted the URL's on openwatcom.contributors newsgroup, which is still carried on various servers, open september, aioe and astraweb at least.