#147 Nixnote does not start on Fedora 18/64bit

closed
nobody
None
5
2013-04-02
2013-04-02
tante
No

I installed nixnote from the 64bit .tar.gz (the .rpm has some file conflict with a fedora package). The install went fine but nixnote can't start and gives the following exception:

Exception in thread "main" java.lang.ExceptionInInitializerError
at com.trolltech.qt.QtJambiObject.<clinit>(QtJambiObject.java:60)
Caused by: java.lang.RuntimeException: Loading library failed, progress so far:
Unpacking .jar file: 'qtjambi-linux64-gcc-4.5.2_01.jar'
Checking Archive 'qtjambi-linux64-gcc-4.5.2_01.jar'
- cache key='gcc-20090628-2055'
- adding 'libstdc++.so.6' to library map
- library: name='lib/libstdc++.so.6',
- adding 'libQtCore.so.4' to library map
- library: name='lib/libQtCore.so.4',
- adding 'libQtGui.so.4' to library map
- library: name='lib/libQtGui.so.4',
- adding 'libQtXml.so.4' to library map
- library: name='lib/libQtXml.so.4',
- adding 'libQtSql.so.4' to library map
- library: name='lib/libQtSql.so.4',
- adding 'libQtSvg.so.4' to library map
- library: name='lib/libQtSvg.so.4',
- adding 'libQtNetwork.so.4' to library map
- library: name='lib/libQtNetwork.so.4',
- adding 'libQtOpenGL.so.4' to library map
- library: name='lib/libQtOpenGL.so.4',
- adding 'libQtWebKit.so.4' to library map
- library: name='lib/libQtWebKit.so.4',
- adding 'libQtXmlPatterns.so.4' to library map
- library: name='lib/libQtXmlPatterns.so.4',
- adding 'libphonon.so.4' to library map
- library: name='lib/libphonon.so.4',
- library: name='plugins/phonon_backend/libphonon_gstreamer.so', never load
- library: name='plugins/imageformats/libqjpeg.so', never load
- library: name='plugins/imageformats/libqgif.so', never load
- library: name='plugins/imageformats/libqmng.so', never load
- library: name='plugins/imageformats/libqtiff.so', never load
- library: name='plugins/imageformats/libqsvg.so', never load
- library: name='plugins/iconengines/libqsvgicon.so', never load
- library: name='plugins/codecs/libqcncodecs.so', never load
- library: name='plugins/codecs/libqjpcodecs.so', never load
- library: name='plugins/codecs/libqkrcodecs.so', never load
- library: name='plugins/codecs/libqtwcodecs.so', never load
- library: name='plugins/accessible/libqtaccessiblewidgets.so', never load
- library: name='plugins/sqldrivers/libqsqlite.so', never load
- adding 'libqtjambi.so' to library map
- library: name='lib/libqtjambi.so',
- adding 'libcom_trolltech_qt_core.so' to library map
- library: name='lib/libcom_trolltech_qt_core.so',
- adding 'libcom_trolltech_qt_gui.so' to library map
- library: name='lib/libcom_trolltech_qt_gui.so',
- adding 'libcom_trolltech_qt_xml.so' to library map
- library: name='lib/libcom_trolltech_qt_xml.so',
- adding 'libcom_trolltech_qt_sql.so' to library map
- library: name='lib/libcom_trolltech_qt_sql.so',
- adding 'libcom_trolltech_qt_svg.so' to library map
- library: name='lib/libcom_trolltech_qt_svg.so',
- adding 'libcom_trolltech_qt_network.so' to library map
- library: name='lib/libcom_trolltech_qt_network.so',
- adding 'libcom_trolltech_qt_opengl.so' to library map
- library: name='lib/libcom_trolltech_qt_opengl.so',
- adding 'libcom_trolltech_qt_phonon.so' to library map
- library: name='lib/libcom_trolltech_qt_phonon.so',
- adding 'libcom_trolltech_qt_webkit.so' to library map
- library: name='lib/libcom_trolltech_qt_webkit.so',
- adding 'libcom_trolltech_qt_xmlpatterns.so' to library map
- library: name='lib/libcom_trolltech_qt_xmlpatterns.so',
- plugin path='plugins'
- using cache directory: '/tmp/QtJambi_tante_amd64_4.5.2_01_gcc-20090628-2055'
- cache directory exists
Loading library: 'libQtCore.so.4'...
- using deployment spec

at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(NativeLibraryManager.java:431)
at com.trolltech.qt.internal.NativeLibraryManager.loadQtLibrary(NativeLibraryManager.java:355)
at com.trolltech.qt.Utilities.loadQtLibrary(Utilities.java:140)
at com.trolltech.qt.Utilities.loadQtLibrary(Utilities.java:136)
at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(QtJambi_LibraryInitializer.java:56)
... 1 more
Caused by: java.lang.UnsatisfiedLinkError: /tmp/QtJambi_tante_amd64_4.5.2_01_gcc-20090628-2055/lib/libQtCore.so.4: /tmp/QtJambi_tante_amd64_4.5.2_01_gcc-20090628-2055/lib/libQtCore.so.4: failed to map segment from shared object: Operation not permitted
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825)
at java.lang.Runtime.load0(Runtime.java:792)
at java.lang.Runtime.load(Runtime.java:780)
at com.trolltech.qt.internal.NativeLibraryManager.loadLibrary_helper(NativeLibraryManager.java:458)
at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(NativeLibraryManager.java:426)
... 5 more

Java Version:
java version "1.7.0_09-icedtea"
OpenJDK Runtime Environment (fedora-2.3.5.3.fc18-x86_64)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

Kernel:
3.7.8-202.fc18.x86_64

Discussion

  • Make sure your /tmp directory is not mounted as noexec. Jambi requires the ability to exec from the /tmp directory.

     
  • tante
    tante
    2013-04-02

    Making /tmp mounted without noexec fixes the issue. Thank you.

    Would it be possible to move Jambi somewhere else? Many distributions mount /tmp noexec as a security feature.

     
    • status: open --> closed
     
  • I don't know. I didn't make the requirement, I just live by it. :-)

    NixNote 2 is removing Jambi, so long term it won't be a requirement.

    Gad it fixed the problem.