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 - Edmund Wong

Pages: [1] 2 3
1
Programming / Re: Building SeaMonkey 2.49.x in 2022 in ArcaOS
« on: December 28, 2022, 10:38:58 am »
Hi Edmund, yes 52ESR has a different build system. It is master in my Mozilla repo and you need to check out 45ESR or such, check the branches.
Dmitriy merged in 52.4 IIRC so basically the 45ESR patches are merged in but there were lots of changes. I managed to patch the old.configure.in's and configure.py's enough to start compiling, they need work such as sound support and short DLL names (or just change the long dll names), DLL's have to be in 8.3 format.
For SeaMonkey, there is only the 45ESR (and older) in the repo. Getting Firefox 52ESR to build should be the next step after building SeaMonkey. I guess I need to revisit applying the patches for Comm-central.

I apologize for being so confused.   I took a look at the version.txt in both comm and mozilla/browser/config and
noticed that they were indeed based on 52esr.  (2.49.9esr and 52.4.x respectively).

sh mozilla\mach build outputs :

Code: [Select]
0:05.62 C:/USR/BIN/make.EXE -f client.mk MOZ_PARALLEL_BUILD=2 -s configure
 0:05.78 test
 0:05.88 echo
 0:06.84 cd d:/work52/objdir
 0:06.84 D:/work52/build/configure
Configure complete!
Be sure to run |mach build| to pick up any changes
 0:07.03 C:/USR/BIN/make.EXE -f client.mk MOZ_PARALLEL_BUILD=2 -s
 0:07.14 test
 0:07.26 echo
 0:08.05 Adding client.mk options from /work52/build/.mozconfig:
 0:08.05     MOZ_OBJDIR=d:/work52/objdir
 0:08.05     MOZ_CO_PROJECT=suite
 0:08.05     MOZ_MAKE_FLAGS=-j2
 0:08.05     FOUND_MOZCONFIG := /work52/build/.mozconfig
 0:08.09 test
 0:08.22 echo
 0:09.05 cd d:/work52/objdir
 0:09.05 D:/work52/build/configure
 0:09.09 make.EXE[1]: *** No targets.  Stop.
 0:09.09 make.EXE: *** [build] Error 2
 0:09.09 0 compiler warnings present.

So I should use "mozilla\mach build"; but I get:

Code: [Select]
[D:\work52\build]mozilla\mach build
SYS1041: The name mozilla\mach is not recognized as an
internal or external command, operable program or batch file.

Looking at the mozilla\mach code, it does make sense to use "sh mozilla\mach build".

Quote
As for ilink, it is the IBM linker, IBM released it, and licensed it, for building Mozilla. Around Firefox 4-10 debug xul.dll became too big for ilink to link so we switched to wlink (wl.exe), which we have the source and a maintainer. Wlink also needed fixing to link xul. For a while, needed the whole address space to link.

How do I get the build process to use wl instead of ilink?   

Thanks

Edmund

2
Programming / Re: Building SeaMonkey 2.49.x in 2022 in ArcaOS
« on: December 28, 2022, 06:07:47 am »
There were mentions of ilink in your message and have come across the fact that I don't have it on my system.

I have installed the OS2tk45 packages; but no ilink.exe. 

I did a "yum whatprovides ilink"  but got nothing. 

Any help appreciated.

Thanks

Edmund


3
Programming / Re: Building SeaMonkey 2.49.x in 2022 in ArcaOS
« on: December 28, 2022, 05:52:28 am »
45 ESR configure doesn't use Python, and mach is ran as sh mach, it will find Python2. I haven't built on my partition with Python3 for quite a while, there was a crash in the resources wrapper but mach would then succeed and then recrash while exiting. Getting resources doesn't work anyways.


I think this and a previous note finally clued into what I might be doing wrong.   I thought I was building ESR52. 

Sorry for being stupid.   Now, it's finally doing the configuring.

So to build ESR52, I need to merge the actual ESR52 repos with the current one I have?

Thanks

Edmund

