ELAN 4.4 in Ubuntu 12.04

Hi there!

I saw that there were a few threads about ELAN on Linux. I tried a few things and ELAN still blocks on “Initializing…” for ages after I try starting a new project (with a 15 mb .wav file, with the extension in lowercase).

What I use:

  • Samsung N310 netbook
  • Ubuntu 12.04
  • 32 bits architecture
  • I used the installer without JRE as I already have OpenJDK Java 6 Runtime

How ELAN installed:
The log reported 1 warning and 1 Non Fatal Error.

  • Error:
    Custom Action: mpi.ia.install.CopyAndRenameAction
    Status: ERROR
    Additional Notes: ERROR - class mpi.ia.install.CopyAndRenameAction NonfatalInstallException Copy error occurred!

  • Warning:
    Create Link: /home/chtfn/ELAN_4.4.0
    Status: WARNING
    Additional Notes: WARNING - Link had same name as an existing file. Prepending ‘run’ to the link’s name

The error has been reported before (for example in )
The warning is obviously not a problem.

What I did to try to make it usable:

  • I installed libstdc++5 (before installing ELAN)

  • I fixed the path to libc.so.6 as ELAN couldn’t find it when launched (error message: "strings: ‘/lib/libc.so.6’: No such file "), by creating a symlink. I typed in a terminal:

ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6

There was no more error message about libc.so.6 after that.

But I am still getting stuck in the “Initializing…” state when I try to load a .wav file.

Here is what I get in the terminal:

raw jre dir: /usr/lib/jvm/java-6-openjdk-i386/jre/
jre dir: /usr/lib/jvm/java-6-openjdk-i386/jre/
LD_LIBRARY_PATH: /home/chtfn/ELAN_4.4.0/jmf__Vlin2.1.1fcs:/usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386:/usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386/xawt:/usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386/client:
LD_PRELOAD:
178.329First Position: 0, -1 Duration: 178328

The last line I get when I try to open the .wav file.

