Hello,
I am new to this forum, so I'd like to write a few words about myself:
I am 21 years old and studying mechanical engineering in Aachen, Germany. In my leisure I like to tinker with old Computers and so I found out about OS/2 in 2014. At the moment my main laptop for OS/2 is a HP tc4400 from 2007 running OS/2 Warp 4 Convenience Package 2 with FixPak 6. My knowledge about programming is limited but I wrote a few small programs in Java and REXX.
And now to my Problem:
I am trying to build Seamonkey 2.42 from the sources (in the end i want to create a german version of it, but this may be step two or three). With ANPM I installed everything mentioned in this post https://github.com/bitwiseworks/mozilla-os2/issues/82#issuecomment-59601735 except mozftcfgft because I don't know where to get it and was not sure if it is needed for the current version. Additionally I installed the "...-devel" package of every package needed to run Seamonkey. Unfortunately I found no list of build requirements for the current version. I installed mercurial and git and downloaded the sources according to the build.os2 for Seamonkey. I did not find the described mozconfig file so i used the one from https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/OS2_Build_Prerequisites/Building_on_OS2_using_Mercurial:
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj
ac_add_options --enable-application=suite
ac_add_options --disable-tests
ac_add_options --enable-optimize
ac_add_options --disable-debug
and set MOZCONFIG to use it.
Then I started make -f client.mk 2>&1 | tee build.log
but this failed with
configure: error: yasm is a required build tool for this architecture when webm is enabled. You may either install yasm or --disable-webm (which disables the WebM video format). See https://developer.mozilla.org/en/YASM for more details.
I reread the github thread mentioned above and run the commands posted by dmik in sh.exe to set the environment settings. I did not set CFLAGS="-march=i486 -mtune=i686" and CXXFLAGS="-march=i486 -mtune=i686" because that caused the make command to fail with checking for EMX/OS2 environment... no
checking for executable suffix... configure: error: installation or configuration problem: compiler cannot create executables.
. It still failed because of missing yasm so I set YASM=nasm.exe and LIBJPEG_TURBO_AS=nasm.exe. This worked (at least it didn't fail at this point) but now it fails with the message:
configure: error: ECMAScript Internationalization API is not yet supported on this platform
I have no clue what this means.
I am pretty sure that I have missed some steps to set up the build environment, so I would be very happy if someone has a step by step instruction or at least a list of required environment settings and development packages.
Many thanks, Laurenz
Hi Laurenz, welcome to os2world and Mozilla land.
Sorry for not keeping up with updating the build description, I'll try to update the tree later with more up to date build instructions and mozconfig.
Right now I'm fighting with applying the last patch, our mercurial is buggy
![Smiley :)](https://www.os2world.com/forum/Smileys/default/smiley.gif)
so the source at bitbucket is one commit behind. I'll fix that soon. I also have a German locale patch that I can give you once you're building.
MZFNTCFGFT is no longer needed we're using the real fontconfig.
Sounds like you have your build environment setup now.
I run this at a cmd prompt before building to finish setting up my environment, call it mozenv.cmd. You'll have to make adjustments to your setup and some stuff such as the toolkit lines probably aren't needed if you used ANPM to install the toolkit.
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
rem make sure to use an absolute pathname for %MOZCONFIG%
set MOZCONFIG=/work/cc45esr/.mozconfig
set AUTOCONF=/usr/bin/autoconf213
REM needed to find ilink and rc from the toolkit
set PATH=g:\OS2TK45\bin;%PATH%
set DPATH=g:\OS2TK45\bin;%DPATH%
set YASM=nasm
set LIBJPEG_TURBO_AS=nasm
set RANLIB=echo
set LIBS=-lcx -lkai
REM Wlink stuff
set EMXOMFLD_TYPE=WLINK
set EMXOMFLD_LINKER=wl.exe DISA 121,58
REM Wrc stuff
set EMXOMFLD_RC_TYPE=WRC
set EMXOMFLD_RC=wrc.exe
rem tmp files
set TEMP=K:\var\temp
set TMP=K:\var\temp
set TMPDIR=K:\var\temp
rem misc stuff
set PYTHON=python.exe
We might need to extend this later for your setup.
My .mozconfig for SeaMonkey is
# sh
# Build configuration script
#
# See http://www.mozilla.org/build/unix.html for build instructions
#
# Options for client.mk.
mk_add_options MOZ_CO_PROJECT=suite,browser,mail
mk_add_options MOZ_OBJDIR=/work/cc45esr/obj-sm
mk_add_options AUTOCONF=/usr/bin/autoconf213
#depends on number of cores
mk_add_options MOZ_MAKE_FLAGS="-j3"
# Options for 'configure' (same as command-line options).
ac_add_options --disable-tests
ac_add_options --enable-optimize="-mtune=generic -march=i686 -O3"
ac_add_options --disable-debug
#ac_add_options --disable-debug-symbols
ac_add_options --enable-application=suite
ac_add_options --enable-system-cairo
ac_add_options --enable-calendar
ac_add_options --with-intl-api
ac_add_options --with-system-icu
ac_add_options --with-system-zlib
ac_add_options --with-system-nss
ac_add_options --with-system-nspr
ac_add_options --with-system-libvpx
And to build, I use mach as that is the official way. I use this short command file run in cc45esr
set MOZCONFIG=/work/cc45esr/.mozconfig.sm
python mozilla/mach -l build_mach_sm.log build 2>&1 | tee build_sm.log
Other considerations, make sure you have VIRTUALADDRESSLIMIT=3072 in config.sys, we need the full address range to link xul.dll. Need at least 2GBs of ram to avoid excessive swapping. Takes over 5 hours to build here on a 2.4 Ghz C2D.
The binaries will be in obj-sm/dist/bin.
To package, you need lxlite on your path. Need to run the attached cmd file (after adjusting to your environment) from cc45esr to build the xqs files, cd into obj-sm and run make package.
I'm sure I've forgotten something so please post any failures or successes you have.