4
Programming / Re: Building SeaMonkey 2.49.x in 2022 in ArcaOS
« on: December 28, 2022, 02:17:44 am »
Feeling somehow that I'm screwing up the environment, I closed all my command prompts
and re-ran moz_os2_env.cmd.

Then in the command prompt (not sh.exe), I ran "make -f client.mk" and got somewhere.

Code: [Select]
echo
Adding client.mk options from /work52/build2/.mozconfig:
    MOZ_OBJDIR=d:/work52/objdir
    MOZ_CO_PROJECT=suite
    MOZ_MAKE_FLAGS=-j2
    FOUND_MOZCONFIG := /work52/build2/.mozconfig
echo
make[1]: Entering directory `D:/work52/build2'
cd d:/work52/objdir
D:/work52/build2/configure
D:/work52/build2/configure: 26: D:/work52/build2/configure: which: not found
D:/work52/build2/configure.py:7: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
Traceback (most recent call last):
  File "D:/work52/build2/configure.py", line 14, in <module>
    from mozbuild.configure import ConfigureSandbox
  File "D:/work52/build2/mozilla/python/mozbuild/mozbuild/configure/__init__.py", line 31, in <module>
    from mozbuild.util import (
  File "D:/work52/build2/mozilla/python/mozbuild/mozbuild/util.py", line 155
    except OSError, error:
                  ^
SyntaxError: invalid syntax
*** Fix above errors and then restart with\
               "make -f client.mk build"
make[1]: *** [configure] Error 1
make[1]: Leaving directory `D:/work52/build2'
make: *** [d:/work52/objdir/Makefile] Error 2

I'm confused as this kind of error typically means I'm using python3 on python2 code.

The even more confusing thing is while I can run "python -V"  (which outputs 3.9.13) in a command window (not using sh.exe),  I can't use python2.7 (outputs : SYS0193: C:\USR\BIN\PYTHON2.7.exe cannot be run in an OS/2 session).

Should I be using 'sh.exe'?   Further should I have upgraded python to 3?  I'm feeling this might be an issue.

Any help appreciated.

Thanks

Edmund

5
Programming / Re: Building SeaMonkey 2.49.x in 2022 in ArcaOS
« on: December 28, 2022, 01:32:59 am »

Is that the patched version? There are a lot of OS/2 specific patches including reversing all the OS/2 stuff that Mozilla removed. Plus patches to build with GCC 9.2.0
Also need,
mozilla/extensions/inspector
mozilla/extensions/irc #Chatzilla
client.py with the right arguments can pull them in if mercurial behaves or just get the URL's from client.py or, it's been awhile, maybe I ended up commiting them to my tree.
I haven't built in a while.

Yes, I  had cloned the dom-inspector and chatzilla to mozilla/extensions. 

Quote
Code: [Select]
set SHELL=sh.exe
set EMXSHELL=sh.exe
set CONFIG_SHELL=sh.exe
set MAKESHELL=SH.EXE
set EXECSHELL=SH.EXE
set LANG=en_US
set MOZOCONFIG=d:/work52/build/.mozconfig
Typo, set MOZCONFIG=

Ah thanks.  Fixed.

Quote
You installed autoconf213?

Yes, except that I had used "set AUTOCONF=/usr/bin/autoconf213".

I changed that to "set AUTOCONF=c:/usr/bin/autoconf213"

Quote
d:/work52 is correct.
Don't remember that error but if you aren't using a patched configure.in, it won't get far. client.mk should recreate the 2.13 configure's, might have to delete the three. parent, mozilla and mozilla/js.

Where would I get the patched configure.in file?   Would it already be in the repo that you linked?

Quote
You will have to also run autoconf (not autoconf213) in mozilla/nsprpub so configure is OS/2 friendly. And autoreconf -sfy in mozilla\js\src\ctypes\libffi. Need OS/2 libtool used as well as configure.

Did that.

Quote
I also found the need for a config.site as well, in usr/local/share  or $PREFIX/share, or IIRC $CONFIG_SITE  Mostly needed to pull in some toolkit includes after the libc ones. Toolkit has its own ancient libc.

What is config.site?

