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:
(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.