KNIME XULRunner binaries for Linux in CentOS 6.2

Hello all,

I installed Knime Desktop 2.5.2 in CentOS 6.2 (x86_64), which has the newer xulrunner, so I followed the instructions in the knime faq to install Knime XULRunner binaries. When I start knime, it outputs:

“Using knime-internal xulrunner as internal web browser…”

but then

“WARN HelpView No html browser for node description available.”

Maybe there are still some unmet shared libraries dependencies? Wouldn’t it be possible to package a statically compiled xulrunner binary?

In any case, if anyone is interested, I ended up compiling from source

mkdir -p /usr/local/xulrunner cd /usr/local/xulrunner wget ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.2.19/source/xulrunner-1.9.2.19.source.tar.bz2 tar xzvf xulrunner-1.9.2.19.source.tar.bz2 cd mozilla-1.9.2 cat > mozconfig << EOF mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@ ac_add_options --enable-application=xulrunner ac_add_options --disable-ogg ac_add_options --disable-gnomevfs ac_add_options --disable-crashreporter ac_add_options --disable-tests ac_add_options --disable-libnotify ac_add_options --disable-necko-wifi ac_add_options --disable-accessibility ac_add_options --disable-view-source ac_add_options --disable-jsd ac_add_options --disable-javaxpcom mk_add_options MOZ_MAKE_FLAGS="-j4" EOF make -f client.mk build

and added “-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/local/xulrunner/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu/dist/bin” to knime.ini, and it’s working.

Cheers,
Miguel

The xulrunner cannot be built statically because Java can only load shared libraries.

ok - what about an option to rebuild the Knime Xulrunner Binaries when this happens?

just my 2 cents,
miguel

A note on the op. Running Centos6.2 workstation I was missing some packages to enable compilation. I did:

yum install libXt-devel  alsa-lib-devel dbus-glib-devel GConf2-devel gtk2-devel

Also the echo statement wasn't writing to the config file so I had to edit it manually

Lastly I had to set a different path to get back to the nice browser view:

-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/local/xulrunner/mozilla-1.9.2/dist/bin

Thanks to Miguel!

Tim

sorry, not “echo” but “cat”, fixed :slight_smile:

We can't sensibly dynamically rebuild the xulrunner binaries. xulrunner depends on about 65 other libraries. Not only the libraries need to be installed on the system but also the corresponding development packages (header files). This is almost never the case on a normal user system.

I'm using 2.8.1 on Redhat 6.4, and I have followed these instructions, and still cannot get the browser to work. Has anyone been able to get this working in the latest version on KNIME?

 

Jeff

Actian (formerly Pervasive)

Fixed - Installed webkitgtk.x86_64 and webkitgtk-devel.x86_64 and eveything works with no changes to knime.ini

 

 

hi,

we are running fedora 17 (64 bit). I installed all the packages named in the posts above. I tried building xulrunner but it the following error occur:

 

/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h: In Instanziierung von »PRBool nsBaseHashtable<KeyClass, DataType, UserDataType>::Put(nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType, UserDataType) [mit KeyClass = nsCStringHashKey; DataType = nsCString_external; UserDataType = nsCString_external; PRBool = int; nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType = const nsACString&]«:
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsCategoryCache.cpp:82:44:   von hier erfordert
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:145:35: Fehler: »PutEntry« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:145:35: Anmerkung: Deklarationen in abhängiger Basis »nsTHashtable<nsBaseHashtableET<nsCStringHashKey, nsCString_external> >« wurden bei unqualifizierter Suche nicht gefunden
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:145:35: Anmerkung: stattdessen »this->PutEntry« verwenden
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h: In Instanziierung von »PRBool nsBaseHashtable<KeyClass, DataType, UserDataType>::Get(nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType, UserDataType*) const [mit KeyClass = nsCStringHashKey; DataType = nsCString_external; UserDataType = nsCString_external; PRBool = int; nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType = const nsACString&]«:
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsCategoryCache.cpp:149:25:   von hier erfordert
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:126:35: Fehler: »GetEntry« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:126:35: Anmerkung: Deklarationen in abhängiger Basis »nsTHashtable<nsBaseHashtableET<nsCStringHashKey, nsCString_external> >« wurden bei unqualifizierter Suche nicht gefunden
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:126:35: Anmerkung: stattdessen »this->GetEntry« verwenden
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h: In Instanziierung von »void nsBaseHashtable<KeyClass, DataType, UserDataType>::Remove(nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType) [mit KeyClass = nsCStringHashKey; DataType = nsCString_external; UserDataType = nsCString_external; nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType = const nsACString&]«:
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsCategoryCache.cpp:167:23:   von hier erfordert
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:159:31: Fehler: »RemoveEntry« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:159:31: Anmerkung: Deklarationen in abhängiger Basis »nsTHashtable<nsBaseHashtableET<nsCStringHashKey, nsCString_external> >« wurden bei unqualifizierter Suche nicht gefunden
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:159:31: Anmerkung: stattdessen »this->RemoveEntry« verwenden
make[5]: *** [nsCategoryCache.o] Fehler 1
make[5]: *** Warte auf noch nicht beendete Prozesse...
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsINIParser.cpp: In Elementfunktion »nsresult nsINIParser::Init(nsILocalFile*)«:
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsINIParser.cpp:91:14: Warnung: Variable »rv« gesetzt, aber nicht verwendet [-Wunused-but-set-variable]
In file included from /home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsINIParser.h:51:0,
                 from /home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsINIParser.cpp:41:
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsClassHashtable.h: In Instanziierung von »PRBool nsClassHashtable<KeyClass, T>::Get(nsClassHashtable<KeyClass, T>::KeyType, T**) const [mit KeyClass = nsDepCharHashKey; T = nsINIParser::INIValue; PRBool = int; nsClassHashtable<KeyClass, T>::KeyType = const char*]«:
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsINIParser.cpp:204:43:   von hier erfordert
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsClassHashtable.h:101:18: Fehler: »GetEntry« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsClassHashtable.h:101:18: Anmerkung: Deklarationen in abhängiger Basis »nsTHashtable<nsBaseHashtableET<nsDepCharHashKey, nsAutoPtr<nsINIParser::INIValue> > >« wurden bei unqualifizierter Suche nicht gefunden
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsClassHashtable.h:101:18: Anmerkung: stattdessen »this->GetEntry« verwenden
In file included from /home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsClassHashtable.h:41:0,
                 from /home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsINIParser.h:51,
                 from /home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsINIParser.cpp:41:
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h: In Instanziierung von »PRBool nsBaseHashtable<KeyClass, DataType, UserDataType>::Put(nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType, UserDataType) [mit KeyClass = nsDepCharHashKey; DataType = nsAutoPtr<nsINIParser::INIValue>; UserDataType = nsINIParser::INIValue*; PRBool = int; nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType = const char*]«:
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsINIParser.cpp:209:41:   von hier erfordert
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:145:35: Fehler: »PutEntry« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:145:35: Anmerkung: Deklarationen in abhängiger Basis »nsTHashtable<nsBaseHashtableET<nsDepCharHashKey, nsAutoPtr<nsINIParser::INIValue> > >« wurden bei unqualifizierter Suche nicht gefunden
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:145:35: Anmerkung: stattdessen »this->PutEntry« verwenden
make[5]: *** [nsINIParser.o] Fehler 1
make[5]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu/xpcom/glue'
make[4]: *** [libs] Fehler 2
make[4]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu/xpcom'
make[3]: *** [libs_tier_xpcom] Fehler 2
make[3]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make[2]: *** [tier_xpcom] Fehler 2
make[2]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make[1]: *** [default] Fehler 2
make[1]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make: *** [build] Fehler 2

 

