1

Topic: Building Iceweasel-UXP fails

If i try to build Iceweael-UXP on FreeBSD 11.2 like this

cd /tmp
git clone https://github.com/MoonchildProductions/UXP
cd UXP/application/
git clone https://git.hyperbola.info:50100/software/iceweasel-uxp.git
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 ..
echo 'mk_add_options AUTOCLOBBER=1' >> .mozconfig
echo 'ac_add_options --enable-application=iceweasel-uxp' >> .mozconfig
echo 'ac_add_options --enable-default-toolkit=cairo-gtk2' >> .mozconfig
echo 'ac_add_options --disable-pulseaudio' >> .mozconfig
echo 'ac_add_options --enable-optimize=-O2' >> .mozconfig
echo 'ac_add_options --enable-strip' >> .mozconfig
echo 'ac_add_options --disable-debug' >> .mozconfig
echo 'ac_add_options --enable-release' >> .mozconfig
echo 'ac_add_options --disable-sync' >> .mozconfig
echo 'ac_add_options --disable-verify-mar' >> .mozconfig
echo 'ac_add_options --disable-updater' >> .mozconfig
echo 'ac_add_options --disable-crashreporter' >> .mozconfig
echo 'ac_add_options --disable-maintenance-service' >> .mozconfig
echo 'ac_add_options --disable-tests' >> .mozconfig
echo 'ac_add_options --disable-ipdl-tests' >> .mozconfig
./mach build

then i get this error. And if i try to run the mentioned command, i get this. Now, if i edit "UXP/obj-x86_64-unknown-freebsd11.2/dist/include/mozilla/throw_gcc.h" and insert

#ifdef __FreeBSD__
#include <cstdio>
#endif

then it works, but breaks another way. The mentioned command gives back in this.

What can be the problem?

2

Re: Building Iceweasel-UXP fails

The problem per build log comes from gfx/harfbuzz. Updating that library may or may not resolve the issue. Several third-party libs are currently planned for being updated in UXP, but of course no one has attempted to build it on FreeBSD.

3

Re: Building Iceweasel-UXP fails

It seems, that somewhy the compiler does not find snprintf in stdio.h. I don't know why, since it is there, even the FreeBSD manual says this: https://www.freebsd.org/cgi/man.cgi?que … ormat=html

Any idea?

4

Re: Building Iceweasel-UXP fails

Unsure. Have you tried using --with-system-harfbuzz in the .mozconfig? It's not preferred but will force you to use whatever harfbuzz version FreeBSD has, and bypass the error.

5

Re: Building Iceweasel-UXP fails

I've added

echo 'ac_add_options --with-system-harfbuzz' >> .mozconfig

to the script, but it has failed, reporting there is no such option.

6

Re: Building Iceweasel-UXP fails

That's the correct option, but it seems to have been removed in UXP at some point. This patch might or might not work, I don't think anyone has built with system-harfbuzz in awhile so YMMV...

https://paste.debian.net/plain/1111831

7 (edited by tch 2019-10-31 19:14:45)

Re: Building Iceweasel-UXP fails

Thanks. FreeBSD 11.2 had harfbuzz 2.3.0 and the patch needed 2.3.1, but an update to 11.3 solved that. However it still fails to compile: http://oscomp.hu/depot/iw_test_build_syshb.log
It gave a lot of "undefined references", but this one was what halted it:

 2:50.84 /usr/local/bin/ld: libxul.so: hidden symbol `hb_set_intersect' isn't defined
 2:50.84 /usr/local/bin/ld: final link failed: bad value

8 (edited by zapper 2019-11-15 03:32:32)

Re: Building Iceweasel-UXP fails

tch wrote:

Thanks. FreeBSD 11.2 had harfbuzz 2.3.0 and the patch needed 2.3.1, but an update to 11.3 solved that. However it still fails to compile: http://oscomp.hu/depot/iw_test_build_syshb.log
It gave a lot of "undefined references", but this one was what halted it:

 2:50.84 /usr/local/bin/ld: libxul.so: hidden symbol `hb_set_intersect' isn't defined
 2:50.84 /usr/local/bin/ld: final link failed: bad value

This interests me as well, I would like to see iceweasel-uxp ported to OpenBSD...

I think others would like that as well. smile

HyperbolaBSD: The Future of Secure Libre Lightweight Operating Systems!