Opera10 64bit Java fix for SBO slackbuild.
I was just trying out the slackbuilds.org build for Opera10 and found that it wouldn't run any java on my Slack64 13.0 box.
I used this page to test it. (Sun's example 'Clock' applet) Anyway, I tracked the issue down and came up with a patch which I'll throw up here in case anyone else is interested. Code:
# diff -u opera.SlackBuild.orig opera.SlackBuild If you don't want to rebuild, then adding export OPERA_JAVA_DIR="/usr/lib64/java/lib/amd64" to your bash profile will also resolve the issue. Hope someone finds this useful. G. |
Let the maintainer know!
You ought to email Robby Workman, as he is the maintainer of this build. I noticed the same thing yesterday and I've been using this Slackbuild since it was submitted, before it was generally available.
When I updated the script, for Opera 10 on Slackware 12.2, I let him know. They normally do not maintain the older versions, only current versions because of their work load. However, I posted the script on the mailing list and on my web site: http://raescott.net My point being... I found Robby to be very friendly and open about the whole thing and I'm sure he'd be more than happy to include your fix for this. He had told me that Opera was not his primary browser so I'm sure he was not aware of the problem. Opera *is* my primary browser and I only discovered this yesterday! Applets aren't on very many sites anymore. My discovery was when I visited http://time.gov |
Yep, I'll drop him a note when I'm happy with it. I still need to check a few other things, like the spellchecking which doesn't seem to be working, so there may be further changes.
|
As luck would have it, I just compiled opera 10 from slackbuilds.org about an hour before I saw this thread. So I added:
export OPERA_JAVA_DIR="/usr/lib64/java/lib/AMD64" to my .bash_profile and it worked like a charm. Now time.gov works again, thanks. Hopefully Rob W will add this patch to his slackbuild. |
Quote:
-case $0 in /*) OPERA_SCRIPT_PATH=$0;; *) OPERA_SCRIPT_PATH=/tmp/SBo/opera-10.00-4585.gcc4-qt4.x86_64/$0;; esac +case $0 in /*) OPERA_SCRIPT_PATH=$0;; *) OPERA_SCRIPT_PATH=$PWD/${0#./};; esac |
Doing sed -i -e "s:i386:amd64:" $PKG/usr/bin/opera is enough for opera running java on my box.
|
Quote:
Since then I've tracked the original problem back to what Opera actually did wrong. They forgot to escape some backquotes in the part of install.sh that generates the /usr/bin/opera wrapper file. They meant to insert a literal `/bin/pwd` but instead insert the pwd of the build directory. To follow their intentions, the correct fix to include in the slackbuild should probably be... Code:
# Fix a bug in install.sh that resulted in the build directory being included in /usr/bin/opera ( P.S. figuring out all those escapes was a right pain. :) ) I think my first solution is actually cleaner than theirs as theirs results in OPERA_SCRIPT_PATH=/usr/bin/./opera when the wrapper is run with ./opera where as mine strips the ./ off and avoids an unnecessary external call to /bin/pwd. However, for the purpose of the slackbuild, it's probably better to stick as closely to their intentions as possible, so you might prefer to use this second approach. I still haven't gotten to the bottom of the opera spell checker not working on my system. :( |
Quote:
Just for the sake of completeness, have you reported this to the opera folks? I'd like to see both of these issues fixed in their next release... Quote:
|
I've reported the extract/build-directory getting hard coded bug to Opera via their bug report wizard thingy.
I've not reported the Java path, as to be honest, I didn't feel qualified enough to say whether it's an opera bug or just a side effect of where Slackware installs the JRE. |
Okay, I just pushed this changeset out to our repo.
I suspect that our java installation is correct and thus the Java PATH issue is an upstream problem too, especially since "i386" is hardcoded in the 64bit builds - IOW, that's probably worth at least mentioning to them. |
All times are GMT -5. The time now is 01:05 AM. |