#17 Can't open chm file on x86_64 firefox 3.0.1

open
nobody
None
5
2008-09-05
2008-09-05
Yifei Huang
No

Archlinux X86_64
Firefox 3.0.1 Linux x86_64
chmreader-linux_x86_64-gcc3-0.2.3.xpi

CHM Reader 0.2.3 is installed without problem. However, when I open chm files that can be openned by previous edition of chm reader, nothing happens. I got the following error message on firefox error console:

Error: uncaught exception: [Exception... "'[JavaScript Error: "Components.classes[kCHMFILE_CONTRACTID] is undefined" {file: "file:///home/mumhero/.mozilla/firefox/5s25dcbh.default/extensions/%7B6e098d65-7d2d-46d4-ada0-2f882a29f795%7D/components/chm_protocol.js" line: 149}]' when calling method: [nsIProtocolHandler::newChannel]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "JS frame :: chrome://global/content/bindings/browser.xml :: loadURIWithFlags :: line 186" data: yes]

Discussion

  • Had the same issue as you, got it solved by compiling the package myself under arch x86_64.

    export GECKO_SDK=/usr/lib/xulrunner-devel-1.9.0.1/
    make package

     
  • Yifei Huang
    Yifei Huang
    2008-09-20

    Thanks. This works for me too.
    However, thare is a bug in the SConstruct file, there is no x86_64 in ms. The following is the new SConstruct file

    --- SConstruct 2008-09-20 18:29:58.000000000 +0800
    +++ SConstruct.old 2008-09-20 18:40:23.000000000 +0800
    @@ -24,7 +24,7 @@
    def get_default_abi():
    ss = { 'Linux' : 'linux', 'Windows' : 'windows' }
    s = ss[system()]
    - ms = { 'i686' : 'x86', 'i586' : 'x86', 'i486' : 'x86', 'i386' : 'x86' , 'x86_64' : 'x86_64'}
    + ms = { 'i686' : 'x86', 'i586' : 'x86', 'i486' : 'x86', 'i386' : 'x86'}
    m = ms[machine()]
    cs = { 'Linux' : 'gcc3', 'Windows' : 'msvc' }
    c = cs[system()]