Does ELAN 4.4 still depend on Fobs4JMF (http://sourceforge.net/projects/fobs/)? I hope it doesn’t, as the last version for linux is from 2007 and it sounds very obsolete… And I have no idea how to compile it…

Any ideas?

Thanks a lot!

There are several known problem with media playback on Linux; we need to utilize a new player framework to replace JMF (even more obsolete than Fobs).
About the first error: the installer tries to copy a few libraries for input methods to the Java jre/lib/ext folder and probably has no permission for that.
I don’t understand what exactly goes wrong, but you might try to replace the fobs extension for jmf so that you have the original jmf and see if that works. There should be some instructions in a text file in the install folder?

-Han

Hi Han! Thanks for you quick answer.

About Fobs and JMF, I don’t quite understand what you mean. I didn’t get to install Fobs4JMF because I am too scared to try and compile it, and the Ubuntu Software Centre doesn’t give any option when “Fobs” or “JMF” are searched.
Do you mean the install folder of Fobs4JMF or the install folder of ELAN 4.4? The “Media Playback Read Me.txt” in the home ELAN folder only says:

Cheers

I’m sorry, I was unclear and mistaken. First of all, the jmf version that comes with ELAN includes Fobs4JMF. I assumed that the Read Me text file included hints on how to remove the fobs part, but that isn’t true (I didn’t have it at hand). On second thought I doubt whether fobs is the problem (to remove it, remove from the “jmf__Vlin2.1.1fcs” folder in the ELAN install folder the files: fobs4jmf.jar, jmf.jar and libfobs4jmf.so and copy jmf.jar from lib/sunjmf to the jmf__Vlin2.1.1fcs folder).
There are no clear errors in your terminal, I’m wondering whether the .wav file might not be supported? Did or can you try with e.g. the wav file from the ELAN download page?

-Han

Thank you for your help, Han.

I tried the .wav file from the ELAN download page (elan-example1.wav), and I get the same problem, stuck on “Initializing…”, with this in the terminal:

Even waiting for around one hour, this stays the same.

I tried with the video too (elan-example1.mpg) and I get this in the terminal:

I tried to remove Fobs and copy jmf.jar from sunjmf but I also get stuck on “Initializing…” when trying to open the .wav example, with a different error message in the terminal however:

I also tried the full version of the installer (“when no Java has been installed yet”) but I get an error when starting it, so I can’t install this version:

chtfn@chtfn-N310:~/Downloads$ sudo chmod +x ELAN_440_linux_install.bin
[sudo] password for chtfn:
chtfn@chtfn-N310:~/Downloads$ sudo ./ELAN_440_linux_install.bin
Preparing to install…
Extracting the JRE from the installer archive…
Unpacking the JRE…
Extracting the installation resources from the installer archive…
Configuring the installer for this system’s environment…
raw jre dir: /tmp/install.dir.6300/Linux/resource/jre/
jre dir: /tmp/install.dir.6300/Linux/resource/jre/
LD_LIBRARY_PATH:
LD_PRELOAD:

Launching installer…

/tmp/install.dir.6300/Linux/resource/jre/bin/java: 1: /tmp/install.dir.6300/Linux/resource/jre/bin/java: Syntax error: “(” unexpected

Any idea what this problem could come from?

I don’t know why the version without jre can’t play a wav file yet. The version with a jre contains a 64-bit jre (and I just realized that you have a 32 bit system). So the solution should be found in the without jre version. Maybe with a separately installed clean JMF? Maybe you can try to launch with the /bin/Elan_Linux_4-4-0.sh script and use different settings (no idea which though)?

-Han

Dear all,

I’m having the exact same problem right now. I just installed the new ELAN, had the same non-fatal error described above, and I also am using Ubuntu 12.04. Could it be that the non-fatal error has something to do with it being stuck on “initializing”? I left it on all night, and it doesn’t seem to need time to load, because it was still like this when I woke up. I in fact can’t close the program.

I am somewhat new to Ubuntu, but I will try to follow the procedures you just outlined, and then I will report back to tell you if I am successful.

Cheers,
Jonatin

Dear all

Running the /bin/Elan_Linux_4-4-0.sh fallback script doesn’t do anything at all. Simply running it doesn’t do anything, running it in a terminal lets the terminal appear for a second only.

Jonatin, you can try to run Elan chosing “Run in Terminal” to see what it reports, that might help to see if we have the exact same problem.

Cheers

Creating a player shouldn’t take more than a minute, so if it is still stuck in “Initialising…” then something went wrong.
If you have to quit the program because it doesn’t respond anymore, you can have a look in the logs in the folder <user_home>/.elan_data/elan0.log (or elan1.log etc. depending on the timestamp). As long as the program is responding, you can also see the log via View->View Log…

The real point on Linux is that we have to implement a media player based on a different framework than JMF. (But that will take a while).

-Han

This is the log I get without changing anything to the install:


@ELAN Launched

31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: ELAN 4.4.0
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: Java home: /usr/lib/jvm/java-6-openjdk-i386/jre
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: Java version: 1.6.0_24
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: Runtime version: 1.6.0_24-b24
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: OS name: Linux
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: OS version: 3.2.0-29-generic-pae
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: User language: en
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: User home: /home/chtfn
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: User dir: /home/chtfn/elan
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: Classpath: /home/chtfn/elan/lib/elan.jar:/home/chtfn/elan/lib/mpi-util-1.0.0.jar:/home/chtfn/elan/lib/mfsearch-1.3.1.jar:/home/chtfn/elan/lib/help.zip:/home/chtfn/elan/jmf__Vlin2.1.1fcs/jmf.jar:/home/chtfn/elan/jmf__Vlin2.1.1fcs/sound.jar:/home/chtfn/elan/Do Not Install/custom/copyandrename.jar:/home/chtfn/elan/jmf__Vlin2.1.1fcs/fobs4jmf.jar:/home/chtfn/elan/lib/jhall-2.0.0.5.jar:/home/chtfn/elan/lib/xalan-2.4.1.jar:/home/chtfn/elan/lib/xercesImpl-2.9.0.jar:/home/chtfn/elan/ext/nl.mpi.gim__V04.jar:/home/chtfn/elan/ext/nl.mpi.guk__V07.jar:/home/chtfn/elan/ext/nl.mpi.lookup.CJKV__V03.jar:/home/chtfn/elan/ext/nl.mpi.lookup.IPA__V04.jar:/home/chtfn/elan/ext/nl.mpi.lookup__V09.jar:/home/chtfn/elan/lib/log4j-1.2.14.jar:/home/chtfn/elan/lib/hsqldb-1.8.0.7.jar:/home/chtfn/elan/lib/batik-1.1.1.jar:/home/chtfn/elan/lib/jlfgr-1.0.jar:/home/chtfn/elan/lib/JavaQTMovieView-1.4.2.jar:/home/chtfn/elan/lax.jar:
31/07/2012 4:07:50 PM mpi.eudico.client.annotator.ELAN main
INFO: Library path: /usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386/server:/usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386:/usr/lib/jvm/java-6-openjdk-i386/jre/…/lib/i386:/home/chtfn/elan/jmf__Vlin2.1.1fcs:/home/chtfn/elan/jre/lib/i386:/home/chtfn/elan/jre/lib/i386/xawt:/home/chtfn/elan/jre/lib/i386/client::/usr/java/packages/lib/i386:/usr/lib/i386-linux-gnu/jni:/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu:/usr/lib/jni:/lib:/usr/lib
31/07/2012 4:07:53 PM mpi.eudico.client.annotator.prefs.PreferencesReader parse
INFO: Reading preferences: /home/chtfn/.elan_data/elan.pfsx
External updater thread started
31/07/2012 4:07:54 PM mpi.eudico.client.annotator.prefs.PreferencesReader parse
WARNING: Preferences file does not exist: /home/chtfn/.elan_data/shortcuts.pfsx
31/07/2012 4:08:05 PM mpi.eudico.client.annotator.prefs.PreferencesWriter encodeAndSave
INFO: Writing preferences: /home/chtfn/.elan_data/elan.pfsx
Using JMF Media Player for file:///home/chtfn/Downloads/elan-example1.mpg
current library path:
/usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386/server:/usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386:/usr/lib/jvm/java-6-openjdk-i386/jre/…/lib/i386:/home/chtfn/elan/jmf__Vlin2.1.1fcs:/home/chtfn/elan/jre/lib/i386:/home/chtfn/elan/jre/lib/i386/xawt:/home/chtfn/elan/jre/lib/i386/client::/usr/java/packages/lib/i386:/usr/lib/i386-linux-gnu/jni:/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu:/usr/lib/jni:/lib:/usr/lib
loading Linux native libs…
jmutil loaded
jawt loaded
.
.
.
.
.
.
.
.
.
.
jmmpegv loaded
.
mediaURL = file:///home/chtfn/Downloads/elan-example1.mpg
Fobs4JMF - Native shared library found
Fobs Java2DRenderer: setInputFormat
Fobs Java2DRenderer: setInputFormat
Exception in thread “JMF thread: com.sun.media.PlaybackEngine@18bbb61 ( prefetchThread)” java.lang.NullPointerException
at mpi.eudico.client.annotator.player.FixedJavaSoundRenderer$1.setGain(FixedJavaSoundRenderer.java:37)
at com.sun.media.renderer.audio.AudioRenderer.initDevice(AudioRenderer.java:298)
at com.sun.media.renderer.audio.JavaSoundRenderer.initDevice(JavaSoundRenderer.java:125)
at com.sun.media.renderer.audio.JavaSoundRenderer.open(JavaSoundRenderer.java:91)
at com.sun.media.BasicRendererModule.doPrefetch(BasicRendererModule.java:157)
at com.sun.media.BasicTrackControl.prefetchTrack(BasicTrackControl.java:98)
at com.sun.media.PlaybackEngine.doPrefetch1(PlaybackEngine.java:592)
at com.sun.media.PlaybackEngine.doPrefetch(PlaybackEngine.java:547)
at com.sun.media.PrefetchWorkThread.process(BasicController.java:1430)
at com.sun.media.StateTransitionWorkThread.run(BasicController.java:1339)
31/07/2012 4:24:30 PM mpi.eudico.client.annotator.ELAN main
INFO:


and the last bit is different after removing Fobs:


mediaURL = file:///home/chtfn/Downloads/elan-example1.wav
Unable to handle format: LINEAR, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 176400.0 frame rate, FrameSize=32 bits
Failed to prefetch: com.sun.media.PlaybackEngine@39be68
Error: Unable to prefetch com.sun.media.PlaybackEngine@39be68


Does that say anything?

Cheers

Well, it says something.
I don’t know if it will help, but I made a little change in the “FixedJavaSoundRenderer” that you see in the fobs-based error message. If you download the file

http://www.mpi.nl/tools/elan/atemp/elan.jar

and replace the elan.jar file in the <install_folder>/lib folder with this one, we can see if this makes a difference. (I don’t get the same error, so I can’t test it myself.)

-Han

Dear all

I replaced /lib/elan.jar in a fresh install by the file provided by Han, and… it works! I can get the two examples from the ELAN download page working! I tried the .wav and the .mpg files seperately for the moment.

I will let you know how I go with further tests, but for the moment it looks pretty good!

Thank you so much for this, Han.

If Jonatin can confirm that this fixes it for him too, could this fix be pushed into the linux install file?

Stéphane

Hi all,

It works!!! I don’t have any issues, so far, and the .wav files that I currently am working on were recorded myself!~

Thank you very much! I marvel at what goes behind these things, some times. Hopfeully I can join you in the open-source programming community sometime in the future!

-Jonatin

Thanks, good to hear. A new version for Linux (4.4.1) is now available for download.

-Han