Quote
Code: [Select]
export CFLAGS=-Zomf
export CXXFLAGS=-Zomf
export ASFLAGS=-Zomf
# K: is @unixroot here
export 'CPPFLAGS=-idirafter K:/usr/include/os2tk45'
export 'LIBS=-lcx'
export ranlib=echo

is what I have.

Pardon my confusion; but where do I put this?  in moz_os2_env.cmd?

Quote
Edit: fix typos, also make sure you are using JFS as the file systems, the build creates tmp files over 2GB and dies with tmp* on a HPFS partition.

Yes, after fiddling around with ArcaOS, I ended up settling with JFS.

After that, I'm still getting:


Code: [Select]
[code]
# make -f client.mk
echo 0
SYS1041: The name MOZ_PGO is not recognized as an internal or external command, operable program or batch file.
SYS0003: The system cannot find the path specified.
client.mk:204: d:/work52/objdir/.mozconfig.mk: No such file or directory
mkdir -p 'd:/work52/objdir/'
SYS1003: The syntax of the command is incorrect.
make: *** [d:/work52/objdir/.mkdir.done] Error 1


Note: the "echo 0" is a test line that I added to client.mk to show what MOZ_PGO is.

Thanks

Edmund

6
Programming / Re: Building SeaMonkey 2.49.x in 2022 in ArcaOS
« on: December 23, 2022, 05:52:13 am »
My comm-45ESR tree,
Code: [Select]
git clone https://dyeo@git.code.sf.net/p/cc-os2/code cc-os2-code
Never finished adding 52ESR, now being lazy I would simply diff it against the official tree and start there without history, the history would still be in 45ESR.
And
Code: [Select]
git clone https://dyeo@git.code.sf.net/p/mozilla-os2/code mozilla-os2-codeThough I think you have it already.

Yes, I cloned it off your repo. 

Thanks

Edmund

7
Programming / Building SeaMonkey 2.49.x in 2022 in ArcaOS
« on: December 23, 2022, 02:33:13 am »
Hi,

I'm opting to create a new topic (as opposed to posting to the old thread "how to build SeaMonkey" as it's 5 years down the road and I think some things have changed somewhat.

Anyway, I think I have everything I need to build SeaMonkey 2.49.x (minus my memory of building it when it was released some time ago). 

Code setup is the following:

Main root dir is d:/work52.

Comm-esr52 is in d:/work52/build  [using SEAMONKEY_2_49_RELBRANCH]
Mozilla-esr52 is in d:/work52/build/mozilla   [using SEAMONKEY_2_49_RELBRANCH]

OBJDIR should be in d:/work52/objdir

I have this in my "moz_os2_env.txt":

Code: [Select]
set SHELL=sh.exe
set EMXSHELL=sh.exe
set CONFIG_SHELL=sh.exe
set MAKESHELL=SH.EXE
set EXECSHELL=SH.EXE
set LANG=en_US
set MOZOCONFIG=d:/work52/build/.mozconfig
set AUTOCONF=/usr/bin/autconf213
set YASM=nasm
set LIBJPEG_TURBO_AS=nasm
set RANLIB=echo
set LIBS=-lcx -lkai
set EMXOMFLD_RC_TYPE=WRC
set EMXOMFLD_RC=wrc.exe

set TEMP=d:\temp
set TMP=d:\temp
set TMPDIR=d:\temp


Here's my .mozconfig:

Code: [Select]
mk_add_options MOZ_OBJDIR=d:/work52/objdir
mk_add_options MOZ_BUILD_PROJECT=suite
# mk_add_options MOZ_CO_PROJECT=suite
# mk_add_options MOZ_PGO=0
mk_add_options MOZ_MAKE_FLAGS="-j2"
ac_add_options --enable-application=suite

ac_add_options --disable-tests
ac_add_options --enable-optimize
ac_add_options --disable-debug


here is what I did:

1) cd d:/work52/build
2) make -f client.mk   [also tried python2.7 mozilla/mach build]

Got the following:

Code: [Select]
# make -f client.mk
echo 0
SYS1041: The name MOZ_PGO is not recognized as an internal or external command, operable program or batch file.
SYS0003: The system cannot find the path specified.
client.mk:204: d:/work52/objdir/.mozconfig.mk: No such file or directory
mkdir -p 'd:/work52/objdir/'
SYS1003: The syntax of the command is incorrect.
make: *** [d:/work52/objdir/.mkdir.done] Error 1


I am guessing my confusion (again) is with what type of path to use.

So I changed the "d:/work52" to "/work52" and tried again.  Similar result.

Code: [Select]
# make -f client.mk
SYS1041: The name MOZ_PGO is not recognized as an internal or external command, operable program or batch file.
SYS0003: The system cannot find the path specified.
client.mk:204: /work52/objdir/.mozconfig.mk: No such file or directory
mkdir -p '/work52/objdir/'
SYS1003: The syntax of the command is incorrect.
make: *** [/work52/objdir/.mkdir.done] Error 1

From my initial check, that MOZ_PGO comes from client.mk's line. 

Code: [Select]
# Also, make MOZ_PGO available to mozconfig when passed on make command line.
MOZCONFIG_CONTENT := $(subst ||,$(CR),$(subst || ,$(CR),$(shell MOZ_PGO=$(MOZ_PGO) $(TOPSRCDIR)/$(MOZCONFIG_LOADER) $(TOPSRCDIR) | sed 's/$$/||/')))
$(eval $(MOZCONFIG_CONTENT))


Setting MOZ_PGO=0 in the .mozconfig makes no difference.  I still get this error. 

I'm thinking it might be something related to that "$(shell MOZ_PGO=..." part.  Though  I don't know why.

Any help appreciated.

Edmund

8
Programming / Re: system error while cloning
« on: December 23, 2022, 02:05:14 am »
BTW, your trap was in _trapQueryRegister, the routine panicked while processing a trap, things were really messed up. If it repeats, Arca Noae wants you to open an issue to investigate.

Thanks for that info.  Will create an issue when it happens again.

Quote
Did you have Security/2 installed when it happened? Don't know if it is SMP safe (lots of old programs never considered multi-CPU's) or uses kernel stuff that may have changed.

Yes, I did have Security/2 installed; but have removed it from the system as it wasn't what I
wanted as well as it not really working as expected.

Edmund

9
Programming / Re: system error while cloning
« on: December 21, 2022, 09:51:48 am »
The OS/2 source is at git clone https://dyeo@git.code.sf.net/p/mozilla-os2/code mozilla-os2-code with master being 52ESR, IIRC only 52.4. 45ESR is the branch for the current Firefox etc.

Currently cloning it.   Thanks!

I would've hated doing the cloning with mercurial.  Ever since the code base size skyrocketed,
I've never had a good time with cloning it. 

Edmund

10
Programming / building openssh
« on: December 21, 2022, 09:19:57 am »
I took some pointers from the stickied "Newbie guide to porting software?" thread and am trying to build openssh (straight from the openssh project).

This is my os2_env.txt:

export CFLAGS="-O2 -g -march=pentium4 -mtune=generic"
export CXXFLAGS="-O2 -g -march=pentium4 -mtune=generic"
export CC=gcc
export CXX=g++
export CPP=cpp
export CXXCPP=cpp
export LD=wl
export AR=emxomfld
export exeext=.exe
export SH=c:/USR/BIN/SH.EXE
export SHELL=c:/usr/bin/sh.exe
export CONFIG_SHELL=/@unixroot/usr/bin/sh
export POSIX_SHELL=c:/usr/bin/sh.exe
export PREFERABLY_POSIX_SHELL=c:/usr/bin/sh.exe

I installed gawk, autoconf, make automake packages
Then I did the following:

1) opened Command Window
2) ran "sh.exe"
3) cd openssh
4) autoconf
5) sh ./configure

It ran configure for a bit then choked at the following:

