Thursday, November 14, 2013

Stupid Java Error: java.lang.NoClassDefFoundError: java.awt.Container

I got this while trying to install the LDS Chruch Indexing for FamilySearch software on Xubuntu 13.10, turns out it is 64 bit Ubuntu problem:

java.lang.NoClassDefFoundError: java.awt.Container
    at com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor.init(Unknown Source)
    at com.install4j.runtime.installer.frontend.headless.ConsoleScreenExecutor.(Unknown Source)
    at com.install4j.runtime.installer.frontend.headless.InstallerConsoleScreenExecutor.(Unknown Source)
    at com.install4j.runtime.installer.Installer.getScreenExecutor(Unknown Source)
    at com.install4j.runtime.installer.Installer.runInProcess(Unknown Source)
    at com.install4j.runtime.installer.Installer.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
    at com.install4j.runtime.launcher.Launcher.main(Unknown Source)


Although this topic seemed to help,  ia32-libs is obsolete and the suggested replacements (lib32z1 lib32ncurses5 lib32bz2-1.0) do not have the "right stuff".

Seems like the installer wants its own version of Java that is pre-1.7.  This version wants some (a lot) extra 32 bitty stuff:

sudo apt-get update

sudo apt-get install libgtk2.0-0:i386 libxtst6:i386

sudo apt-get install libxtst6:i386

sudo apt-get install libx11-dev:i386

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
sudo apt-get install libxi6 libxtst6 libxrender1
        ./Indexing_unix.sh -J-Djava.awt.headless=true
    

Seemed to do the trick.

9 comments:

Pieter Veldman said...

That was very helpful, thanks. What does "-J-Djava.awt.headless=true" do?

Pieter Veldman said...

That was very helpful, thanks! What does "-J-Djava.awt.headless=true" do?

Matthew O. Smith said...

Start Java without a GUI enabled, strctly command line. In this instance, the installer can be run without a GUI which save on some missing dependencies.

Pieter Veldman said...

It did create an Icon on my Desktop, but when I try to run it nothing happens. I tried running it from command line and nothing happened(Not even an error message). Ubuntu 13.10 64 bits and Oracle Java 64 bits here.

Kade Price said...

Same boat at Pieter. Using same OS. Gnome 3.8. Got it installed but nothing happens when executing icon, or CLI.

Carla June Carroll said...

THANK YOU for finally letting me index! I couldn't find a solution anywhere until now. Maybe you can put "FamilySearch" on this page so people can find it while googling "Ubuntu 13.10 FamilySearch Indexing". Again, thank you!

Chris said...

Same issue - nothing happens when I try to open it. Seems like install went okay. Anyone found any solutions to this?

John said...

These instructions worked great. Thank you very much.

Daniel Sancho said...

Thanks a lot. Very useful.