Your message dated Mon, 16 Jun 2008 09:59:52 +0200
with message-id <[EMAIL PROTECTED]>
and subject line Re: Bug#486449: MOZILLA_1_8_BRANCH mismatch changes
sizeof(JSFunctionSpec)
has caused the Debian Bug report #486449,
regarding MOZILLA_1_8_BRANCH mismatch changes sizeof(JSFunctionSpec)
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)
--
486449: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=486449
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: libmozjs-dev
Version: 1.8.1.14-3
Severity: normal
File: /usr/lib/pkgconfig/xulrunner-js.pc
/usr/include/mozjs/jsapi.h contains #ifdefs that change the size
of struct JSFunctionSpec depending on whether MOZILLA_1_8_BRANCH
is defined. The xulrunner source package defines this macro in
configure.in. However, when an application is built to use
mozjs, it seems none of the files in the libmozjs-dev package
gives the application any hint on whether it too should define
MOZILLA_1_8_BRANCH; grepping through all files in the package
shows this macro only in the #ifdefs themselves. If the
application does not define this macro, it gets a definition of
JSFunctionSpec that does not match the compiled library. Because
JS_DefineFunctions() takes an array of JSFunctionSpec as the last
parameter and finds its elements by pointer arithmetic, this
function is then likely to locate only the first element
correctly.
This actually happened to me with the upstream ELinks sources.
There was no crash but JS_DefineFunctions() just failed to define
the second of two functions.
Please change the libmozjs-dev package so that applications can
find out which preprocessor macros they need to define in order to
get definitions that are compatible with the installed library.
In xulrunner 1.8, I suggest adding a #define MOZILLA_1_8_BRANCH
in jsconfig.h, or alternatively to xulrunner-js.pc. (ELinks does
not currently call pkg-config for mozjs but I can change that if
necessary.) In xulrunner 1.9, I guess the incompatibility has
already disappeared; however, I ask you to keep this bug in mind
in case new #ifdefs are ever added to the structure definitions.
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1,
'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.24-1-686
Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8)
Versions of packages libmozjs-dev depends on:
ii libmozjs0d 1.8.1.14-3 The Mozilla SpiderMonkey JavaScrip
ii libnspr4-dev 4.6.7-1 Development files for the NetScape
libmozjs-dev recommends no packages.
-- no debconf information
pgpZy1XqAVbHL.pgp
Description: PGP signature
--- End Message ---
--- Begin Message ---
Version: 1.9~b5-4
On Mon, Jun 16, 2008 at 10:24:48AM +0300, Kalle Olavi Niemitalo wrote:
> Package: libmozjs-dev
> Version: 1.8.1.14-3
> Severity: normal
> File: /usr/lib/pkgconfig/xulrunner-js.pc
>
> /usr/include/mozjs/jsapi.h contains #ifdefs that change the size
> of struct JSFunctionSpec depending on whether MOZILLA_1_8_BRANCH
> is defined. The xulrunner source package defines this macro in
> configure.in. However, when an application is built to use
> mozjs, it seems none of the files in the libmozjs-dev package
> gives the application any hint on whether it too should define
> MOZILLA_1_8_BRANCH; grepping through all files in the package
> shows this macro only in the #ifdefs themselves. If the
> application does not define this macro, it gets a definition of
> JSFunctionSpec that does not match the compiled library. Because
> JS_DefineFunctions() takes an array of JSFunctionSpec as the last
> parameter and finds its elements by pointer arithmetic, this
> function is then likely to locate only the first element
> correctly.
>
> This actually happened to me with the upstream ELinks sources.
> There was no crash but JS_DefineFunctions() just failed to define
> the second of two functions.
>
> Please change the libmozjs-dev package so that applications can
> find out which preprocessor macros they need to define in order to
> get definitions that are compatible with the installed library.
> In xulrunner 1.8, I suggest adding a #define MOZILLA_1_8_BRANCH
> in jsconfig.h, or alternatively to xulrunner-js.pc. (ELinks does
> not currently call pkg-config for mozjs but I can change that if
> necessary.) In xulrunner 1.9, I guess the incompatibility has
> already disappeared; however, I ask you to keep this bug in mind
> in case new #ifdefs are ever added to the structure definitions.
I even removed any extra MOZILLA_1_8_BRANCH that were still in
version 1.9, to be even more sure there is no problem in the future.
Mike
--- End Message ---