NetBSD Problem Report #48749

From www@NetBSD.org  Wed Apr 16 05:50:23 2014
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 78125A5839
	for <gnats-bugs@gnats.NetBSD.org>; Wed, 16 Apr 2014 05:50:23 +0000 (UTC)
Message-Id: <20140416055021.7DE69A583A@mollari.NetBSD.org>
Date: Wed, 16 Apr 2014 05:50:21 +0000 (UTC)
From: schaecsn@gmx.net
Reply-To: schaecsn@gmx.net
To: gnats-bugs@NetBSD.org
Subject: www/firefox and www/seamonkey have a NetBSD specific patch
X-Send-Pr-Version: www-1.0

>Number:         48749
>Category:       pkg
>Synopsis:       www/firefox and www/seamonkey have a NetBSD specific patch
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    ryoon
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Apr 16 05:55:00 +0000 2014
>Closed-Date:    Sun Nov 23 03:46:57 +0000 2014
>Last-Modified:  Sun Nov 23 03:46:57 +0000 2014
>Originator:     Stefan
>Release:        Linux pkgsrc2014Q1
>Organization:
>Environment:
>Description:
Could this patch be only applied on NetBSD and other OSes that have a libc.so.7 patch-toolkit_components_osfile_modules_osfile__unix__allthreads.jsm


This makes firefox unusable under linux:

$ firefox

*** ERROR addons.xpi: Failed to process extension changes at startup: Error: Could not open system library: no libc (resource://gre/modules/osfile/osfile_unix_allthreads.jsm:57)


>How-To-Repeat:

>Fix:

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->ryoon
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Wed, 16 Apr 2014 09:08:02 +0000
Responsible-Changed-Why:
Over to maintainer


From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, schaecsn@gmx.net
Cc: 
Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 specific patch
Date: Wed, 16 Apr 2014 22:15:54 +0900 (JST)

 Hi,

 From: schaecsn@gmx.net, Date: Wed, 16 Apr 2014 05:55:00 +0000 (UTC)

 > Could this patch be only applied on NetBSD and other OSes that have a libc.so.7 patch-toolkit_components_osfile_modules_osfile__unix__allthreads.jsm
 > 
 > 
 > This makes firefox unusable under linux:
 > 
 > $ firefox
 > 
 > *** ERROR addons.xpi: Failed to process extension changes at startup: Error: Could not open system library: no libc (resource://gre/modules/osfile/osfile_unix_allthreads.jsm:57)

 NetBSD has no libc.so.7 too.

 % ls /usr/lib/libc.so*
 /usr/lib/libc.so          /usr/lib/libc.so.12       /usr/lib/libc.so.12.190

 Removing libc.so.7 entry make your firefox work properly?
 What is the output of "ls /usr/lib/libc.so*"?

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

From: Stefan Schaeckeler <schaecsn@gmx.net>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 specific patch
Date: Wed, 16 Apr 2014 09:07:22 -0700 (PDT)

 Oh, then the patch is FreeBSD specific and happens to work on NetBSD but not on Linux?

 My libc:

 # ls -l /usr/lib/libc[.-]*so*
 -rw-r--r-- 1 root root 238 2009-04-03 02:49 /usr/lib/libc.so

 # cat /usr/lib/libc.so
 /* GNU ld script
    Use the shared library, but some functions are only in
    the static library, so try that secondarily.  */
 OUTPUT_FORMAT(elf32-i386)
 GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )


 # ls -l /lib/libc[.-]*so*
 -rwxr-xr-x 1 root root 1658350 2009-04-03 03:00 /lib/libc-2.9.so
 lrwxrwxrwx 1 root root      11 2013-08-06 19:01 /lib/libc.so.6 -> libc-2.9.so


 Programms are usually linked against /lib/libc.so.6, e.g.:

 # ldd /usr/local/bin/firefox 
   linux-gate.so.1 =>  (0xffffe000)
   libpthread.so.0 => /lib/libpthread.so.0 (0xb7869000)
   libnspr4.so => /usr/local/lib/nspr/libnspr4.so (0xb7837000)
   libstdc++.so.6 => /usr/local/gcc47/lib/./libstdc++.so.6 (0xb774e000)
   libm.so.6 => /lib/libm.so.6 (0xb7728000)
   libgcc_s.so.1 => /usr/local/gcc47/lib/./libgcc_s.so.1 (0xb770d000)
   libc.so.6 => /lib/libc.so.6 (0xb75ad000)
   /lib/ld-linux.so.2 (0xb7887000)
   libdl.so.2 => /lib/libdl.so.2 (0xb75a9000)
   librt.so.1 => /lib/librt.so.1 (0xb75a0000)



 With the above patch, I get the initially reported error message. The GUI shows up nevertheless, but I can't klick on anything. Without the patch, firefox works fine.

 I also purged the .mozialla directory to simulate a fresh start. It has not helped. I need to have the patch the removed to get firefox running.

  Stefan

From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, schaecsn@gmx.net
Cc: 
Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 specific patch
Date: Thu, 17 Apr 2014 09:03:44 +0900 (JST)

 From: Stefan Schaeckeler <schaecsn@gmx.net>, Date: Wed, 16 Apr 2014 16:10:01 +0000 (UTC)

 > The following reply was made to PR pkg/48749; it has been noted by GNATS.
 > 
 > From: Stefan Schaeckeler <schaecsn@gmx.net>
 > To: gnats-bugs@NetBSD.org
 > Cc: 
 > Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 >  specific patch
 > Date: Wed, 16 Apr 2014 09:07:22 -0700 (PDT)
 > 
 >  Oh, then the patch is FreeBSD specific and happens to work on NetBSD but not on Linux?
 >  
 >  My libc:
 >  
 >  # ls -l /usr/lib/libc[.-]*so*
 >  -rw-r--r-- 1 root root 238 2009-04-03 02:49 /usr/lib/libc.so
 >  
 >  # cat /usr/lib/libc.so
 >  /* GNU ld script
 >     Use the shared library, but some functions are only in
 >     the static library, so try that secondarily.  */
 >  OUTPUT_FORMAT(elf32-i386)
 >  GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )
 >  
 >  
 >  # ls -l /lib/libc[.-]*so*
 >  -rwxr-xr-x 1 root root 1658350 2009-04-03 03:00 /lib/libc-2.9.so
 >  lrwxrwxrwx 1 root root      11 2013-08-06 19:01 /lib/libc.so.6 -> libc-2.9.so
 >  
 >  
 >  Programms are usually linked against /lib/libc.so.6, e.g.:
 >  
 >  # ldd /usr/local/bin/firefox 
 >    linux-gate.so.1 =>  (0xffffe000)
 >    libpthread.so.0 => /lib/libpthread.so.0 (0xb7869000)
 >    libnspr4.so => /usr/local/lib/nspr/libnspr4.so (0xb7837000)
 >    libstdc++.so.6 => /usr/local/gcc47/lib/./libstdc++.so.6 (0xb774e000)
 >    libm.so.6 => /lib/libm.so.6 (0xb7728000)
 >    libgcc_s.so.1 => /usr/local/gcc47/lib/./libgcc_s.so.1 (0xb770d000)
 >    libc.so.6 => /lib/libc.so.6 (0xb75ad000)
 >    /lib/ld-linux.so.2 (0xb7887000)
 >    libdl.so.2 => /lib/libdl.so.2 (0xb75a9000)
 >    librt.so.1 => /lib/librt.so.1 (0xb75a0000)
 >  
 >  
 >  
 >  With the above patch, I get the initially reported error message. The GUI shows up nevertheless, but I can't klick on anything. Without the patch, firefox works fine.
 >  
 >  I also purged the .mozialla directory to simulate a fresh start. It has not helped. I need to have the patch the removed to get firefox running.

 Thank you.
 I will change the patch as following.
 This patch will work for your Linux?

 diff -r 5f7c149b07ba toolkit/components/osfile/modules/osfile_unix_allthreads.jsm
 --- a/toolkit/components/osfile/modules/osfile_unix_allthreads.jsm	Sat Mar 15 00:36:26 2014 -0400
 +++ b/toolkit/components/osfile/modules/osfile_unix_allthreads.jsm	Thu Apr 17 09:02:58 2014 +0900
 @@ -42,6 +42,7 @@
  let libc;
  let libc_candidates =  [ "libSystem.B.dylib",
                           "libc.so.6",
 +                         "libc.so.7",
                           "libc.so" ];
  for (let i = 0; i < libc_candidates.length; ++i) {
    try {

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

From: Stefan Schaeckeler <schaecsn@gmx.net>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 specific patch
Date: Wed, 16 Apr 2014 18:57:13 -0700 (PDT)

 Yes, this diff works for firefox/linux and for seamonkey/linux when applied to lib/seamonkey/modules/osfile/osfile_unix_allthreads.jsm

 When we are at it, could you also take care of this issue: On Linux, when using alsa, bmake configure die in:

 configure:21232: checking for alsa
 configure:21239: checking MOZ_ALSA_CFLAGS
 configure:21244: checking MOZ_ALSA_LIBS
 configure:21350: checking for libpulse
 configure: error: pulseaudio audio backend requires libpulse development package
 *** Error code 1

 Stop.
 bmake: stopped in /usr/pkgsrc/www/firefox
 *** Error code 1

 Stop.


 This is my workaround that made firefox build. Perhaps this should be better integrated with PKG_OPTIONS pulseaudio


 --- www/firefox/options.mk.orig 2014-04-12 17:49:45.000000000 -0700
 +++ www/firefox/options.mk      2014-04-12 17:50:24.000000000 -0700
 @@ -19,12 +19,15 @@
  .include "../../mk/bsd.options.mk"

  .if !empty(PKG_OPTIONS:Malsa)
 -CONFIGURE_ARGS+=       --enable-alsa
 +CONFIGURE_ARGS+=       --enable-alsa --disable-pulseaudio
  .include "../../audio/alsa-lib/buildlink3.mk"
  .else
  CONFIGURE_ARGS+=       --disable-alsa
  .endif

 +CONFIGURE_ARGS+=       --disable-gamepad
 +
 +
  .if !empty(PKG_OPTIONS:Mgnome)
  .include "../../devel/libgnomeui/buildlink3.mk"
  .include "../../sysutils/gnome-vfs/buildlink3.mk"



 Similiar issue for seamonkey, except that I even needed to explictly --enable-alsa and --disable-pulseaudio.

  Stefan

From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, schaecsn@gmx.net
Cc: 
Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 specific patch
Date: Sun, 20 Apr 2014 08:37:59 +0900 (JST)

 From: Stefan Schaeckeler <schaecsn@gmx.net>, Date: Thu, 17 Apr 2014 02:00:01 +0000 (UTC)

 > The following reply was made to PR pkg/48749; it has been noted by GNATS.
 > 
 > From: Stefan Schaeckeler <schaecsn@gmx.net>
 > To: gnats-bugs@NetBSD.org
 > Cc: 
 > Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 >  specific patch
 > Date: Wed, 16 Apr 2014 18:57:13 -0700 (PDT)
 > 
 >  Yes, this diff works for firefox/linux and for seamonkey/linux when applied to lib/seamonkey/modules/osfile/osfile_unix_allthreads.jsm
 >  
 >  When we are at it, could you also take care of this issue: On Linux, when using alsa, bmake configure die in:
 >  
 >  configure:21232: checking for alsa
 >  configure:21239: checking MOZ_ALSA_CFLAGS
 >  configure:21244: checking MOZ_ALSA_LIBS
 >  configure:21350: checking for libpulse
 >  configure: error: pulseaudio audio backend requires libpulse development package
 >  *** Error code 1
 >  
 >  Stop.
 >  bmake: stopped in /usr/pkgsrc/www/firefox
 >  *** Error code 1
 >  
 >  Stop.
 >  
 >  
 >  This is my workaround that made firefox build. Perhaps this should be better integrated with PKG_OPTIONS pulseaudio
 >  
 >  
 >  --- www/firefox/options.mk.orig 2014-04-12 17:49:45.000000000 -0700
 >  +++ www/firefox/options.mk      2014-04-12 17:50:24.000000000 -0700
 >  @@ -19,12 +19,15 @@
 >   .include "../../mk/bsd.options.mk"
 >   
 >   .if !empty(PKG_OPTIONS:Malsa)
 >  -CONFIGURE_ARGS+=       --enable-alsa
 >  +CONFIGURE_ARGS+=       --enable-alsa --disable-pulseaudio
 >   .include "../../audio/alsa-lib/buildlink3.mk"
 >   .else
 >   CONFIGURE_ARGS+=       --disable-alsa
 >   .endif
 >   
 >  +CONFIGURE_ARGS+=       --disable-gamepad
 >  +
 >  +
 >   .if !empty(PKG_OPTIONS:Mgnome)
 >   .include "../../devel/libgnomeui/buildlink3.mk"
 >   .include "../../sysutils/gnome-vfs/buildlink3.mk"
 >  
 >  
 >  
 >  Similiar issue for seamonkey, except that I even needed to explictly --enable-alsa and --disable-pulseaudio.

 Following patch should work and it is more preferable.

 And why --disable-gamepad is needed?
 Do you have another problem under Linux?

 Thank you.

 Index: options.mk
 ===================================================================
 RCS file: /cvsroot/pkgsrc/www/firefox/options.mk,v
 retrieving revision 1.19
 diff -u -r1.19 options.mk
 --- options.mk	16 Nov 2013 02:01:46 -0000	1.19
 +++ options.mk	19 Apr 2014 23:36:07 -0000
 @@ -58,6 +58,8 @@
  .if !empty(PKG_OPTIONS:Mpulseaudio)
  .include "../../audio/pulseaudio/buildlink3.mk"
  CONFIGURE_ARGS+=	--enable-pulseaudio
 +.else
 +CONFIGURE_ARGS+=	--disable-pulseaudio
  .endif
  # XXX end


 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

From: Stefan Schaeckeler <schaecsn@gmx.net>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 specific patch
Date: Sun, 20 Apr 2014 10:43:43 -0700 (PDT)

 > Following patch should work and it is more preferable.

 Works for me.


 > And why --disable-gamepad is needed?
 > Do you have another problem under Linux?

 I didn't realize I sent it out as well. Yes, I need it on Linux (slackware 13.0), otherwise bmake configure dies here (linux/joystick.h is actually on the filesystem, but the configure c snippet including it dies):

 - - - snip - - -
 checking for linux/joystick.h... no
 configure: error: Can't find header linux/joystick.h, needed for gamepad support. Please install Linux kernel headers or reconfigure with --disable-gamepad to disable gamepad support.
 ------ config.log ------
 /usr/include/linux/types.h:26:25: note: previous declaration of 'uid_t' was here
 In file included from /usr/include/sys/types.h:133:0,
                  from /usr/include/linux/input.h:14,
                  from /usr/include/linux/joystick.h:31,
                  from configure:22148:
 /usr/include/time.h:105:19: error: conflicting types for 'timer_t'
 In file included from /usr/include/linux/joystick.h:30:0,
                  from configure:22148:
 /usr/include/linux/types.h:22:26: note: previous declaration of 'timer_t' was here
 In file included from /usr/include/linux/input.h:14:0,
                  from /usr/include/linux/joystick.h:31,
                  from configure:22148:
 /usr/include/sys/types.h:235:20: error: conflicting types for 'blkcnt_t'
 In file included from /usr/include/linux/joystick.h:30:0,
                  from configure:22148:
 /usr/include/linux/types.h:119:23: note: previous declaration of 'blkcnt_t' was here
 configure: failed program was:
 #line 22146 "configure"
 #include "confdefs.h"

 #include <linux/joystick.h>
 int main() {

 ; return 0; }
 configure: error: Can't find header linux/joystick.h, needed for gamepad support. Please install Linux kernel headers or reconfigure with --disable-gamepad to disable gamepad support.
 *** Error code 1
 - - - snip - - -


 I'm not sure if this depends on the particular Linux kernel/header versions and so I wanted not to report it. I don't know how pkgsrc should treat this issue.

  Stefan 

From: "Ryo ONODERA" <ryoon@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48749 CVS commit: pkgsrc/www/firefox
Date: Sun, 20 Apr 2014 23:07:55 +0000

 Module Name:	pkgsrc
 Committed By:	ryoon
 Date:		Sun Apr 20 23:07:55 UTC 2014

 Modified Files:
 	pkgsrc/www/firefox: options.mk

 Log Message:
 Fix PR pkg/48749. When pulseaudio option is not selected, disable
 pulseaudio option explicitly.

 Fix Linux build.


 To generate a diff of this commit:
 cvs rdiff -u -r1.19 -r1.20 pkgsrc/www/firefox/options.mk

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, schaecsn@gmx.net
Cc: 
Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 specific patch
Date: Mon, 21 Apr 2014 08:10:59 +0900 (JST)

 Hi,

 From: Stefan Schaeckeler <schaecsn@gmx.net>, Date: Sun, 20 Apr 2014 17:45:00 +0000 (UTC)

 > The following reply was made to PR pkg/48749; it has been noted by GNATS.
 > 
 > From: Stefan Schaeckeler <schaecsn@gmx.net>
 > To: gnats-bugs@NetBSD.org
 > Cc: 
 > Subject: Re: pkg/48749: www/firefox and www/seamonkey have a NetBSD
 >  specific patch
 > Date: Sun, 20 Apr 2014 10:43:43 -0700 (PDT)
 > 
 >  > Following patch should work and it is more preferable.
 >  
 >  Works for me.

 I have just committed.

 >  > And why --disable-gamepad is needed?
 >  > Do you have another problem under Linux?
 >  
 >  I didn't realize I sent it out as well. Yes, I need it on Linux (slackware 13.0), otherwise bmake configure dies here (linux/joystick.h is actually on the filesystem, but the configure c snippet including it dies):
 >  
 >  - - - snip - - -
 >  checking for linux/joystick.h... no
 >  configure: error: Can't find header linux/joystick.h, needed for gamepad support. Please install Linux kernel headers or reconfigure with --disable-gamepad to disable gamepad support.
 >  ------ config.log ------
 >  /usr/include/linux/types.h:26:25: note: previous declaration of 'uid_t' was here
 >  In file included from /usr/include/sys/types.h:133:0,
 >                   from /usr/include/linux/input.h:14,
 >                   from /usr/include/linux/joystick.h:31,
 >                   from configure:22148:
 >  /usr/include/time.h:105:19: error: conflicting types for 'timer_t'
 >  In file included from /usr/include/linux/joystick.h:30:0,
 >                   from configure:22148:
 >  /usr/include/linux/types.h:22:26: note: previous declaration of 'timer_t' was here
 >  In file included from /usr/include/linux/input.h:14:0,
 >                   from /usr/include/linux/joystick.h:31,
 >                   from configure:22148:
 >  /usr/include/sys/types.h:235:20: error: conflicting types for 'blkcnt_t'
 >  In file included from /usr/include/linux/joystick.h:30:0,
 >                   from configure:22148:
 >  /usr/include/linux/types.h:119:23: note: previous declaration of 'blkcnt_t' was here
 >  configure: failed program was:
 >  #line 22146 "configure"
 >  #include "confdefs.h"
 >  
 >  #include <linux/joystick.h>
 >  int main() {
 >  
 >  ; return 0; }
 >  configure: error: Can't find header linux/joystick.h, needed for gamepad support. Please install Linux kernel headers or reconfigure with --disable-gamepad to disable gamepad support.
 >  *** Error code 1
 >  - - - snip - - -
 >  
 >  
 >  I'm not sure if this depends on the particular Linux kernel/header versions and so I wanted not to report it. I don't know how pkgsrc should treat this issue.

 I will test firefox build under my Debian GNU/Linux test environment.

 Thank you.

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

State-Changed-From-To: open->closed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sun, 23 Nov 2014 03:46:57 +0000
State-Changed-Why:
fix was committed in April


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.