Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Dave Yeo

Pages: [1] 2 3 ... 242
Programming / Re: Compiling a PM sample with GCC
« on: Today at 05:22:32 am »
Running rc /? we see how it finds includes, simplest is the INCLUDE environment variable. Something like SET INCLUDE=%UNIXROOT%\usr\include; or SET INCLUDE=%UNIXROOT%\usr\include\os2tk45; First one works fine, 2nd might be more proper.

Here's an example of using emxomfld with PMHello,
Code: [Select]
# make makefile
# Tools used:
#  Compile::Resource Compiler
#  Compile::GNU C
#  Make: make
all : pmhello1.exe pmhello2.exe pmhello3.exe

pmhello1.exe : pmhello.obj pmhello1.obj pmhello.def
# gcc -Zomf -v  pmhello.obj pmhello1.obj pmhello.def -o pmhello1.exe
emxomfld.exe -o pmhello1.exe /@unixroot/usr/bin/../lib/gcc/i686-pc-os2-emx/9/../../../crt0.obj -L/@unixroot/usr/bin/../lib/gcc/i686-pc-os2-emx/9 -L/@unixroot/usr/bin/../lib/gcc -L/@unixroot/usr/bin/../lib/gcc/i686-pc-os2-emx/9/../../.. -L/@unixroot/usr/lib pmhello.obj pmhello1.obj pmhello.def -lgcc_so_d -lc_alias -lc_dll -los2 -lend

pmhello2.exe : pmhello.obj pmhello2.obj pmhello.def
gcc -Zomf pmhello.obj pmhello2.obj pmhello.def -o pmhello2.exe

pmhello3.exe : pmhello.obj pmhello3.obj pmhello.def
gcc -Zomf pmhello.obj pmhello3.obj pmhello.def -o pmhello3.exe

pmhello.obj : pmhello.c
gcc -Wall -Zomf -c -O2 pmhello.c -o pmhello.obj

pmhello1.obj : pmhello1.c
gcc -Wall -Zomf -c -O2 pmhello1.c -o pmhello1.obj

pmhello2.obj : pmhello2.c
gcc -Wall -Zomf -c -O2 pmhello2.c -o pmhello2.obj

pmhello3.obj : pmhello3.c
gcc -Wall -Zomf -c -O2 pmhello3.c -o pmhello3.obj

clean :
rm -rf *exe *RES *obj

It is mostly to show how GCC calls emxomfld. Not sure how to catch how emxomfld calls ilink.
EDIT: Catch how ilink is called by setting the linker to echo,
Code: [Select]
Don't forget to set it back after.

Programming / Re: Compiling a PM sample with GCC
« on: June 29, 2022, 05:36:41 pm »
Well, we can add -v to the gcc linker line,
Code: [Select]
gcc -Zomf -v  pmhello.obj pmhello1.obj pmhello.def -o pmhello1.exe
Using built-in specs.
Target: i686-pc-os2-emx
Configured with: D:/Users/dmik/rpmbuild/BUILD/gcc-os2-gcc-9_2_0-release-os2-b3/configure --disable-bootstrap --enable-languages=c,c++ --build=i686-pc-os2-emx --with-sysroot=/@unixroot --prefix=/@unixroot/usr --mandir=/@unixroot/usr/share/man --infodir=/@unixroot/usr/share/info --with-bugurl= --enable-shared --enable-threads --enable-checking=release --disable-multilib --with-system-zlib --with-gcc-major-version-only --without-isl --with-tune=generic --with-arch=i686 --with-gnu-as --disable-libstdcxx-pch
Thread model: os2
gcc version 9.2.0 20190812 (OS/2 RPM build 9.2.0-5.oc00) (GCC)
COLLECT_GCC_OPTIONS='-Zomf' '-v' '-o' 'pmhello1.exe' '-mtune=generic' '-march=i686'
 emxomfld.exe -o pmhello1.exe W:/usr/bin/../lib/gcc/i686-pc-os2-emx/9/../../../crt0.obj -LW:/usr/bin/../lib/gcc/i686-pc-os2-emx/9 -LW:/usr/bin/../lib/gcc -LW:/usr/bin/../lib/gcc/i686-pc-os2-emx/9/../../.. -L/@unixroot/usr/lib pmhello.obj pmhello1.obj pmhello.def -lgcc_so_d -lc_alias -lc_dll -los2 -lend
COLLECT_GCC_OPTIONS='-Zomf' '-v' '-o' 'pmhello1.exe' '-mtune=generic' '-march=i686'

And could use the above emxomfld command line with the drive letter fixed for your system

Programming / Re: Compiling a PM sample with GCC
« on: June 29, 2022, 02:26:39 am »
Hi Martin, the warning is from ilink it seems, which doesn't seem to handle WINDOWCOMPAT or doesn't like how it is being called. From the Tools Reference from the toolkit,
Code: [Select]
If <apptype> is given, it defines the type of application:

Presentation Manager* application. The application uses the API provided by the Presentation Manager and must be executed in the Presentation Manager environment.

Application compatible with Presentation Manager. The application can run inside the Presentation Manager, or it can run in a separate screen group. An application can be of this type if it uses the proper subset of OS/2 video, keyboard, and mouse functions supported in the Presentation Manager applications.

Application that is not compatible with the Presentation Manager and must operate in a separate screen group from the Presentation Manager.

OK, looking at the error LNK4072, it means
Code: [Select]
L4072 changing application type from oldname to newname
Explanation:  The application type specified with /PMTYPE is different from that in .DEF file. LINK386 is using the application type indicated.
Action:  Edit the file and relink.

So somewhere there are conflicts between WINDOWAPI and WINDOWCOMPAT, possibly it is emxomfld causing it but search your source for both.

Off Topic discussions / Re: Lying low for a few days
« on: June 20, 2022, 09:19:32 pm »
Having had a couple of dogs get old and die, feel for you. It's the worse part of owning pets, especially dogs, they get old too quick.

Applications / Re: SeaMonkey downloads and Unix permissions
« on: June 19, 2022, 06:49:18 am »
I seem to have lost interest in this some time back, getting old :)
Anyways, I've had to revert the chmod patch for now as it turns out it broke creating a new profile on a virgin install.
As these newer builds are going to be in AOS 5.1, for stabilties sake I've simply reverted the patch for now and hopefully will revisit. At this point the builds up to 06-06-22 have the chmod patch, making things like Samba happy but new profiles broken. The ones I'm currently uploading are the opposite, no chmod but new virgin profiles working.


Actually, here it is a SMS if using a new device. I had one SMS when I first used the app password, basically asking if it was me logging in.

confirm this is my case as well. Received a phone SMS only once on my phone number at the registration moment to confirm the user identity, after that I could simply login by SM mail everytime with the application password (needless to digit, it is stored) , nothing else.

So the whole action is for google to receive your current phone number (SMS). Where is the so called 'security improvement' if afterwards you log in via simple password then before?

Well, if someone acquires your Google password, they can't download all your mail without your phone number. Not much of an improvement but still an improvement.
Using OAth 2.0 gives about the same level of security. A lot of it seems like security theatre, "hey we're doing something about making things more secure"


Let me ask different - is there a way to setup SM/TB for google without using a special Android/iOS program AND without giving them a mobile number? As said, it is not so much important for me as gmail censors emails since a long time and so their service is useless for serious email communication anyway. But for the sake of having trash email addresses for potentially insecure web services gmail was good enough.

I don't think so as at a minimum, they want to send you a SMS to verify it is you.
Unluckily, it is the way things are going, in the name of security.
The web mail interface does still work here, using the simplified version I believe. Not the best but for occasional use...

Hi Andi, interesting error, 4294967299 is exactly 100000000 in hex, likely not a coincidence, though I don't think it is a signness problem, maybe overflow?
Are you still using 38ESR? If so, I'd suggest trying 45ESR. Back up your profile first, it is possible if you revert back to 38ESR, you might have to manually revert Lightning (in extensions IIRC).
As for the port, I don't think the calendar code has been touched besides changing the DLL name to 8.3 format.
Have you looked at the error console when opening Lightning? Perhaps clear it first.
Unluckily, I don't really use calendar besides making sure it works, using
You might also experiment with disabling "Provider for Google Calendar" and "Timezone Definitions for Mozilla"
Searching, I don't really find anything about our old Lightning being slow.
Edit: Might want to test a different theme, probably not the problem. Ideally would be testing a new profile, not easy with your setup unluckily.
You could also go to about:support and look at any preferences that have changed. In TB, Help-->TroubleShooting Information.


- SMS or phone call for every calendar/email login (beside overly uncomfortable I don't even think about giving this company my phone number voluntarily)

Seems this all is a new step from Google to force the world to use their software or leave their universe. I choice second.

Actually, here it is a SMS if using a new device. I had one SMS when I first used the app password, basically asking if it was me logging in.
OAuth 2.0 also did similar with Google verifying it was me, though I made multiple attempts to set up.

Games / Re: DOS VDM - USB and Game port Gamepad support
« on: June 15, 2022, 02:22:02 am »
Hi Mark, when I first started using OS/2, Warp v3, it was on a 4MB 386/33. At first just as a drop in replacement for DOS, then slowly migrating to OS/2 programs like WebExplorer. Had to be very careful in tuning and not use the WPS for it to be usable. That readme would have been very pertinent at the time. Even when I upgraded to 8MBs and swapped the CPU for a 486DLC.
Now here we are, so much memory that most is used as a ramdisk and still worried about the browser using all the memory :)

Games / Re: DOS VDM - USB and Game port Gamepad support
« on: June 15, 2022, 02:14:15 am »
Hi Martin, my limited understanding is that the PlayStation (and XBox) controllers aren't actually joysticks, at least as far as the PC is concerned. They look like a joystick and act like a joystick but use a different driver. My son, who is currently using an XBox controller on his Windows PC agrees.

Applications / Re: New builds of Thunderbird and SeaMonkey
« on: June 14, 2022, 05:11:11 pm »
Heh Dave!

Yea, I'm 60 and finding it hard crawling under the truck, especially the getting up part :)

At least you still can get up ............. <grin>

And BTW thanks for the rain .......... had one hell of a thunderstorm last night to start (Thor was throwing around Mjolnir pretty liberally, battling Frost Giants and knocking out power everywhere).

Expecting 135 mm in the next 3 days so we'll be building an ark as well in Alberta, to join you guys in BC.



You are welcome to the rain, though it looks like it is leading to a state of emergency with the snow melt. Still grey, wet and cold here, just had to light a fire, which is almost never needed in June. At least the cold has slowed down the snowmelt here.
Good luck and hopefully no flooding

Applications / Re: New builds of Thunderbird and SeaMonkey
« on: June 14, 2022, 05:06:17 pm »
Well, anyways, if anyone is interested I uploaded the SM 10.3.0 build to

Glad you got this working Dave!

It did crash this morning,
Code: [Select]
Call Stack

   EBP     Address    Module     Obj:Offset    Nearest Public Symbol
 --------  ---------  --------  -------------  -----------------------
 Trap  ->  B274547A   XUL       0001:0047547A  between PLDHashTable::Clear + A and PLDHashTable::FindFreeEntry - 66  (both in Unified_cpp_xpcom_build0.cpp)

 2DDD2088  11236ED0   XUL       0002:00086ED0  nsTArrayHeader::sEmptyHdr  (in Unified_cpp_xpcom_build1.cpp)

 Lost Stack chain - new EBP below previous


 Labels on the Stack

   ESP     Address    Module     Obj:Offset    Nearest Public Symbol
 --------  ---------  --------  -------------  -----------------------
 001EF80C  B34AE237   XUL       0001:011DE237  between gfxFontCache::FlushShapedWordCaches + 37 and gfxFontCache::Observer::Observe - 29  (both in Unified_cpp_gfx_thebes0.cpp)
 001EF81C  1F3E1993   LIBCN0    0001:00091993  fmutex.h#138 __um_free_maybe_lock + FF 0001:00091894 (ifree.obj)
 001EF84C  B34E6CD0   XUL       0001:01216CD0  between gfxPlatformFontList::InitFontList + C0 and gfxPlatformFontList::GetFontList - 170  (both in Unified_cpp_gfx_thebes1.cpp)
 001EF88C  B348C48C   XUL       0001:011BC48C  between gfxFcPlatformFontList::InitFontList + 3C and gfxFcPlatformFontList::FindGenericFamilies - 94  (both in gfxFcPlatformFontList.cpp)
 001EF8A8  B3487F00   XUL       0001:011B7F00  gfxFcPlatformFontList::CheckFontUpdates  (in gfxFcPlatformFontList.cpp)
 001EF8AC  B34DA4E0   XUL       0001:0120A4E0  between gfxPlatformFontList::UpdateFontList + 10 and gfxPlatformFontList::SizeOfFontFamilyTableExcludingThis - 10  (both in Unified_cpp_gfx_thebes1.cpp)
 001EF8BC  B55BFB38   XUL       0001:032EFB38  between mozilla::TimeStamp::Now + 18 and mozilla::TimeStamp::ComputeProcessUptime - 28  (both in TimeStamp_posix.cpp)
 001EF8CC  B3487F22   XUL       0001:011B7F22  between gfxFcPlatformFontList::CheckFontUpdates + 22 and nsTHashtable::s_HashKey - 1E  (both in gfxFcPlatformFontList.cpp)
 001EF8D8  000B0CD3   SEAMONKE  0001:000A0CD3  between std::basic_istream::ignore + 19F and __cxxabiv1::__forced_unwind::{typename} - 5D  (both in compatibility.obj)

Not sure if just long uptime or something to do with the patch or what. I'll install the dbg files incase it happens again.

Applications / Re: New builds of Thunderbird and SeaMonkey
« on: June 14, 2022, 07:55:54 am »
Well, anyways, if anyone is interested I uploaded the SM 10.3.0 build to

Programming / Re: Newbie guide to porting software?
« on: June 14, 2022, 04:01:08 am »

AH-HA! That's probably exactly the cause of my issue then. I wonder if netlabs would accept a 'build-essentials' RPM metapackage that would install all of the needed packages (gcc, etc).

I don't see why not, they might have some ideas about what it should contain.

As for things that are lacking in the terminal handling, does anybody know which layer they're lacking at? Eg, is it the termcap/terminfo layer, the ncurses/termlib layer, or the old 16-bit Vio layer?

Mostly the termcap/terminfo layer I beleive. There is a ncurses port. There is always the option of falling back to native API, at that I recently discovered some of the 16 bit VIO layer is in libc complete with thunking and taking care of segments, see for example this thread,
Handy having the libc source to find things like KbdCharIn()
If using the OS/2 API, pretty much required for some multimedia stuff like needing a foucc, libc includes its own version of os2.h which normally calls os2emx.h but can call the toolkit version. Or you can directly use the toolkits h files by doing something like "-dirafter /@unixroot/usr/include/os2tk45/h", need the -dirafter to avoid the toolkits ancient libc, then #include <os2me.h> for example will work.

Pages: [1] 2 3 ... 242