Here is my buildscript:
#!/bin/sh cd /tmp if [ "$3" = "" ]; then ANAME="RELBASE_""$1"".tar.gz" else ANAME="RB_""$1"".tar.gz" fi wget "https://repo.palemoon.org/MoonchildProductions/UXP/archive/""$ANAME" -O "$ANAME" tar xzf "$ANAME" rm "$ANAME" cd uxp mkdir application cd application ANAME="iceweasel-uxp-""$2"".tar.gz" wget "https://repo.hyperbola.info:50000/other/iceweasel-uxp/""$ANAME" -O "$ANAME" tar xzf "$ANAME" rm "$ANAME" mv "iceweasel-uxp-""$2" iceweasel-uxp #sed -i 's/Vendor=Mozilla/Vendor=Hyperbola/g' iceweasel-uxp/app/application.ini #sed -i 's/Name=Firefox/Name=Iceweasel-UXP/g' iceweasel-uxp/app/application.ini cd .. cp /a/UTILDISK/UPGRADE/iceweasel-uxp/.mozconfig ./.mozconfig sed -i "s/die('Cannot find project %s', build_app)/fake = 0/g" build/moz.configure/init.configure ./mach build ./mach package cp ./obj-x86_64-pc-linux-gnu/dist/iceweasel-uxp-*.tar.bz2 /opt/ cd .. rm -rf ./uxp cd /opt tar -xjvf iceweasel-uxp-*.tar.bz2 mv iceweasel-uxp-*.tar.bz2 /a/UTILDISK/UPGRADE/iceweasel-uxp/
And my .mozconfig:
.mozconfig
STRIP_FLAGS="--strip-debug" export MOZILLA_OFFICIAL=0 export MOZ_TELEMETRY_REPORTING=0 export MOZ_ADDON_SIGNING=1 export MOZ_REQUIRE_SIGNING=0 export AUTOCONF="/usr/bin/autoconf2.13" mk_add_options AUTOCLOBBER=1 mk_add_options MOZ_MAKE_FLAGS="-j7" mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir ac_add_options --enable-application=application/iceweasel-uxp ac_add_options --disable-official-branding ac_add_options --with-branding=application/iceweasel-uxp/branding/iceweasel ac_add_options --enable-default-toolkit=cairo-gtk2 ac_add_options --enable-alsa ac_add_options --disable-pulseaudio ac_add_options --enable-optimize="-O2 -w" ac_add_options --enable-strip ac_add_options --disable-debug ac_add_options --enable-release ac_add_options --disable-sync ac_add_options --disable-verify-mar ac_add_options --disable-updater ac_add_options --disable-crashreporter ac_add_options --disable-mozril-geoloc ac_add_options --disable-nfc ac_add_options --disable-synth-pico ac_add_options --disable-gamepad ac_add_options --disable-startup-notification ac_add_options --disable-necko-wifi ac_add_options --disable-dbus ac_add_options --disable-userinfo ac_add_options --disable-maintenance-service ac_add_options --disable-tests ac_add_options --disable-ipdl-tests ac_add_options --disable-safe-browsing ac_add_options --disable-url-classifier ac_add_options --disable-eme ac_add_options --disable-gconf ac_add_options --disable-dbus ac_add_options --enable-pie ac_add_options --enable-gold ac_add_options --with-pthreads
The compilation finishes up with a remark that there were some warnings, which were these:
22:13.94 /tmp/uxp/application/iceweasel-uxp/branding/iceweasel/pref/iceweasel-uxp-branding.js: WARNING: no preprocessor directives found 22:14.02 tab-selected-start.svg 22:14.51 /tmp/uxp/application/iceweasel-uxp/components/customizableui/CustomizableUI.jsm: WARNING: no preprocessor directives found 22:14.64 /tmp/uxp/application/iceweasel-uxp/components/search/service/nsSearchService.js: WARNING: no preprocessor directives found 22:21.08 /tmp/uxp/application/iceweasel-uxp/base/content/tab-content.js: WARNING: no preprocessor directives found 22:21.13 /tmp/uxp/application/iceweasel-uxp/base/content/urlbarBindings.xml: WARNING: no preprocessor directives found 22:21.81 /tmp/uxp/application/iceweasel-uxp/components/preferences/in-content/content.js: WARNING: no preprocessor directives found 22:24.02 /tmp/uxp/application/iceweasel-uxp/themes/linux/findBar.css: WARNING: no preprocessor directives found
And while ./mach run runs the browser, the "hamburgermenu" at the right side does not work. And ./mach package fails with these errors:
./mach run
./mach package
0:00.14 /usr/bin/gmake -C . -j7 -s -w package 0:00.14 gmake: Entering directory '/tmp/uxp/moz-objdir' 0:00.17 gmake[1]: Entering directory '/tmp/uxp/moz-objdir/application/iceweasel-uxp/installer' 0:00.20 gmake[2]: Entering directory '/tmp/uxp/moz-objdir/application/iceweasel-uxp/installer' 0:00.21 gmake[3]: Entering directory '/tmp/uxp/moz-objdir/application/iceweasel-uxp/installer' 0:00.42 Error: /tmp/uxp/application/iceweasel-uxp/installer/package-manifest.in:415: Missing file(s): bin/components/mozProtocolHandler.js 0:00.42 Error: /tmp/uxp/application/iceweasel-uxp/installer/package-manifest.in:416: Missing file(s): bin/components/mozProtocolHandler.manifest 0:00.42 Error: /tmp/uxp/application/iceweasel-uxp/installer/package-manifest.in:435: Missing file(s): bin/components/CSSUnprefixingService.js 0:00.42 Error: /tmp/uxp/application/iceweasel-uxp/installer/package-manifest.in:436: Missing file(s): bin/components/CSSUnprefixingService.manifest 0:00.48 Error: /tmp/uxp/application/iceweasel-uxp/installer/package-manifest.in:508: Missing file(s): bin/components/privatebrowsing.xpt 0:00.48 Error: /tmp/uxp/application/iceweasel-uxp/installer/package-manifest.in:509: Missing file(s): bin/components/PrivateBrowsing.manifest 0:00.48 Error: /tmp/uxp/application/iceweasel-uxp/installer/package-manifest.in:510: Missing file(s): bin/components/PrivateBrowsingTrackingProtectionWhitelist.js 0:00.98 Traceback (most recent call last): 0:00.98 File "/tmp/uxp/toolkit/mozapps/installer/packager.py", line 423, in <module> 0:00.98 main() 0:00.98 File "/tmp/uxp/toolkit/mozapps/installer/packager.py", line 374, in main 0:00.98 copier.add(mozpath.join(respath, 'removed-files'), removals) 0:00.98 File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__ 0:00.98 self.gen.next() 0:00.98 File "/tmp/uxp/python/mozbuild/mozpack/errors.py", line 131, in accumulate 0:00.99 raise AccumulatedErrors() 0:00.99 mozpack.errors.AccumulatedErrors 0:01.00 gmake[3]: *** [/tmp/uxp/toolkit/mozapps/installer/packager.mk:41: stage-package] Error 1 0:01.00 gmake[3]: Leaving directory '/tmp/uxp/moz-objdir/application/iceweasel-uxp/installer' 0:01.00 gmake[2]: *** [/tmp/uxp/toolkit/mozapps/installer/packager.mk:82: make-package] Error 2 0:01.00 gmake[2]: Leaving directory '/tmp/uxp/moz-objdir/application/iceweasel-uxp/installer' 0:01.00 gmake[1]: *** [/tmp/uxp/config/rules.mk:494: default] Error 2 0:01.00 gmake[1]: Leaving directory '/tmp/uxp/moz-objdir/application/iceweasel-uxp/installer' 0:01.00 gmake: *** [/tmp/uxp/application/iceweasel-uxp/build.mk:9: package] Error 2 0:01.00 gmake: Leaving directory '/tmp/uxp/moz-objdir'
The OS is Debian 11, AMD64. Compiler is GCC 10. Autoconf 2.13 is installed and used. Python is 3.9.2. Did not made a difference if i ran these with Python 2.7.
I tried it with several UXP and several IceWeasel-UXP versions. Also it did not made any difference if i cloned your repo into /tmp/uxp/application/iceweasel-uxp instead of unzipping an archive from Hyperbola to there.
/tmp/uxp/application/iceweasel-uxp
I have the same error as the person above.
I currently use Hyperbola 0.4 Testing and I have the current patches you gave me, but the tauthon one doesn't work and I should be able to do ./mach package, but it won't let me.
Contact me whenever you can help.
Broken by upstream removal of TrackingProtection module. Hyperbola GIT is currently having some technical issues sending git push requests, so attached patch will fix the issue. Applies against iceweasel-uxp.git.
@g4jc
Thank you, your patch worked. I am writing this comment from my freshly built and packaged IceWeasel-UXP. Will this patch be merged into IceWeasel-UXP 3.2?
Out of curiosity, i tried to compile it against the latest UXP tree, instead of Release Base 20230320. It did compile and package was also successful, but when i try to run the result, it dies with error
XPCOMGlueLoad error for file /opt/iceweasel-uxp/libhunspell.so: /opt/iceweasel-uxp/libhunspell.so: cannot open shared object file: No such file or directory Couldn't load XPCOM.
I've symlinked libhunspell.so from my system, but then i got this:
libhunspell.so
XPCOMGlueLoad error for file /opt/iceweasel-uxp/libxul.so: libhunspell.so: cannot open shared object file: No such file or directory Couldn't load XPCOM.
But this is only happens if i do
git clone https://repo.palemoon.org/MoonchildProductions/UXP mv UXP uxp
Instead of
wget "https://repo.palemoon.org/MoonchildProductions/UXP/archive/RB_20230320.tar.gz" -O "RB_20230320.tar.gz" tar -xzf "RB_20230320.tar.gz" rm "RB_20230320.tar.gz"
Out of curiosity, i tried to compile it against the latest UXP tree, instead of Release Base 20230320. It did compile and package was also successful, but when i try to run the result, it dies with error XPCOMGlueLoad error for file /opt/iceweasel-uxp/libhunspell.so: /opt/iceweasel-uxp/libhunspell.so: cannot open shared object file: No such file or directory Couldn't load XPCOM. I've symlinked libhunspell.so from my system, but then i got this: XPCOMGlueLoad error for file /opt/iceweasel-uxp/libxul.so: libhunspell.so: cannot open shared object file: No such file or directory Couldn't load XPCOM. But this is only happens if i do git clone https://repo.palemoon.org/MoonchildProductions/UXP mv UXP uxp Instead of wget "https://repo.palemoon.org/MoonchildProductions/UXP/archive/RB_20230320.tar.gz" -O "RB_20230320.tar.gz" tar -xzf "RB_20230320.tar.gz" rm "RB_20230320.tar.gz"
Same thing as you happened to me. However, I commented out libhunspell in dependentlibs and I can run iceweasel-uxp from source without any massive headaches.
Thanks for the info. However, i've chosen to add
ac_add_options --enable-system-hunspell
to .mozconfig. Works that way too.
Thanks for the info. However, i've chosen to add ac_add_options --enable-system-hunspell to .mozconfig. Works that way too.
Heads up, there might be an issue building in the newest uxp, the RC 10/27/23 one. I don't know if this will cause problems for future builds, but thought I should warn you all here.
Couldn't make a tarball... :(
Thanks for the warning.
See next comment, couldn't delete or edit till I had both here.
@tch68k no problem, I don't like it when that happens either.
It would also be nice if the icedove-uxp build could have its patches in uxp-overlays updated so that I can build icedove-uxp with them, but yeah, having one be buildable is better than none.
If you feel like it, try building to see if you can diagnose the problem. I wouldn't have a clue, I am not really sure what commands I would use to do so.
Also, timewise, and patiencewise, I might be missing some skills too for this. ;)
I have even less experience with building "Firefox" code, than you, so i doubt i can diagnose the problem. Also, currently i'm buried with work and life, so i do not really have the time to try it, sorry. Maybe a few weeks later.
You flatter me, I just follow g4jc's instructions lol. I am sure you know better than I do.
I know almost nothing about programming languages. I do know small amounts of tricks here and there for command line code, but building a web browser like palemoon, basilisk-browser, iceweasel-uxp or an email client like icedove-uxp?
Nope.
I hope g4jc has a fix for uxp builds.
I also only follow the build instructions, so i guess we are sitting in the same boat.
I hope so too, that he will have a fix.
UXP upstream has been mucking around with shared hunspell and shared ICU code. Applying these two patches will likely resolve it. I've applied them to the tree here (since Hyperbola's git is again not allowing me to push commits).
https://repo.palemoon.org/Basilisk-Dev/Basilisk/commit/225f4e1468d5893764ba9d53fdb80c2b83cd90a2
https://repo.palemoon.org/Basilisk-Dev/Basilisk/commit/4d6e2f8f4748a68a39b2f0901e62ca2a30c24b6c
Thanks. As soon i'll have some time, i'll try it.
UXP upstream has been mucking around with shared hunspell and shared ICU code. Applying these two patches will likely resolve it. I've applied them to the tree here (since Hyperbola's git is again not allowing me to push commits). https://repo.palemoon.org/Basilisk-Dev/Basilisk/commit/225f4e1468d5893764ba9d53fdb80c2b83cd90a2 https://repo.palemoon.org/Basilisk-Dev/Basilisk/commit/4d6e2f8f4748a68a39b2f0901e62ca2a30c24b6c
Thanks for fixing this and I hope you will port this to HyperbolaBSD when its out, especially testing or stable.
This web browser is wonderful now that I have a certain trick from a certain user on the forums. Edit: well it was before too actually, but its better now because less user agent sniffers can be annoying.
A final note to add, by building with the below removed from .config:
I can make the tarball. Its rather strange... the newest tarball works if I don't have the above in my .config file. When I say newest I mean the newest RB version.
:)
Just a heads up to anyone on this thread.
Thanks, that line is also present in my config, so i'll have to remove it.