LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices



Reply
 
Search this Thread
Old 05-26-2012, 02:46 AM   #1
TracyTiger
Member
 
Registered: Apr 2011
Location: California, USA
Distribution: Slackware
Posts: 304

Rep: Reputation: 77
MULTILIB - convertpkg-compat32 edit of jdk doinst.sh causes error (Slack 64 current)


MULTILIB is new to me and I have a question on the editing that the convertpkg-compat32 program performs on the doinst.sh files.

On the Alien Bob multilib wiki (http://alien.slackbook.org/dokuwiki/...kware:multilib) a note is made to ignore installation errors regarding /etc files...

Quote:
When installing the compat32 packages you will notice that some will show errors about missing files in /etc. This is “by design”, and these errors can be ignored. These messages are caused by the fact that files in /etc are removed from a ”-compat32” package during conversion
I found that running the convertpkg-compat32 program on the jdk package in /extra results in an install script error. The before and after version of the install script is shown below.


doinst.sh before conversion.

Code:
# Clean up a potential upgrade mess caused by changing the
# installation directory to /usr/lib/java/:
if [ -L usr/lib/java ]; then
  rm -rf usr/lib/java
  mkdir -p usr/lib/java/man
  mkdir -p usr/lib/java/jre/lib/i386/server
  mkdir -p usr/lib/java/jre/lib/i386/client
  mkdir -p usr/lib/java/jre/javaws
  mkdir -p usr/lib/java/jre/bin
  mkdir -p usr/lib/java/bin
  mkdir -p usr/lib/mozilla/plugins
fi
if [ -L ControlPanel ]; then
  rm -f ControlPanel
fi
if [ -L ja ]; then
  rm -f ja
fi
if [ -L javaws ]; then
  rm -f javaws
fi
if [ -L libjsig.so ]; then
  rm -f libjsig.so
fi
# End cleanup.
( cd usr/lib/mozilla/plugins ; rm -rf libnpjp2.so )Should I be concerned that the changes made by convertpkg-compat32 may cause problems?
( cd usr/lib/mozilla/plugins ; ln -sf /usr/lib/java/jre/lib/i386/libnpjp2.so libnpjp2.so )
( cd usr/lib/java/bin ; rm -rf ControlPanel )
( cd usr/lib/java/bin ; ln -sf ./jcontrol ControlPanel )
( cd usr/lib/java/man ; rm -rf ja )
( cd usr/lib/java/man ; ln -sf ja_JP.eucJP ja )
( cd usr/lib/java/jre/bin ; rm -rf ControlPanel )
( cd usr/lib/java/jre/bin ; ln -sf ./jcontrol ControlPanel )
( cd usr/lib/java/jre/lib/i386/server ; rm -rf libjsig.so )
( cd usr/lib/java/jre/lib/i386/server ; ln -sf ../libjsig.so libjsig.so )
( cd usr/lib/java/jre/lib/i386/client ; rm -rf libjsig.so )
( cd usr/lib/java/jre/lib/i386/client ; ln -sf ../libjsig.so libjsig.so )
( cd usr/lib/java/jre/javaws ; rm -rf javaws )
( cd usr/lib/java/jre/javaws ; ln -sf ../bin/javaws javaws )
( cd usr/lib ; rm -rf libjvm.so )
( cd usr/lib ; ln -sf ./java/jre/lib/i386/server/libjvm.so libjvm.so )
( cd usr/lib ; rm -rf jdk1.6.0_27 )
( cd usr/lib ; ln -sf java jdk1
doinst.sh after conversion.

Code:
# installation directory to /usr/lib/java/:
if [ -L usr/lib/java ]; then
  rm -rf usr/lib/java
  mkdir -p usr/lib/java/man
  mkdir -p usr/lib/java/jre/lib/i386/server
  mkdir -p usr/lib/java/jre/lib/i386/client
  mkdir -p usr/lib/java/jre/javaws
  mkdir -p usr/lib/java/jre/bin
  mkdir -p usr/lib/java/bin
  mkdir -p usr/lib/mozilla/plugins
( cd usr/lib/mozilla/plugins ; rm -rf libnpjp2.so )
( cd usr/lib/mozilla/plugins ; ln -sf /usr/lib/java/jre/lib/i386/libnpjp2.so libnpjp2.so )
( cd usr/lib/java/bin ; rm -rf ControlPanel )
( cd usr/lib/java/bin ; ln -sf ./jcontrol ControlPanel )
( cd usr/lib/java/man ; rm -rf ja )
( cd usr/lib/java/man ; ln -sf ja_JP.eucJP ja )
( cd usr/lib/java/jre/bin ; rm -rf ControlPanel )
( cd usr/lib/java/jre/bin ; ln -sf ./jcontrol ControlPanel )
( cd usr/lib/java/jre/lib/i386/server ; rm -rf libjsig.so )
( cd usr/lib/java/jre/lib/i386/server ; ln -sf ../libjsig.so libjsig.so )
( cd usr/lib/java/jre/lib/i386/client ; rm -rf libjsig.so )
( cd usr/lib/java/jre/lib/i386/client ; ln -sf ../libjsig.so libjsig.so )
( cd usr/lib/java/jre/javaws ; rm -rf javaws )
( cd usr/lib/java/jre/javaws ; ln -sf ../bin/javaws javaws )
( cd usr/lib ; rm -rf libjvm.so )
( cd usr/lib ; ln -sf ./java/jre/lib/i386/server/libjvm.so libjvm.so )
( cd usr/lib ; rm -rf jdk1.6.0_27 )
( cd usr/lib ; ln -sf java jdk1.6.0_27 )
The difference in the scripts was brought to my attention by the script error message (syntax error in line 29) due to missing closing 'fi'. Configuration files in /etc don't appear to be involved in this case.

Should I be concerned that the changes made by convertpkg-compat32 may cause problems? Or do the modifications made by convertpkg-compat32 never cause problems and I should ignore errors even when /etc config files are not involved?

Thanks.
 
Old 05-26-2012, 03:53 AM   #2
Cultist
Member
 
Registered: Feb 2010
Location: Chicago, IL
Distribution: Slackware64 14.1
Posts: 777

Rep: Reputation: 102Reputation: 102
They most likely will not cause problems.

When you convert a package to a 32-bit compatibility package, you're creating a new package to install alongside the original. So you'll have your original 64-bit jdk, and then a separate 32-bit jdk-compat32 package which is its own entity. So even if the conversion process causes a problem, you can just remove the compat32 package like any other package, and worst case scenario you're back to where you're at now.
 
Old 05-26-2012, 05:08 AM   #3
phenixia2003
Member
 
Registered: May 2006
Location: France
Distribution: Slackware
Posts: 299

Rep: Reputation: 179Reputation: 179
Hello,

I looked at this and I think that convertpkg-compat32 should give
more attention to the jdk package to not break the doinst.sh as
it does.

Indeed, the grep used by convertpkg-compat32 to process the doinst.sh
from the JDK leaves the line "if [ -L usr/lib/java ] " because it
contains the pattern "lib", but as the line that ends this "if"
does not contains any of the searched pattern (i.e: usr/bin |lib |lib/),
the "if" is left unclosed and all commands that was outside this "if"
become inside of it, and will never be executed, thus, all the symlinks
that should be created, will not.

However, I'm wondering why you need the 32-bit version of the jdk ? Are
you using something so specific that the 64-bit jdk can't be used ?

--
SeB
 
Old 05-26-2012, 09:48 AM   #4
TracyTiger
Member
 
Registered: Apr 2011
Location: California, USA
Distribution: Slackware
Posts: 304

Original Poster
Rep: Reputation: 77
Quote:
Originally Posted by phenixia2003 View Post
However, I'm wondering why you need the 32-bit version of the jdk ? Are
you using something so specific that the 64-bit jdk can't be used ?
I just started to install VirtualBox on Slack64-current and Slackbuilds notes showed jdk as a requirement.
 
Old 05-26-2012, 10:09 AM   #5
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 5,393

Rep: Reputation: Disabled
Quote:
Originally Posted by Tracy Tiger View Post
I just started to install VirtualBox on Slack64-current and Slackbuilds notes showed jdk as a requirement.
The 64-bit JDK is fine for that. No need to convert 32-bit JDK package using my script.

The required effort to modify the script to parse a doinst.sh script faultlessly is just too extreme. Ignore the installation error, it does not hurt your system.

Eric
 
Old 05-26-2012, 10:30 AM   #6
TracyTiger
Member
 
Registered: Apr 2011
Location: California, USA
Distribution: Slackware
Posts: 304

Original Poster
Rep: Reputation: 77
Lightbulb Okay to Ignore Errors

Thanks Eric. I'll ignore the errors found with doinst.sh when using convertpkg-compat32.

Thanks to Cultist & phenixia203 for your responses.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
upgrading slackware64 13.1 multilib to slackware64 -current multilib Cultist Slackware 4 03-12-2011 10:04 AM
[SOLVED] Google Talk Plugin, Slackware64-Current, Google Chrome (Latest) and Multilib - Error Gavin Harper Slackware 3 01-04-2011 08:45 AM
[SOLVED] compat32-packages for Slackware64 13.1 multilib integrale16 Slackware 4 10-03-2010 02:32 PM
[SOLVED] Slackpkg, running current and multilib, do the compat32 files need to be blacklisted? damgar Slackware 2 04-27-2010 08:43 AM
slackware-current 64 multilib portia Slackware 9 12-28-2009 11:08 AM


All times are GMT -5. The time now is 01:19 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration