OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Applications => Topic started by: Neil Waldhauer on June 09, 2022, 04:28:47 pm

Title: New builds of Thunderbird and SeaMonkey
Post by: Neil Waldhauer on June 09, 2022, 04:28:47 pm
I see the posting of new builds for Mozilla apps. The prerequisite list looks shorter now. What compiler was used to make the new builds?

(Thanks Dave Yeo, for supporting us with these new builds.)
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 09, 2022, 05:55:08 pm
Hi Neil, they're built with the system GCC 9.2.0, Paul's latest GCC builds can't link xul.dll.
These are just i686 builds of the same code as the P4 builds though I did fix a packaging error where some XQS files weren't installed.
They should have the usual requirements and should work basically the same with i686 or P4 prerequisites.
I am interested in if they work on systems without SSE2 (Pentium III or earlier or old Athlons), a previous i686 build for some reason crashed for someone with a SSE2 error, which shouldn't happen
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 09, 2022, 11:38:54 pm
Hi Neil, they're built with the system GCC 9.2.0, Paul's latest GCC builds can't link xul.dll.
I wonder how hard it is to get mozilla building here so I can try and fix this....

Remind me of the error again,or ideally, open a ticket at https://mantis.smedley.id.au
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 10, 2022, 01:47:24 am
it's not that hard to get it to build, assuming you're using RPM/YUM. For your environment, Python might be a problem. It creates a virtual environment to install all the Python packages it uses. Bitwise had instructions on Github, not quite how I do it but a good list of the dependencies.
I'll revisit the build and catch the actual error and open an issue. Also need to double check that I've pushed all my commits, takes forever to do a commit due to the couple of GB of source.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 10, 2022, 01:48:33 am
BTW, there is also an i686 build of Firefox at https://mozilla-os2.sourceforge.io/ (https://mozilla-os2.sourceforge.io/)
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 10, 2022, 01:52:47 am
Hey Dave,

it's not that hard to get it to build, assuming you're using RPM/YUM. For your environment, Python might be a problem. It creates a virtual environment to install all the Python packages it uses. Bitwise had instructions on Github, not quite how I do it but a good list of the dependencies.
I'll revisit the build and catch the actual error and open an issue. Also need to double check that I've pushed all my commits, takes forever to do a commit due to the couple of GB of source.

WellI can always get it building with rpm then hack the environment to add in the modern gcc... shouldn't be that hard (famous last words)
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 10, 2022, 04:04:20 am
Hacking the environment to use your GCC is the easy part :)
Be aware that it won't build with newer then GCC 10.x IIRC due to C++ changes in the compiler, that's true on all platforms.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 10, 2022, 04:06:02 am
Should we have a thread here on building it or on your bug tracker?
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 10, 2022, 06:39:03 am
Well, just tried building Firefox with GCC 9.4.0, IIRC, gcc-9.4.0-os2-20220314b.zip, and it succeeded.
Code: [Select]
about:buildconfig
Source

Built from git commit 90c195f3e9a9219bc7e264ee1a98eab88d8af903
Build platform
target
i386-pc-os2-emx
Build tools
Compiler Version Compiler flags
gcc.exe 9.4.0 -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -Zomf -std=gnu99 -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread
c++ 9.4.0 -idirafter K:/usr/include/os2tk45 -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -Zomf -fno-exceptions -fno-strict-aliasing -Zomf -flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -march=pentium4 -mtune=generic -O2 -flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess -msse2 -fomit-frame-pointer
Configure arguments

--enable-application=browser '--enable-optimize=-march=pentium4 -mtune=generic -O2 -flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess -msse2' --disable-debug --enable-debug-symbols --disable-tests --enable-os2-high-mem --without-x --enable-official-branding --enable-system-cairo --enable-system-pixman --with-intl-api --with-system-icu --with-system-zlib --with-system-libvpx --prefix=/usr --disable-webrtc --disable-telemetry --disable-devtools --disable-crashreporter --disable-gamepad --disable-web-speech --disable-updater --disable-startupcache

Guess I'll try SeaMonkey, then download 10.x and try that.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 10, 2022, 10:29:03 am
Should we have a thread here on building it or on your bug tracker?

For building it, here is fine. When we get to the bit about it breaking, a ticket will  be helpful.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 10, 2022, 10:30:12 am
Hey Dave,
Be aware that it won't build with newer then GCC 10.x IIRC due to C++ changes in the compiler, that's true on all platforms.

OK -  well still worth investigating, as presumably the same  issue will affect GCC 11.x and 12.x

Cheers,

Paul
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dariusz Piatkowski on June 10, 2022, 03:33:06 pm
Hi Dave!

Well, just tried building Firefox with GCC 9.4.0, IIRC, gcc-9.4.0-os2-20220314b.zip, and it succeeded...

Thank you....but "if I could have my cake and eat it", any chance you could do an updated build of "-march=amdfam10 -mtune=k8" or P4 for either one (or both???) (see this Mar_2022 thread of ours => https://www.os2world.com/forum/index.php/topic,3015.15.html)

My TB is the pentium_m build, while the FF is the one-off PhenomII you did for me.

Thanks!
-Dariusz
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 10, 2022, 04:31:46 pm
Hey Dave,
Be aware that it won't build with newer then GCC 10.x IIRC due to C++ changes in the compiler, that's true on all platforms.

OK -  well still worth investigating, as presumably the same  issue will affect GCC 11.x and 12.x

Cheers,

Paul

Well. it was building SeaMonkey that failed before and it failed again. Guess due to SeaMonkey's xul.dll being larger then Firefox's, so we'll have to set you up for building SeaMonkey, which as a first step means building Firefox.
Here's the tail of the build.log, the failing command line is over 59,000 characters so won't paste it.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 10, 2022, 04:58:55 pm
Hi Dave!

Well, just tried building Firefox with GCC 9.4.0, IIRC, gcc-9.4.0-os2-20220314b.zip, and it succeeded...

Thank you....but "if I could have my cake and eat it", any chance you could do an updated build of "-march=amdfam10 -mtune=k8" or P4 for either one (or both???) (see this Mar_2022 thread of ours => https://www.os2world.com/forum/index.php/topic,3015.15.html)

My TB is the pentium_m build, while the FF is the one-off PhenomII you did for me.

Thanks!
-Dariusz

Hi Dariusz, at some point I should be able to
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dariusz Piatkowski on June 10, 2022, 05:14:40 pm
Hi Dave!

Well, just tried building Firefox with GCC 9.4.0, IIRC, gcc-9.4.0-os2-20220314b.zip, and it succeeded...

Thank you....but "if I could have my cake and eat it", any chance you could do an updated build of "-march=amdfam10 -mtune=k8" or P4 for either one (or both???) (see this Mar_2022 thread of ours => https://www.os2world.com/forum/index.php/topic,3015.15.html)

My TB is the pentium_m build, while the FF is the one-off PhenomII you did for me.

Thanks!
-Dariusz

Hi Dariusz, at some point I should be able to

Thanks Dave, I appreciate that!

In the meantime, which really should have dawned on my before posting the last response, I am trying to get Paul's 12.x GCC build installed so that I can go back to those performance tests and figure out whether the results I saw were due some GCC optimization "bug" (in that 9.2.0 20190812 version which I am using here), or are they persisting even in the latest ports.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 10, 2022, 05:28:25 pm
For completeness, here's the response file for linking Firefox's xul.dll. I wonder if there is simply a missing obj or library file with SM? I get the same error trying to link its xul with GCC 9.2.0
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 10, 2022, 11:50:40 pm
Here's the tail of the build.log, the failing command line is over 59,000 characters so won't paste it.
[Errno 22] Invalid argument

That's not what I was expecting!!

Just so I'm clear, 9.4.0 works, 10.3.0 doesn't?

Cheers,

Paul
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 11, 2022, 02:18:28 am
Here's the tail of the build.log, the failing command line is over 59,000 characters so won't paste it.
[Errno 22] Invalid argument

That's not what I was expecting!!

Just so I'm clear, 9.4.0 works, 10.3.0 doesn't?

Cheers,

Paul

Haven't tried 10.3.0. RPM GCC 9.2.0 works to compile all the Moz apps, 9.4.0 works to compile Firefox but not SeaMonkey. Never tried TB. Guess I should.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 11, 2022, 03:29:05 am
Here's the tail of the build.log, the failing command line is over 59,000 characters so won't paste it.
[Errno 22] Invalid argument

That's not what I was expecting!!

Just so I'm clear, 9.4.0 works, 10.3.0 doesn't?

Cheers,

Paul

Haven't tried 10.3.0. RPM GCC 9.2.0 works to compile all the Moz apps, 9.4.0 works to compile Firefox but not SeaMonkey. Never tried TB. Guess I should.

OK cool - I don't remember if I tried to modify 9.4.0 to include the bww fixes for response file handling or not. I'll try investigate that this afternoon.

Edit: I attemped to, but there are still some differences between bww 9.2.0 and my 9.4.0 gcc.c

Rebuild 9.4.0 now with gcc.c from bww

Cheers,

Paul
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 11, 2022, 05:15:05 am
You did try to add the bww fixes and likely succeeded judging that Firefox built.
The problem is this Python based build system does not give good errors. Had a hell of a time with 52ESR just getting configure.py along with old.configure to complete.
Anyways, the good news is that Thunderbird's xul.dll linked, at the 144 minute mark :)
Guess going to have to compare the SM builds, wish it was easier to catch the response file when linking fails.
What is the URL for 10.3.0?
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 11, 2022, 06:13:33 am
Hey Dave,

You did try to add the bww fixes and likely succeeded judging that Firefox built.
The problem is this Python based build system does not give good errors. Had a hell of a time with 52ESR just getting configure.py along with old.configure to complete.
Anyways, the good news is that Thunderbird's xul.dll linked, at the 144 minute mark :)
Guess going to have to compare the SM builds, wish it was easier to catch the response file when linking fails.
What is the URL for 10.3.0?
10.3.0 is at https://smedley.id.aui/tmp/gcc-10.3.0-os2-20220314.zip

Updated 9.4.0 with bww gcc.c is at https://smedley.id.aui/tmp/gcc-9.4.0-os2-20220610.zip

Cheers,

Paul
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 11, 2022, 06:40:54 am
Ok, I'll first try building SM with the updated 9.4.0. Then maybe 10.3.0. it takes about 2 hours to do a build with make -j5 (4 core I5)
I did just compare the cmd lines between 9.2.0 and 9.4.0, they're identical, as they should be, which leads me to believe there is a missing obj file or library.
Edit: getting "The connection was refused when attempting to contact smedley.id.aui."
Edit again: smedley.id.au works
Edit again: gcc-9.4.0-os2-20220610.zip dies at the 31MB mark with a source file can't be read error
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 11, 2022, 07:21:36 am
Sorry, I was updating the router firmware :)
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 11, 2022, 08:49:26 am
They're downloaded now and SeaMonkey building. It's bedtime here so we'll see if it succeeded in the morning.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 11, 2022, 06:04:53 pm
Well the build died pretty quick, redoing so configures aren't run, doesn't even go 4 minutes.
Code: [Select]
3:34.32 In file included from W:/USR/local940/include/c++/9.4.0/system_error:39,
 3:34.32                  from W:/USR/local940/include/c++/9.4.0/bits/ios_base.h:46,
 3:34.32                  from W:/USR/local940/include/c++/9.4.0/iomanip:40,
 3:34.32                  from Y:/work/cc45-git/mozilla/mfbt/decimal/moz-decimal-utils.h:20,
 3:34.32                  from Y:/work/cc45-git/mozilla/mfbt/decimal/Decimal.cpp:32:
 3:34.32 W:/usr/local940/include/c++/9.4.0/i686-pc-os2-emx/bits/error_constants.h:151:34: error: 'ENOTRECOVERABLE' was not declared in this scope
 3:34.33   151 |       state_not_recoverable =    ENOTRECOVERABLE,
 3:34.33       |                                  ^~~~~~~~~~~~~~~
 3:34.91
 3:34.94 In the directory  Y:/work/cc45-git/obj-sm/mfbt
 3:34.94 The following command failed to execute properly:
 3:34.98 c++ -o Decimal.obj -c -DIMPL_MFBT -IY:/work/cc45-git/mozilla/mfbt -I. -I../dist/include -IY:/work/cc45-git/obj-sm/dist/include/nspr -IY:/work/cc45-git/obj-sm/dist/include/nss -I/@unixroot/usr/include/pixman-1 -DMOZILLA_CLIENT -include ../mozilla-config.h -Uunix -U__unix -U__unix__ -MD -MP -MF .deps/Decimal.obj.pp -idirafter K:/usr/include/os2tk45 -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -Zomf -fno-exceptions -fno-strict-aliasing -Zomf -flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -march=pentium4 -mtune=generic -O2 -flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess -msse2 -fomit-frame-pointer Y:/work/cc45-git/mozilla/mfbt/decimal/Decimal.cpp
 3:34.98 make.EXE[4]: *** [Decimal.obj] Error 1
 3:34.98 make.EXE[3]: *** [mfbt/target] Error 2
 3:34.98 make.EXE[3]: *** Waiting for unfinished jobs....
Earlier build of GCC 9.4.0 in include/c++/9.4.0/i686-pc-os2-emx/bits/c++config.h,
Code: [Select]
/* Define if ENOTRECOVERABLE exists. */
/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */

Whereas this has it defined. I'll try undefining it.
Ok, that seems to have got by that build break. Another hour and a half till it gets to linking xul.dll.
Now I have to do other stuff, truck stopped starting  yesterday when I turned the key, have to trouble shoot, is it the wiring, the starter, a relay or what. At least it's a manual so I got home by push starting it :)
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 11, 2022, 09:53:44 pm
OK, with the change above, the SeaMonkey build succeeded and the test run also brought up the browser. Have to package it later and test better but I don't see why it shouldn't be fine.
I'll also test 10.3.0 later, unless you want to update it.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 11, 2022, 11:17:13 pm
OK, with the change above, the SeaMonkey build succeeded and the test run also brought up the browser. Have to package it later and test better but I don't see why it shouldn't be fine.
I'll also test 10.3.0 later, unless you want to update it.

Woohoo! Let me apply the same changes to GCC 10+
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 12, 2022, 12:43:31 am
https://smedley.id.au/tmp/gcc-10.3.0-os2-20220612.zip
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 12, 2022, 05:48:14 am
Seems KOMH's script broke with the 4 digit GCC local1030 name, so trying to make a simple setenv.cmd.
Paul, can you post the output of "cpp -xc++ -W -v" (need to exit with ctrl-c), namely the include paths when in your 10.3.0 environment? I worry that I'm missing stuff like include-fixed
Thanks
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 12, 2022, 06:28:00 am
Code: [Select]
Using built-in specs.
COLLECT_GCC=cpp
Target: i686-pc-os2-emx
Configured with: ./configure --prefix=/usr/local1030 --enable-shared --enable-languages=c,c++,fortran --with-gnu-as --enable-frame-pointer --disable-bootstrap --disable-libstdcxx-pch --enable-threads --enable-decimal-float=yes --build=i686-pc-os2-emx --target=i686-pc-os2-emx
Thread model: os2
Supported LTO compression algorithms: zlib
gcc version 10.3.0 (GCC)
COLLECT_GCC_OPTIONS='-E' '-pipe' '-Wextra' '-v' '-mtune=generic' '-march=pentiumpro'
 U:/usr/local1030/bin/../libexec/gcc/i686-pc-os2-emx/10.3.0/cc1plus.exe -E -quiet -v -iprefix U:/usr/local1030/bin/../lib/gcc/i686-pc-os2-emx/10.3.0/ - -mtune=generic -march=pentiumpro -Wextra
ignoring nonexistent directory "u:/cups/include"
ignoring nonexistent directory "U:/usr/local1030/bin/../lib/gcc/i686-pc-os2-emx/10.3.0/../../../../i686-pc-os2-emx/include"
ignoring nonexistent directory "U:/usr/local1030/bin/../lib/gcc/../../lib/gcc/i686-pc-os2-emx/10.3.0/../../../../i686-pc-os2-emx/include"
#include "..." search starts here:
#include <...> search starts here:
 u:/extras/include
 u:/openldap/include
 u:/usr/include
 U:/USR/local1030/include/c++/10.3.0/backward
 U:/USR/include
 U:/OS2TK45/H
 .
 U:/usr/local1030/bin/../lib/gcc/i686-pc-os2-emx/10.3.0/../../../../include/c++/10.3.0
 U:/usr/local1030/bin/../lib/gcc/i686-pc-os2-emx/10.3.0/../../../../include/c++/10.3.0/i686-pc-os2-emx
 U:/usr/local1030/bin/../lib/gcc/i686-pc-os2-emx/10.3.0/../../../../include/c++/10.3.0/backward
 U:/usr/local1030/bin/../lib/gcc/i686-pc-os2-emx/10.3.0/include
 U:/usr/local1030/bin/../lib/gcc/i686-pc-os2-emx/10.3.0/include-fixed
 U:/usr/local1030/bin/../lib/gcc/../../lib/gcc/i686-pc-os2-emx/10.3.0/../../../../include/c++/10.3.0
 U:/usr/local1030/bin/../lib/gcc/../../lib/gcc/i686-pc-os2-emx/10.3.0/../../../../include/c++/10.3.0/i686-pc-os2-emx
 U:/usr/local1030/bin/../lib/gcc/../../lib/gcc/i686-pc-os2-emx/10.3.0/../../../../include/c++/10.3.0/backward
 U:/usr/local1030/bin/../lib/gcc/../../lib/gcc/i686-pc-os2-emx/10.3.0/include
 /usr/local/include
 U:/usr/local1030/bin/../lib/gcc/../../include
 U:/usr/local1030/bin/../lib/gcc/../../lib/gcc/i686-pc-os2-emx/10.3.0/include-fixed
 u:/usr/include
End of search list.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 12, 2022, 07:53:46 am
OK, thanks, that looks much the same as my output.
The SeaMonkey build didn't go too bad, ran out of memory at one point, restarted stuff like the browser which had been running for close to a week and restarted. Now it has died linking xul.dll with a couple of missing symbols. I'll redo the build in case the memory allocation problems broke something. Tomorrow before I'll report.
Code: [Select]
91:38.98 weakld: error: Unresolved symbol (UNDEF) '__ZN7gfxFont13GetShapedWordIhEEP13gfxShapedWordP10gfxContextPKT_jjibijP18gfxTextPerfMetrics'.
91:38.98 weakld: info: The symbol is referenced by:
91:38.98     Y:\work\cc45-git\obj-sm\gfx\thebes\Unified_cpp_gfx_thebes1.obj
91:38.98 Ignoring unresolved externals reported from weak prelinker.
91:38.98 Error! E2028: __ZN7gfxFont13GetShapedWordIhEEP13gfxShapedWordP10gfxContextPKT_jjibijP18gfxTextPerfMetrics is an undefined reference
91:38.98 file Y:\work\cc45-git\obj-sm\gfx\thebes\Unified_cpp_gfx_thebes1.obj(Y:\work\cc45-git\obj-sm\gfx\thebes\Unified_cpp_gfx_thebes1.cpp): undefined symbol _ _ZN7gfxFont13GetShapedWordIhEEP13gfxShapedWordP10gfxContextPKT_jjibijP18gfxTextPerfMetrics
91:38.99 make.EXE[4]: *** [xul.dll] Error 1
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 12, 2022, 11:05:02 am
Hey Dave,

OK, thanks, that looks much the same as my output.
The SeaMonkey build didn't go too bad, ran out of memory at one point, restarted stuff like the browser which had been running for close to a week and restarted. Now it has died linking xul.dll with a couple of missing symbols. I'll redo the build in case the memory allocation problems broke something. Tomorrow before I'll report.
Code: [Select]
91:38.98 weakld: error: Unresolved symbol (UNDEF) '__ZN7gfxFont13GetShapedWordIhEEP13gfxShapedWordP10gfxContextPKT_jjibijP18gfxTextPerfMetrics'.
91:38.98 weakld: info: The symbol is referenced by:
91:38.98     Y:\work\cc45-git\obj-sm\gfx\thebes\Unified_cpp_gfx_thebes1.obj
91:38.98 Ignoring unresolved externals reported from weak prelinker.
91:38.98 Error! E2028: __ZN7gfxFont13GetShapedWordIhEEP13gfxShapedWordP10gfxContextPKT_jjibijP18gfxTextPerfMetrics is an undefined reference
91:38.98 file Y:\work\cc45-git\obj-sm\gfx\thebes\Unified_cpp_gfx_thebes1.obj(Y:\work\cc45-git\obj-sm\gfx\thebes\Unified_cpp_gfx_thebes1.cpp): undefined symbol _ _ZN7gfxFont13GetShapedWordIhEEP13gfxShapedWordP10gfxContextPKT_jjibijP18gfxTextPerfMetrics
91:38.99 make.EXE[4]: *** [xul.dll] Error 1

I suspect a corrupt obj file from when you ran out of memory.

For the sake of it, I built 9.5.0 - https://smedley.id.au/tmp/gcc-9.5.0-os2-20220612.zip

Cheers,

Paul
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 12, 2022, 05:34:35 pm
Well, I did a make clean in thebes and rebuilt, same error. The symbol does seem to be in gfx/thebes/Unified_cpp_gfx_thebes1.obj (the build concats up to 10 source files together before compiling them), not sure if it should be somewhere else too.
Ok, grepping the 9.4.0 obj tree, it is in Unified_cpp_gfx_thebes0.obj as well.
I guess I'll nuke the obj directory and retry.
c++filt says it is "gfxShapedWord* gfxFont::GetShapedWord<unsigned char>(gfxContext*, unsigned char const*, unsigned int, unsigned int, int, bool, int, unsigned int, gfxTextPerfMetrics*)" and the log only shows the usual warnings about it,
Code: [Select]
21:27.42 In file included from Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.cpp:6,
21:27.42                  from Y:/work/cc45-git/obj-sm/gfx/thebes/Unified_cpp_gfx_thebes0.cpp:65:
21:27.42 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h: In constructor 'gfxShapedWord::gfxShapedWord(const uint8_t*, uint32_t, int32_t, int32_t, uint32_t)':
21:27.42 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h:1277:72: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'class gfxShapedText::CompressedGlyph'; use assignment or value-initialization instead [-Wclass-memaccess]
21:27.43  1277 |         memset(mCharGlyphsStorage, 0, aLength * sizeof(CompressedGlyph));
21:27.43       |                                                                        ^
21:27.43 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h:700:11: note: 'class gfxShapedText::CompressedGlyph' declared here
21:27.43   700 |     class CompressedGlyph {
21:27.43       |           ^~~~~~~~~~~~~~~
21:27.43 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h: In constructor 'gfxShapedWord::gfxShapedWord(const char16_t*, uint32_t, int32_t, int32_t, uint32_t)':
21:27.57 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h:1289:72: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'class gfxShapedText::CompressedGlyph'; use assignment or value-initialization instead [-Wclass-memaccess]
21:27.57  1289 |         memset(mCharGlyphsStorage, 0, aLength * sizeof(CompressedGlyph));
21:27.57       |                                                                        ^
21:28.13 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h:700:11: note: 'class gfxShapedText::CompressedGlyph' declared here
21:28.13   700 |     class CompressedGlyph {
21:28.14       |           ^~~~~~~~~~~~~~~
21:28.90 In file included from Y:/work/cc45-git/mozilla/gfx/thebes/gfxGraphiteShaper.h:9,
21:28.90                  from Y:/work/cc45-git/mozilla/gfx/thebes/gfxGraphiteShaper.cpp:6,
21:28.90                  from Y:/work/cc45-git/obj-sm/gfx/thebes/Unified_cpp_gfx_thebes1.cpp:2:
21:28.90 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h: In constructor 'gfxShapedWord::gfxShapedWord(const uint8_t*, uint32_t, int32_t, int32_t, uint32_t)':
21:28.90 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h:1277:72: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'class gfxShapedText::CompressedGlyph'; use assignment or value-initialization instead [-Wclass-memaccess]
21:29.13  1277 |         memset(mCharGlyphsStorage, 0, aLength * sizeof(CompressedGlyph));
21:29.13       |                                                                        ^
21:29.13 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h:700:11: note: 'class gfxShapedText::CompressedGlyph' declared here
21:29.13   700 |     class CompressedGlyph {
21:29.83       |           ^~~~~~~~~~~~~~~
21:29.83 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h: In constructor 'gfxShapedWord::gfxShapedWord(const char16_t*, uint32_t, int32_t, int32_t, uint32_t)':
21:29.83 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h:1289:72: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'class gfxShapedText::CompressedGlyph'; use assignment or value-initialization instead [-Wclass-memaccess]
21:29.83  1289 |         memset(mCharGlyphsStorage, 0, aLength * sizeof(CompressedGlyph));
21:29.91       |                                                                        ^
21:29.91 Y:/work/cc45-git/mozilla/gfx/thebes/gfxFont.h:700:11: note: 'class gfxShapedText::CompressedGlyph' declared here
21:29.91   700 |     class CompressedGlyph {
21:29.91       |

These types of warnings are everywhere and was one of the original problems with compiling with GCC 6+ and are due to doing a memset() before the constructor I understand. We now use speciall flags to stop them from being optimized away If I understand correctly
"-flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess" on the advice of the GCC people.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 12, 2022, 08:01:09 pm
Well, after blowing away the obj directory and redoing, same missing symbol.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 12, 2022, 11:36:47 pm
Well, after blowing away the obj directory and redoing, same missing symbol.
https://bugs.gentoo.org/617690 looks similar - and there's a patch in https://bugs.gentoo.org/617690#c21

They're talking about an older GCC, but who knows?
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 13, 2022, 01:15:16 am
Well, after blowing away the obj directory and redoing, same missing symbol.
https://bugs.gentoo.org/617690 looks similar - and there's a patch in https://bugs.gentoo.org/617690#c21

They're talking about an older GCC, but who knows?

The GCC is similar, 6.x-10.x IIRC needed the same fixes. The problem is that patch seems to be for a change between ff55 and ff56.
I'll test it, then I'll take a look at 52ESR where at least the memset() issues should be fixed. Be awhile before testing the new 9.5.0.
At least I did the starter and wiring on the truck today. Solenoid was loose and the wires were rotten, but what a bitch, seems Ford does things the hard way consistently, half a dozen large wires just to feed juice to the starter, with some scarily close to the exhaust.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 13, 2022, 01:19:42 am
Well, after blowing away the obj directory and redoing, same missing symbol.
https://bugs.gentoo.org/617690 looks similar - and there's a patch in https://bugs.gentoo.org/617690#c21

They're talking about an older GCC, but who knows?

The GCC is similar, 6.x-10.x IIRC needed the same fixes. The problem is that patch seems to be for a change between ff55 and ff56.
I'll test it, then I'll take a look at 52ESR where at least the memset() issues should be fixed. Be awhile before testing the new 9.5.0.
At least I did the starter and wiring on the truck today. Solenoid was loose and the wires were rotten, but what a bitch, seems Ford does things the hard way consistently, half a dozen large wires just to feed juice to the starter, with some scarily close to the exhaust.

There's also a patch in https://bugs.gentoo.org/attachment.cgi?id=483002 for FF54

I hate working on cars - I'm too old for that stuff now - loved it when I was younger though :)

Cheers,

Paul

Edit: looking at gfxfont, I think the patch would need to be

Code: [Select]
--- a/gfx/thebes/gfxFont.cpp 2017-06-15 22:52:37.000000000 +0200
+++ b/gfx/thebes/gfxFont.cpp.new 2017-07-10 21:33:43.241262630 +0200
@@ -2612,6 +2612,16 @@
     return sw;
 }
 
+template gfxShapedWord* gfxFont::GetShapedWord(gfxContext *aContext,
+                                               const unsigned char    *aText,
+                                               uint32_t    aLength,
+                                               uint32_t    aHash,
+                                               int32_t      aRunScript,
+                                               bool        aVertical,
+                                               int32_t     aAppUnitsPerDevUnit,
+                                               uint32_t    aFlags,
+                                               gfxTextPerfMetrics *aTextPerf GFX_MAYBE_UNUSED);
+
 bool
 gfxFont::CacheHashEntry::KeyEquals(const KeyTypePointer aKey) const
 {
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 13, 2022, 01:55:00 am
There's also a patch in https://bugs.gentoo.org/attachment.cgi?id=483002 for FF54

I hate working on cars - I'm too old for that stuff now - loved it when I was younger though :)

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

Quote
Cheers,

Paul

Edit: looking at gfxfont, I think the patch would need to be

Code: [Select]
--- a/gfx/thebes/gfxFont.cpp 2017-06-15 22:52:37.000000000 +0200
+++ b/gfx/thebes/gfxFont.cpp.new 2017-07-10 21:33:43.241262630 +0200
@@ -2612,6 +2612,16 @@
     return sw;
 }
 
+template gfxShapedWord* gfxFont::GetShapedWord(gfxContext *aContext,
+                                               const unsigned char    *aText,
+                                               uint32_t    aLength,
+                                               uint32_t    aHash,
+                                               int32_t      aRunScript,
+                                               bool        aVertical,
+                                               int32_t     aAppUnitsPerDevUnit,
+                                               uint32_t    aFlags,
+                                               gfxTextPerfMetrics *aTextPerf GFX_MAYBE_UNUSED);
+
 bool
 gfxFont::CacheHashEntry::KeyEquals(const KeyTypePointer aKey) const
 {

Ok, applied it, went to obj-sm/thebes/gfx, did a make clean and make, then to obj-sm/toolkit/library, did make and xul.dll linked.
Have to finish the build and test and also test with GCC 9.x but at least it did link, so should be good.

Patch ended up as,
Code: [Select]
diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp               4:53p
index f1906a2e1f..5dedc9cd85 100644
--- a/gfx/thebes/gfxFont.cpp
+++ b/gfx/thebes/gfxFont.cpp
@@ -2487,6 +2487,16 @@ gfxFont::GetShapedWord(gfxContext *aContext,
     return sw;
 }

+template gfxShapedWord* gfxFont::GetShapedWord(gfxContext *aContext,
+                                               const unsigned char    *aText,
+                                               uint32_t    aLength,
+                                               uint32_t    aHash,
+                                               int32_t      aRunScript,
+                                               bool        aVertical,
+                                               int32_t     aAppUnitsPerDevUnit,
+                                               uint32_t    aFlags,
+                                               gfxTextPerfMetrics *aTextPerf GFX_MAYBE_UNUSED);
+
 bool
 gfxFont::CacheHashEntry::KeyEquals(const KeyTypePointer aKey) const
 {
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 13, 2022, 02:16:27 am
Good news! I knew the line numbers would be out  - but I don't have a local copy of the 45.9 sources yet (checking them out now).

I'm 'only' 47 but my days of car maintenance are definitely over :) Particularly as I bought two new cars when I left GM in 2017 - and modern cars are WAY too hard to work on yourself!
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 14, 2022, 07:55:54 am
Well, anyways, if anyone is interested I uploaded the SM 10.3.0 build to https://sourceforge.net/projects/cc-os2/files/ (https://sourceforge.net/projects/cc-os2/files/)
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on June 14, 2022, 12:15:47 pm
Well, anyways, if anyone is interested I uploaded the SM 10.3.0 build to https://sourceforge.net/projects/cc-os2/files/ (https://sourceforge.net/projects/cc-os2/files/)

Glad you got this working Dave!
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Mark Szkolnicki on June 14, 2022, 04:45:30 pm
Heh Paul!



I'm 'only' 47 but my days of car maintenance are definitely over :) Particularly as I bought two new cars when I left GM in 2017 - and modern cars are WAY too hard to work on yourself!


I agree 100%.

My loyal 2005 Jeep Liberty crapped out on my birthday last year - I could still do maintenance on it.

Its replacement is an immaculate 2008 Jeep Limited Edition, I bought used - however the new Loyal is a living computer - going to the dealership, its the data transfer module that is plugged in first ................

Upside is the hard drive can hold about 6000 songs, so I'm off the 10"s of cd's cluttering the dashboard.

But still have my 1984 Firebird Trans-Am, the first car I ever bought myself - body fully restored - but need to work on the engine badly as a lot of gaskets are leaking. Perhaps I'll get around to some more restoration this year, but gas prices are a scandal - still completely drive-able without but probably limited this year.

Old loves are always the ones that never quite leave you <sic>.

M
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Mark Szkolnicki on June 14, 2022, 04:52:33 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.

Best!

M
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on June 14, 2022, 05:06:17 pm
Well, anyways, if anyone is interested I uploaded the SM 10.3.0 build to https://sourceforge.net/projects/cc-os2/files/ (https://sourceforge.net/projects/cc-os2/files/)

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.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo 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.

Best!

M

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
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Mark Szkolnicki on June 14, 2022, 06:02:53 pm

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


Not near me, Sir - although I live on Cooking Lake it is actually like a big slough - no inflow, no outflow, no riparian flow - all the years of drought have caused it to recede about 400 feet so we'd need metres of water coming down to m,ake a dent.

They also have the manholes in our hamlet about 2 feet above the ground, so pretty well just sewage flow - the water is still just being sucked into the soil, for which I am thankful.

As to fires - Anne and I enjoy a natural fire but because its not our primary source of heating - may have one in the fireplace today just for fun.  8)

Best!

M
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: roberto on June 18, 2022, 08:24:44 pm
Well, anyways, if anyone is interested I uploaded the SM 10.3.0 build to https://sourceforge.net/projects/cc-os2/files/ (https://sourceforge.net/projects/cc-os2/files/)

Glad you got this working Dave!
Hello
This version is the first that does not give me any log error, it does not close !!

I have been waiting for several days to confirm that it does not close, because on previous occasions I have given false hopes.

I was testing an idea of something that improved the previous versions a bit. And with this version has worked.

I had been thinking that you have what I think is an error in some old compiler,
or the kernel stuck when interpreting some values, mainly 16 bits,
causing the programs to fail mysteriously. Programs that are well done, failed.

What is the patch?
In changing the values in memory of the DLLS and the exes that have the value 5B for 238 (safer not to have failures during the tests)
or by 1 (everything works faster)

I understand that EXEs except that they have the same computer and load the same should erase them from my application,
and calculate you with theseus4 and the L5B.CMD program that I leave.

The way to apply the patch is to execute the three QBASIC files in three sessions of DOS-win in different windows.
I think the execution order is indistinct.

A more detailed explanation of how to use theseus4 and the L5B.cmd program I leave it in a read -.txt

Saludos
Title: Re: New builds of Thunderbird and SeaMonkey - trap LIBC PANIC!! _um_free_maybe_l
Post by: Andi B. on July 10, 2022, 10:45:24 am
Now and then Seamonkey or TB traps here. But usually I don't thinking about posting or try to analyze the trap report as there are to many processes running at the same time so I see not much help in doing so. But today I see SM vanishing just after a clean boot and at a state where I didn't start any other resource demanding application. I only started SM with the email client and opened some not very demanding web sites (os2.org, os2world.com). Beside that I opened MED. Shared mem always was above 160kB - more than safe. So maybe this trap report is of some help. If not, please ignore.

I think I run Daves latest stable SM.
Code: [Select]
User-Agent: Mozilla/5.0 (OS/2; Warp 4.5; rv:45.0) Gecko/20100101 SeaMonkey/2.42.9esr
Build-Identifikator: 20220111074847

about:buildconfig
Build platform
target
i386-pc-os2-emx
Build tools
Compiler Version Compiler flags
gcc.exe 9.2.0 -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -Zomf -std=gnu99 -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread
c++ 9.2.0 -idirafter K:/usr/include/os2tk45 -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -Zomf -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -march=pentium4 -mtune=generic -O2 -flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess -msse2 -fomit-frame-pointer
Configure arguments

--with-l10n-base=k:/work/de --enable-application=suite --with-system-zlib --with-system-bz2 --disable-tests '--enable-optimize=-march=pentium4 -mtune=generic -O2 -flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess -msse2' --disable-mochitest --disable-installer --disable-updater --disable-debug --enable-debug-symbols --enable-system-cairo --enable-system-pixman --enable-os2-high-mem --disable-crashreporter --enable-calendar --with-intl-api --with-system-icu --with-system-nss --with-system-nspr --with-system-libvpx --disable-system-sqlite --enable-release --prefix=/usr --disable-telemetry --disable-devtools --disable-crashreporter --disable-gamepad --disable-updater --disable-webrtc --with-external-source-dir=Y:/work/cc45-git

Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on July 10, 2022, 11:47:47 am
Might be worth trying the GCC10 build from https://sourceforge.net/projects/cc-os2/files/
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Andi B. on July 10, 2022, 12:19:45 pm
Might be worth trying the GCC10 build from https://sourceforge.net/projects/cc-os2/files/
Problem is reproducibility. SM or TB crashes here about once a day. Most of the time while running OpenOffice and/or VBOX and much more in parallel. It was a one time event I saw today when SM crashes within minutes after boot.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on July 10, 2022, 05:19:54 pm
Looks like something went wrong while the JavaScript engine was doing garbage collection (compacting memory), used to happen a lot, seldom now. The code is pretty complex and beyond my capabilities. Could also be a problem within libcn but without that debug data...
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Andi B. on July 10, 2022, 06:16:07 pm
Quote
Could also be a problem within libcn but without that debug data...
Should I install something? Or is it useless to think more about it cause javascript...? I mean no big problem here. SM is usable. If the version I installed is the most stable version we have, I'm fine. Thanks.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on July 10, 2022, 07:55:26 pm
It's a good idea to install the debug packages for libcn and libcx, even if for other issues you might come across.
It is possible the GCC 10.x build is more stable due to GCC fixes, they seem pretty similar here.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on July 10, 2022, 11:09:45 pm
It is possible the GCC 10.x build is more stable due to GCC fixes, they seem pretty similar here.

Speaking of GCC, they released 10.4 a week or two ago, I'll try and find time to build it...

Cheers,

Paul
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on July 11, 2022, 10:52:01 am
It is possible the GCC 10.x build is more stable due to GCC fixes, they seem pretty similar here.

Speaking of GCC, they released 10.4 a week or two ago, I'll try and find time to build it...


Well,they supply a 10.3.0-10.4.0 patch file, which made it trivially easy to update.

Builds itself - https://smedley.id.au/tmp/gcc-10.4.0-os2-20220711.zip

Cheers,

Paul
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dariusz Piatkowski on July 12, 2022, 03:11:11 pm
Might be worth trying the GCC10 build from https://sourceforge.net/projects/cc-os2/files/

I think the intent is there, but the latest TB release (thunderbird-45.8.0-2022-06-18.en-US.os2.zip) reports itself as:

Code: [Select]
Compiler Version Compiler flags
gcc.exe 9.4.0 -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -Zomf -std=gnu99 -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread
c++ 9.4.0 -idirafter K:/usr/include/os2tk45 -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -Zomf -fno-exceptions -fno-strict-aliasing -Zomf -flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -march=pentium4 -mtune=generic -O2 -flifetime-dse=1 -fno-delete-null-pointer-checks -Wclass-memaccess -msse2 -fomit-frame-pointer

So at least my impression here is that this is a GCC9.4.0 build.

Regardless, it appears to be more stable than the previous GCC9.2.0 build (thunderbird-45.8.0.en-US-P4-30-01-22.os2.zip) that would cause some weird hangs in FF.

Not sure why, but for what it's worth, I tried running both ways:

1) leave all the prepackaged DLLs in place
2) remove all the intree NSPR4 and NSS DLLs and use the system-wide stuff that's deployed in \usr\lib instead

In both cases the GCC9.2.0 drop was iffy, but GCC9.4.0 is markedly better.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on July 13, 2022, 01:02:56 am
Only the builds with gcc10 in the filename are from GCC10, so as far as I can tell, that's just seamonkey...
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on July 13, 2022, 03:21:07 am
OTOH, I forgot that I uploaded the 9.4.0 build of TB :) And I screwed up the name.
Now I'm having problems building. Did a bunch of merging as I had to many branches and repulled Mozilla and then forgot to do the other stuff needed to make SM build which left me staring at a never before seen error, especially since I didn't pass --enable-extensions to configure
Code: [Select]
3:50.91 configure: error: Unrecognized extension provided to --enable-extensions: inspector.
Now building FF, I'm reminded that I didn't restore extensions like inspector and Chatzilla nor rerun autoconf a couple of places. Still a couple of things missing, thanks to backups they're being replaced so should have a 10.4.0 build of Firefox then SM eventually, plus the source at Sourceforge buildable.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on July 13, 2022, 06:46:42 am
Well the build died with,
Code: [Select]
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h: In constructor 'js::jit::TypedOrValueRegister::TypedOrValueRegister(js::jit::MIRType, js::jit::AnyRegister)':
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:177:19: error: use of deleted function 'js::jit::TypedOrValueRegister::U::U()'
  177 |       : type_(type)
      |                   ^
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:167:11: note: 'js::jit::TypedOrValueRegister::U::U()' is implicitly deleted because the default definition would be ill-formed:
  167 |     union U {
      |           ^
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:169:22: error: union member 'js::jit::TypedOrValueRegister::U::value' with non-trivial 'js::jit::ValueOperand::ValueOperand()'
  169 |         ValueOperand value;
      |                      ^~~~~
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h: In constructor 'js::jit::TypedOrValueRegister::TypedOrValueRegister(js::jit::ValueOperand)':
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:183:28: error: use of deleted function 'js::jit::TypedOrValueRegister::U::U()'
  183 |       : type_(MIRType_Value)
      |                            ^
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h: In constructor 'js::jit::ConstantOrRegister::ConstantOrRegister()':
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:241:5: error: use of deleted function 'js::jit::ConstantOrRegister::U::U()'
  241 |     {}
      |     ^
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:224:11: note: 'js::jit::ConstantOrRegister::U::U()' is implicitly deleted because the default definition would be ill-formed:
  224 |     union U {
      |           ^
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:224:11: error: use of deleted function 'js::jit::TypedOrValueRegister::TypedOrValueRegister()'
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:174:5: note: 'js::jit::TypedOrValueRegister::TypedOrValueRegister()' is implicitly deleted because the default definition would be ill-formed:
  174 |     TypedOrValueRegister() = default;
      |     ^~~~~~~~~~~~~~~~~~~~
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:174:5: error: use of deleted function 'js::jit::TypedOrValueRegister::U::U()'
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h: In constructor 'js::jit::ConstantOrRegister::ConstantOrRegister(JS::Value)':
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:244:23: error: use of deleted function 'js::jit::ConstantOrRegister::U::U()'
  244 |       : constant_(true)
      |                       ^
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h: In constructor 'js::jit::ConstantOrRegister::ConstantOrRegister(js::jit::TypedOrValueRegister)':
Y:/work/cc45-git/mozilla/js/src/jit/RegisterSets.h:250:24: error: use of deleted function 'js::jit::ConstantOrRegister::U::U()'
  250 |       : constant_(false)

Have to check if it still compiles with 9.2.0 in case of a merge failure, which is doubtful. I did find fixes for assertions with GCC 6 which might apply, starting from here, https://bugzilla.mozilla.org/show_bug.cgi?id=1245783 (https://bugzilla.mozilla.org/show_bug.cgi?id=1245783) it's a shame they did a "won't fix for 45ESR"
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on July 13, 2022, 04:39:38 pm
Same error with 9.2.0 and further study shows it is a bad merge :(
Have to fix and hope history isn't too far gone.
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Martin Iturbide on July 17, 2022, 05:09:49 pm
Hi

There is a news on Slashdot , "GCC Rust Approved by Steering Committee, Beta Likely Next April (https://developers.slashdot.org/story/22/07/17/0110250/gcc-rust-approved-by-steering-committee-beta-likely-next-april)". For what I understand RUST will be included on the GCC compiler next year.

I guess it partially good news for us, if gcc keeps compiling on this platform. But I guess that even with this we are still far away from compiling newer Firefox on OS/2.

Regards
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Dave Yeo on July 17, 2022, 07:22:04 pm
While it likely won't help with Firefox, need a lot more work then just Rust working, early Rust was very unstable with new incompatible regular releases.
What it will help is other programs that are compiled in Rust getting ported. Seems Rust is getting very popular and even small utilities are being ported to it.
Will also have to see how well it works on our 32 bit platform. Even current Mozilla doesn't compile if I have $TMPDIR pointed at an HPFS volume as at least one .S (assembly stage) temporary file is over 2GB's and likely it is the same file where GCC sometimes dies due to lack of memory. Sounds like Rust is more demanding then C++
Title: Re: New builds of Thunderbird and SeaMonkey
Post by: Paul Smedley on July 18, 2022, 04:43:23 am
There's also the fact that rust won't be included until most likely GCC 13 next year, and GCC13 is also planning to drop support for the STABS debugging format, which will cause us grief...

From the GCC 12.1 announcement: https://gcc.gnu.org/pipermail/gcc/2022-May/238653.html
Code: [Select]
This release deprecates support for the STABS debugging format and
introduces support for the CTF debugging format.