Subject: pkg/31481: Numerous Mozilla/Firefox problems on Solaris 10
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <segv@netctl.net>
List: pkgsrc-bugs
Date: 10/05/2005 12:55:00
>Number:         31481
>Category:       pkg
>Synopsis:       Numerous Mozilla/Firefox problems on Solaris 10
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 05 12:55:00 +0000 2005
>Originator:     segv
>Release:        
>Organization:
>Environment:
SunOS dhcli-192-168-0-5.netctl.net 5.10 Generic sun4u sparc SUNW,Ultra-5_10
>Description:
It is not possible to build a satisfactory binary distribution of www/firefox from pkgsrc-2005Q3 on Solaris 10, due to a number of problems, details of which follow below:

1. Mozilla/Firefox are built without Xft support, hence the fonts look pretty ugly

The problem is due to www/mozilla/Makefile.common, below is one possible fix:

--- www/mozilla/Makefile.common.orig    2005-10-05 13:21:40.000000000 +0100
+++ www/mozilla/Makefile.common 2005-10-05 13:23:20.000000000 +0100
@@ -187,7 +187,7 @@
 CONFIGURE_ARGS+= --with-pthreads
 .endif
 
-.if ${MOZILLA_USE_XFT} == "YES" && exists(${X11BASE}/include/X11/Xdefs.h)
+.if ${MOZILLA_USE_XFT} == "YES"
 CONFIGURE_ARGS+=       --enable-xft
 # pkgconfig defaults to a "build" dependency, which is what we want.
 .include "../../fonts/Xft2/buildlink3.mk"

The problem occurs because Makefile tests for presence of ${X11BASE}/include/X11/Xdefs.h (which does not exist on Solaris 10) in order to enable Xft support. My guess that this "fix" got implemented due to PR#21745, which breaks Xft support on Solaris. Either remove the test for Xdefs.h from this Makefile, or make it more intelligent, i.e. not enabling Xft support because some header file does not exist is pretty lame, not everyone is running XFree86.


2. www/firefox/patch-ap breaks this package on Solaris 10, which results in the following error:

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

There is already PR#31363 describing the same problem. See https://bugzilla.mozilla.org/show_bug.cgi?id=77788 for more details on this bug. The fix is to fix www/firefox/patches/patch-ap

--- www/firefox/patches/patch-ap.orig   2005-10-05 13:19:34.000000000 +0100
+++ www/firefox/patches/patch-ap        2005-10-03 00:55:27.000000000 +0100
@@ -7,7 +7,7 @@
  LINK_EXE      = $(LINK) $(OS_LFLAGS) $(LFLAGS)
  NFSPWD        = $(NSINSTALL_DIR)/nfspwd
 -CFLAGS        = $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) 
\
-+CFLAGS       += $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
++CFLAGS        = $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
                $(XCFLAGS)
  RANLIB        = echo
  TAR           = /bin/tar


3. Running 'bmake package' in www/firefox fails to build a binary package, because www/firefox/PLIST contains the following file, which for some reason is not installed on Solaris

lib/${MOZILLA}/res/fonts/fontEncoding.properties

I'm not sure of the best way to solve this, either ignore that particular file from PLIST when creating binary package, or find out why fontEncoding.properties is not installed on Solaris.
I applied the following patch in order to create binary package on Solaris

--- www/firefox/PLIST.orig      2005-10-05 13:16:56.000000000 +0100
+++ www/firefox/PLIST   2005-10-03 09:54:27.000000000 +0100
@@ -302,7 +302,7 @@
 lib/${MOZILLA}/res/entityTables/htmlEntityVersions.properties
 lib/${MOZILLA}/res/entityTables/mathml20.properties
 lib/${MOZILLA}/res/entityTables/transliterate.properties
-lib/${MOZILLA}/res/fonts/fontEncoding.properties
+@comment lib/${MOZILLA}/res/fonts/fontEncoding.properties
 lib/${MOZILLA}/res/fonts/mathfont.properties
 lib/${MOZILLA}/res/fonts/mathfontCMEX10.properties
 lib/${MOZILLA}/res/fonts/mathfontCMSY10.properties

>How-To-Repeat:

>Fix: