Subject: www/firefox is still broken on Solaris 10
To: None <pkgsrc-users@netbsd.org, taya@netbsd.org>
From: Raymond Meyer <raymond.meyer@rambler.ru>
List: pkgsrc-users
Date: 06/24/2006 12:45:42
I would like to address the problems associated with www/firefox package on
Solaris 10. The package has been broken on Solaris for quite some time and
despite the fact that there are PRs in the bug database, describing some
problems and workarounds, it seems to me that nothing has been done to fix the
problems. Once again, I would like to ask people responsible for www/firefox
package to review the following problems and their solutions:

1. On Solaris 10 Firefox is built without Xft support, which makes fonts look
very ugly. The problem is the following lines in www/firefox/Makefile.common

.if ${MOZILLA_USE_XFT} == "YES" && exists(${X11BASE}/include/X11/Xdefs.h)
 CONFIGURE_ARGS+=       --enable-xft

There is no ${X11BASE}/include/X11/Xdefs.h file on Solaris 10, so the Xft
support is not enabled. In my opinion this is wrong.


2. www/firefox/patches/patch-ap causes problems on Solaris 10, it results in
the following errors:

Undefined                       first referenced
 symbol                             in file
mont_mulf_noconv                    SunOS5.10_OPT.OBJ/mpmontg.o
conv_i32_to_d32                     SunOS5.10_OPT.OBJ/mpmontg.o
conv_i32_to_d16                     SunOS5.10_OPT.OBJ/mpmontg.o
s_mpv_mul_d_add_prop                SunOS5.10_OPT.OBJ/mpmontg.o
s_mpv_mul_d_add                     SunOS5.10_OPT.OBJ/mpi.o
conv_i32_to_d32_and_d16             SunOS5.10_OPT.OBJ/mpmontg.o
s_mpv_mul_d                         SunOS5.10_OPT.OBJ/mpmontg.o
ld: fatal: Symbol referencing errors. No output written to SunOS5.10_OPT.OBJ/lib
freebl_pure32_3.so
collect2: ld returned 1 exit status

One fix is to replace the following line in the patch:

+CFLAGS       += $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \

with

+CFLAGS       = $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \

The fact that the patch sets CFLAGS+= causes problems on Solaris 10


3. With the above fixes www/firefox package can be built and installed, however
when you run Firefox binary, it displays a message box, that says "Could not
initialize browser security components..." this results in SSL not working, so
you can't access secure web portals. The problem here are the following files:

libfreebl_hybrid_3.chk
libfreebl_hybrid_3.so
libfreebl_pure32_3.chk
libfreebl_pure32_3.so

which are missing from /usr/pkg/lib/firefox after www/firefox package has been
installed. The above files are present in the object directory when www/firefox
package is built:

# find . -name "libfreebl*"
./security/nss/lib/freebl/SunOS5.10_OPT.OBJ/libfreebl.a
./security/nss/lib/freebl/SunOS5.10_OPT.OBJ/libfreebl_hybrid_3.so
./security/nss/lib/freebl/SunOS5.10_OPT.OBJ/SunOSpure32/SunOS5.10_OPT.OBJ/libfreebl_pure32_3.so
./security/nss/lib/freebl/SunOS5.10_OPT.OBJ/SunOSpure32/SunOS5.10_OPT.OBJ/libfreebl_pure32_3.chk
./security/nss/lib/freebl/SunOS5.10_OPT.OBJ/libfreebl_hybrid_3.chk
./dist/bin/libfreebl_pure32_3.chk
./dist/bin/libfreebl_pure32_3.so
./dist/bin/libfreebl_hybrid_3.chk
./dist/bin/libfreebl_hybrid_3.so
./dist/lib/libfreebl.a
./dist/lib/libfreebl_hybrid_3.so
./dist/lib/libfreebl_pure32_3.so
./dist/lib/libfreebl_pure32_3.chk
./dist/lib/libfreebl_hybrid_3.chk
./dist/gre/libfreebl_pure32_3.chk
./dist/gre/libfreebl_pure32_3.so
./dist/gre/libfreebl_hybrid_3.chk
./dist/gre/libfreebl_hybrid_3.so

Copying libfreebl_* files by hand to /usr/pkg/lib/firefox fixes the problem. I
have a feeling this is a problem with pkgsrc install of www/firefox package,
it seems some files are not installed properly.

So, can somebody please take some time and have a look at the above problems. I
don't think they are that hard to fix, it's plain to see what's wrong. Can you
please fix www/firefox package for Solaris.