checking for sh... (cached) /@unixroot/usr/bin/bash.exe
checking for bash... c:/USR/BIN/SH.EXE
checking for ksh... (cached) c:/USR/BIN/SH.EXE
checking for sh... (cached) c:/USR/BIN/SH.EXE
checking for groff... /@unixroot/usr/bin/groff.exe
checking for nroff... /@unixroot/usr/bin/nroff
checking for mandoc... no
checking for pkg-config... /@unixroot/usr/bin/pkg-config.exe
checking for groupadd... groupadd
checking for useradd... useradd
checking for pkgmk... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for passwd... no
checking for inline... inline
checking whether LLONG_MAX is declared... yes
checking whether LONG_LONG_MAX is declared... yes
checking whether SYSTR_POLICY_KILL is declared... no
checking whether RLIMIT_NPROC is declared... yes
checking whether PR_SET_NO_NEW_PRIVS is declared... no
checking whether OpenSSL will be used for cryptography... yes
checking if gcc supports -Werror... yes
./configure: 5763: ./configure: Syntax error: word unexpected (expecting ")")


In configure:5763, I have:
   OSSH_CHECK_CFLAG_COMPILE(-pipe)
   OSSH_CHECK_CFLAG_COMPILE(-Wunknown-warning-option)
   OSSH_CHECK_CFLAG_COMPILE(-Wno-error=format-truncation)
   OSSH_CHECK_CFLAG_COMPILE(-Qunused-arguments)


(I am assuming that it's talking about this line.   It's been some time since I've looked at a configure script.

I do know about the bitwise openssh-os2 repo and I did clone off that; but the configuration breaks off
at the same place.

Any help appreciated.

Edmund
2) autoconf

11
Applications / Re: ssh - sshd
« on: December 21, 2022, 05:20:19 am »
I tried using Security/2 but there was a lot of stuff that didn't seem to work well.  So I am trying the openssh rpm
packages.

While I installed "openssh-server",  I too am having issues with getting it to work.
Unfortunately, a lot of the searches have brought me to *nix based solutions.

C:\usr\sbin\sshd gives me the same error as everyone; that is, "sshd re-exec requires execution with an absolute path"

Edmund



12
Applications / Re: Security/2 and user parameters
« on: December 21, 2022, 04:34:47 am »
Any specific reason why you installed this ssh version instead the rpm one? Personally I played a bit with ssh a few weeks ago but I've no experience in this field.

The main reason was that I followed a thread that suggested a bunch of 'multi-user ssh' capable software.  I did try the rpm
version of ssh, but couldn't figure out how to create a new user or even point to the right home directory.

Edmund

13
Programming / Re: system error while cloning
« on: December 21, 2022, 02:11:28 am »
Hi Edmund,
Did you cut off the top of the trap screen? Really need the whole screen for diagnoses.
There's a good run down of the basics here, http://www.warpcave.com/os2diags/, the Trap Screen reference link, whole page is worth bookmarking.
Suggestions for cloning include using --depth=1, tweaking %HOME%\.gitconfig to keep the pack sizes reasonable and at worse, falling back to using git fetch.

Hi Dave,

Nope, not that I noticed. (Really should've taken a screen shot.   Live and learn).  Anyway, moot point since
the installed mercurial can't clone the Mozilla ESR52 repository (due to missing bundle2), so I ended up cloning
on my system, zipping up the directory and sending it over via scp.

Edmund

14
Setup & Installation / Re: re-installing SeaMonkey
« on: December 20, 2022, 10:23:57 am »
You might want to install ffmpeg-legacy-56 for more multimedia support. It is not required but adds support for various things like mp3's

Thanks for the suggestion.  Just installed that. 

Edmund

15
Applications / Security/2 and user parameters
« on: December 20, 2022, 09:59:25 am »
I just installed the openssh from www.altsan.org/os2/utils as well as Security/2.  While the documentation does
show the parameters available for "user",  it doesn't really explain how to use it explicitly.  Like, how to change the directory for a particular user.

I managed to create a new user as well as changed the password.

However, I'm having trouble with changing the shell and directory using the following commands:

  user -u -s sh.exe cc
  user -u -d c:\home\users\cc cc

Both give me the error:

user: failed 5

I've no clue what this means aside for the fact that it failed. 

I installed this ssh server so I can ssh into this OS/2 box.   Right now, I can ssh into the box; but instead
of the public/private key usage, it uses password which isn't ideal.

Any clarifications appreciated.

Edmund

Pages: [1] 2 3