2010-12-16 42 views
1

Ubuntu 10.04.1 64位上的Eclipse SWT 3.3.0中的內部瀏覽器不運行。我相信這是因爲libxpcom.so找不到,我相信這是因爲libxul0d軟件包沒有安裝。但是,它似乎在Ubuntu 10中被刪除了,我不知道如何找出原因,它被取代了什麼,以及我是否可以安全地從業力中使用libxul0d。如何在Ubuntu Lucid Lynx(10.x)上安裝XULRunner 1.8.x/libxul0d?對於Eclipse SWT瀏覽器是必需的

這主要是一個系統管理問題,所以我從superuser.com過帳,但程序員可能知道答案,我敢肯定很多人會想知道一旦找到答案。

錯誤消息:

org.eclipse.swt.SWTError: No more handles (java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3346 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file) 

這是運行Eclipse SWT 3.3.0 Eclipse RCP應用程序。如果我發現庫和運行ldd libswt-mozilla-gtk-3346.so我得到:

linux-vdso.so.1 => (0x00007fff269ff000) 
libxpcom.so => not found 
libnspr4.so => /usr/lib/libnspr4.so (0x00007fbd6470b000) 
libplds4.so => /usr/lib/libplds4.so (0x00007fbd64506000) 
libplc4.so => /usr/lib/libplc4.so (0x00007fbd64301000) 
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fbd63fed000) 
libm.so.6 => /lib/libm.so.6 (0x00007fbd63d69000) 
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fbd63b52000) 
libc.so.6 => /lib/libc.so.6 (0x00007fbd637cf000) 
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fbd635b1000) 
libdl.so.2 => /lib/libdl.so.2 (0x00007fbd633ad000) 
/lib64/ld-linux-x86-64.so.2 (0x00007fbd64a73000) 

我可以看到libxul0d in karmic具有共享庫,但該庫不清醒。

看來,根據Eclipse的SWT FAQ,我需要的XULrunner 1.8.x的所以在清醒中,XULRunner 1.9.x的也無濟於事。

那麼,我如何知道該軟件包發生了什麼,以及我選擇安裝什麼?請注意,升級Eclipse SWT不是一個選項。

回答

1
  1. 下載從因果庫(不清晰)以下文件:

    • libmozjs0d(http://packages.ubuntu.com/karmic/amd64/libmozjs0d/download)
    • libxul共用(http://packages.ubuntu.com/karmic/libxul-common)
    • libxul0d (http://packages.ubuntu.com/karmic/libxul0d)
    • xulrunner的(http://packages.ubuntu.com/karmic/xulrunner)
  2. 安裝包,在給定的順序,使用以下命令。

    須藤dpkg -i來〜/桌面/ .deb文件

注意,有可能要使用apt-get引腳業報庫(https://help.ubuntu.com/community/ UbuntuBackports),但我還沒有嘗試過。

問題是報告正在通過SWT加載瀏覽器。SWT代碼然後尋找瀏覽器並嘗試查找各種​​所需的共享庫。 XULRunner是Firefox瀏覽器的核心功能,在清晰的存儲庫中現在是v1.9。但是,SWT v3.3.0(正如我們所要求的)需要v1.8,這是業內的。

0

您可以從Mozilla下載較舊的Firefox(例如3.5),然後將存檔文件解包到某處。然後添加路徑的java.library.path系統屬性到您的的eclipse.ini

-vmargs -Djava.library.path=<somewhere>/firefox-3.5/lib/ 

或其他方式下載的XULRunner 1.8.x的某處,然後添加以下VM參數,

-vmargs -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib32/xulrunner-1.8.x/ 
+0

嗨,謝謝你的回答;它導致我找到最終的解決方案。我無法找到64位版本的Firefox 1.5(其中包含XULRunner 1.8),所以我無法讓主意1工作。我也找不到64位版本的XUL Runner。令人沮喪的是,由於「對FT_Outline_Decompose的未定義引用」以及「未定義隱藏符號FT_Outline_Decompose」,我也無法編譯它。我最初的想法是,Ubuntu 10中較新的GCC會混淆舊的XULRunner版本。 – Sarge 2010-12-16 22:01:26