Ticket #865 (closed defect: fixed)

Opened 7 years ago

Last modified 6 years ago

Problems with java in the web activity

Reported by: joaoboscoapf Owned by: cjb
Priority: high Milestone: Not Triaged
Component: distro Version:
Keywords: java relnote Cc: joaoboscoapf, walter
Action Needed: never set Verified: no
Deployments affected: Blocked By:
Blocking:

Description

I installed Java on the laptop, wishing to run Java Applets but it didn't work.

The procedure to install Java was:

  • Download Java JRE (JSE6)
  • Install it
  • Make a symbolic link: ln -s /usr/java/jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/xulrunner-1.8.0.4/plugins/

The output error is:

LoadPlugin: failed to initialize shared library libXt.so [libXt.so: cannot open shared object file: No such file or directory]
LoadPlugin: failed to initialize shared library libXext.so [libXext.so: cannot open shared object file: No such file or directory]
LoadPlugin: failed to initialize shared library /usr/java/jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so [/usr/java/jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so: undefined symbol: _ZTVN10__cxxabiv121__vmi_class_type_infoE]
LoadPlugin: failed to initialize shared library /usr/java/jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so [/usr/java/jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so: undefined symbol: _ZTVN10__cxxabiv121__vmi_class_type_infoE]

Although Java probably will be not shipped by default, I think it is important that the browser supports it.

I used a Q2B43 / 239 build laptop.

ps: To get the output I opened the developer's console and executed the following command:

sugar-activity-factory webactivity.WebActivity /usr/share/activities/Web.activity 

Change History

  Changed 7 years ago by jg

  • milestone changed from Untriaged to BTest-3

Ugh.... It is unfortunate that Java is liked against Xt at this date. For the moment, you should package it in a java package; we don't want to carry it in the base system.

Libext, however, should be in our base system; if it is not, please open a separate track entry for it and assign it to J5. There are a number of classic X extensions that depend on that library.

The old java toolkit (I forget its name) used Xt on UNIX/Linux; the more current toolkit uses GTK+. I wonder if the Xt dependency is still needed (though it may be an artifact of wanting to run old Java applets using the old java toolkit, in which we may be stuck.

  Changed 7 years ago by jg

  • owner changed from blizzard to cjb
  • priority changed from normal to high
  • milestone changed from BTest-3 to Trial-1

Please verify we have the proper dependencies in the base image for java as soon as you can.

  Changed 7 years ago by cjb

  • status changed from new to closed
  • resolution set to fixed

The latest JDK works fine here, after installing compat-libstdc++-33 (which is now in our builds). I suspect that the libXt errors quoted above weren't fatal.

  Changed 7 years ago by jg

Probably only affects people using SWT, if I remember the acronym of the original Java toolkit correctly. The first one was Xt based.

  Changed 7 years ago by cayhorstmann

  • status changed from closed to reopened
  • resolution deleted
  • milestone changed from Trial-1 to Retriage, Please!

Unfortunately, this is not working on the December production machine. I installed compat-libstdc++-33, after which I got Java to work. (It doesn't work with Sugar, but that's another story. I can ssh -X into the OLPC and run Java applications).

However, the browser continues to fail to load the plugin. I got rid of the shared library warning by making symlinks

/usr/lib/libXt.so -> libXt.so.6 /usr/lib/libXext.so -> libXext.so.6

Now I am left with a single error message in /home/olpc/.sugar/default/logs/org.laptop.WebActivity-1.log

LoadPlugin: failed to initialize shared library /usr/java/jre1.6.0_03/plugin/i386/ns7/libjavaplugin_oji.so undefined symbol: _ZTVN10__cxxabiv121__vmi_class_type_infoE

follow-up: ↓ 7   Changed 7 years ago by jg

  • cc walter added
  • status changed from reopened to closed
  • verified unset
  • resolution set to wontfix

http://wiki.laptop.org/go/Restricted_Formats#Sun_Java

Documents that jre-6u3 does not work....

in reply to: ↑ 6   Changed 6 years ago by ggoebel

  • status changed from closed to reopened
  • resolution deleted

Replying to jg:

http://wiki.laptop.org/go/Restricted_Formats#Sun_Java Documents that jre-6u3 does not work....

jre-1.5.0-13 doesn't work either. See http://dev.laptop.org/ticket/6465

I'm a bit frustrated. Apologies up front if that leaks out between the lines. I've been banging my head against this problem all morning.

As a first step, someone ought to document that the java plugin for the browser doesn't work... not just jre-6u3. Can anyone confirm that the java browser plugin has _ever_ worked?

As a second step, it'd be nice if someone could look into making the java browser plugin work instead of stopping at documenting that it doesn't.

Info on the symbol _ZTVN10cxxabiv121vmi_class_type_infoE can be found in the Linux Foundation LSB Database Navigator: https://www.linux-foundation.org/dbadmin/browse/int_single.php?cmd=list-by-name&Istd=87&Iname=_ZTVN10__cxxabiv121__vmi_class_type_infoE

Which shows that it is part of libstdc++.so.6... Which is where I stop, scratch my head and hope that someone knows what this means, because I'm all out of ideas.

Perhaps the problem isn't with Sun Java... but with a non-LSB compliant libstdc++ that the OLPC is providing?

  Changed 6 years ago by ggoebel

I need to retract my frustrated comment about a non-LSB compliant libstdc++

I did a:

cat /usr/lib/libstdc++.so.5 | grep _ZTVN10cxxabiv121vmi_class_type_infoE

and

cat /usr/lib/libstdc++.so.6 | grep _ZTVN10cxxabiv121vmi_class_type_infoE

and both gave:

Binary file (standard input) matches

Any thoughts on why this symbol is undefined? Is it look for libstdc++.so.[something else]?

  Changed 6 years ago by ggoebel

  • next_action set to never set

The java plug-in appears to now be working in the Web.Activity if you install java-1.6.0-openjdk-plugin on a recent 8.2.0 release candidate or joyride build. I used 8.2-756.

It does not work for me with the Firefox activity.

Cheers to whoever was responsible for making installing the java plugin as simple as:

sudo yum -y install java-1.6.0-openjdk-plugin

  Changed 6 years ago by cjb

  • keywords java relnote added; java, web, browser removed
  • status changed from reopened to closed
  • resolution set to fixed

Greg, we should relnote these Java instructions and put them on the wiki's Java page somewhere.

Note: See TracTickets for help on using tickets.