Can anybody give me a hint why the compilation of xulrunner fails? Or where i can find a working binary of xulrunner 1.9 for 64 bit? I used the build configuration as shown in the first post, but i also tried a couple of others

I downloaded several versions of xulrunner which did not work (I read that version e.g. version 17  would work but it didn't), and i tried to get the node descriptions runnng using webkitgtk instead of xulrunner which didn't work neighter.

I also downloaded the additional "xulrunner" source package from the KNIME repositories but that also does not work. Why? A bit more detailed error messages would help a lot!

 

I appreciate any help!

Jonas

hi,

we are running fedora 17 (64 bit). I installed all the packages named in the posts above. I tried building xulrunner but it the following error occur (I attached the full log file):

/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:145:35: Fehler: »PutEntry« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:145:35: Anmerkung: Deklarationen in abhängiger Basis »nsTHashtable<nsBaseHashtableET<nsDepCharHashKey, nsAutoPtr<nsINIParser::INIValue> > >« wurden bei unqualifizierter Suche nicht gefunden
/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/xpcom/glue/nsBaseHashtable.h:145:35: Anmerkung: stattdessen »this->PutEntry« verwenden
make[5]: *** [nsINIParser.o] Fehler 1
make[5]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu/xpcom/glue'
make[4]: *** [libs] Fehler 2
make[4]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu/xpcom'
make[3]: *** [libs_tier_xpcom] Fehler 2
make[3]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make[2]: *** [tier_xpcom] Fehler 2
make[2]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make[1]: *** [default] Fehler 2
make[1]: Leaving directory `/home/<homedir>/.bin/xulrunner-1.9/fedora-xulrunner-192/mozilla-1.9.2/obj-x86_64-unknown-linux-gnu'
make: *** [build] Fehler 2

Can anybody give me a hint why the compilation of xulrunner fails? Or where i can find a working binary of xulrunner 1.9 for 64 bit? I used the build configuration as shown in the first post, but i also tried a couple of others - all with the same error

I downloaded several versions of xulrunner which did not work (I read that version e.g. version 17 or 3 would work but they didn't), and i tried to get the node descriptions runnng using webkitgtk instead of xulrunner which didn't work neighter.

I also downloaded the additional "xulrunner" source package from the KNIME repositories but that also does not work. Why? A bit more detailed error messages would help a lot!

I appreciate any help!

Jonas

Have you tried the steps described in http://tech.knime.org/faq#q6?

Yes, as i meantioned before, the first "solution" does not make any difference.

As far as i know there is now xulrunner-1.9 package for fedora (there is a xulrunner package but it is the version 22). That's why i tried to compile it on my own...which didn't work. I tried several older versions of xulrunner for which 64 bit packages exist (together with the entry in the knime.ini) but that didn't work neighter. Do you know of any xulrunner-1.9-package for fedora 64 bit?

You have written that you downloaded the Xulrunner source package, but that won't help you very much. Have tried to install the "KNIME XULRunner binaries for Linux"? This contains compiled binaries of xulrunner 1.9 and registers them in KNIME.

the only xulrunner-related package in the KNIME repositories is called "Source for KNIME XULRunner binaries for Linux    1.9.2.0036400", right? I installed this.

 

However our sysadmin managed it to compile the xulrunner after correcting a couple of includes which changed since the xulrunner 1.9 was up-to-date. Now it works!

Thanks for your help!

Good to hear that it works. But there is also a feature called "KNIME XULRunner binaries for Linux". The FAQ entry I linked to explains that you have to disable the grouping of features in the update manager, otherwise you don't see it.